X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkstylepropertyprivate.h;h=a92afdc36a0783ce57968cdc0f5f7e17c2f3bb93;hb=dc331ccb171151d737112d8dc55b25709271d2c7;hp=07994d5f2620700d3a66c70631e979068d0a6a97;hpb=c09148ca09081cd009cb9a328441b4b43008e352;p=~andy%2Fgtk diff --git a/gtk/gtkstylepropertyprivate.h b/gtk/gtkstylepropertyprivate.h index 07994d5f2..a92afdc36 100644 --- a/gtk/gtkstylepropertyprivate.h +++ b/gtk/gtkstylepropertyprivate.h @@ -12,9 +12,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ #ifndef __GTK_STYLEPROPERTY_PRIVATE_H__ @@ -22,88 +20,69 @@ #include "gtkcssparserprivate.h" #include "gtkstylecontextprivate.h" +#include "gtkcssvalueprivate.h" G_BEGIN_DECLS -typedef struct _GtkStyleProperty GtkStyleProperty; -typedef enum { - GTK_STYLE_PROPERTY_INHERIT = (1 << 0) -} GtkStylePropertyFlags; +#define GTK_TYPE_STYLE_PROPERTY (_gtk_style_property_get_type ()) +#define GTK_STYLE_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GTK_TYPE_STYLE_PROPERTY, GtkStyleProperty)) +#define GTK_STYLE_PROPERTY_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST (cls, GTK_TYPE_STYLE_PROPERTY, GtkStylePropertyClass)) +#define GTK_IS_STYLE_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GTK_TYPE_STYLE_PROPERTY)) +#define GTK_IS_STYLE_PROPERTY_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE (obj, GTK_TYPE_STYLE_PROPERTY)) +#define GTK_STYLE_PROPERTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_STYLE_PROPERTY, GtkStylePropertyClass)) -typedef GParameter * (* GtkStyleUnpackFunc) (const GValue *value, - guint *n_params); -typedef void (* GtkStylePackFunc) (GValue *value, - GtkStyleProperties *props, - GtkStateFlags state, - GtkStylePropertyContext *context); -typedef gboolean (* GtkStyleParseFunc) (GtkCssParser *parser, - GFile *base, - GValue *value); -typedef void (* GtkStylePrintFunc) (const GValue *value, - GString *string); -typedef void (* GtkStyleDefaultValueFunc) (GtkStyleProperties *props, - GtkStateFlags state, - GValue *value); -typedef void (* GtkStyleUnsetFunc) (GtkStyleProperties *props, - GtkStateFlags state); +typedef struct _GtkStyleProperty GtkStyleProperty; +typedef struct _GtkStylePropertyClass GtkStylePropertyClass; +typedef GtkCssValue * (* GtkStyleQueryFunc) (guint id, + gpointer data); struct _GtkStyleProperty { - GParamSpec *pspec; - GtkStylePropertyFlags flags; - - GtkStylePropertyParser property_parse_func; - GtkStyleUnpackFunc unpack_func; - GtkStylePackFunc pack_func; - GtkStyleParseFunc parse_func; - GtkStylePrintFunc print_func; - GtkStyleDefaultValueFunc default_value_func; - GtkStyleUnsetFunc unset_func; + GObject parent; + + char *name; + GType value_type; }; -const GtkStyleProperty * _gtk_style_property_lookup (const char *name); +struct _GtkStylePropertyClass +{ + GObjectClass parent_class; + + void (* assign) (GtkStyleProperty *property, + GtkStyleProperties *props, + GtkStateFlags state, + const GValue *value); + void (* query) (GtkStyleProperty *property, + GValue *value, + GtkStyleQueryFunc query_func, + gpointer query_data); + GtkCssValue * (* parse_value) (GtkStyleProperty * property, + GtkCssParser *parser); -void _gtk_style_property_register (GParamSpec *pspec, - GtkStylePropertyFlags flags, - GtkStylePropertyParser property_parse_func, - GtkStyleUnpackFunc unpack_func, - GtkStylePackFunc pack_func, - GtkStyleParseFunc parse_func, - GtkStylePrintFunc print_func, - GtkStyleDefaultValueFunc default_value_func, - GtkStyleUnsetFunc unset_func); + GHashTable *properties; +}; -gboolean _gtk_style_property_is_inherit (const GtkStyleProperty *property); +GType _gtk_style_property_get_type (void) G_GNUC_CONST; -void _gtk_style_property_default_value (const GtkStyleProperty *property, - GtkStyleProperties *properties, - GtkStateFlags state, - GValue *value); +void _gtk_style_property_init_properties (void); -void _gtk_style_property_resolve (const GtkStyleProperty *property, - GtkStyleProperties *properties, - GtkStateFlags state, - GtkStylePropertyContext *context, - GValue *orig_value); - -gboolean _gtk_style_property_is_shorthand (const GtkStyleProperty *property); -GParameter * _gtk_style_property_unpack (const GtkStyleProperty *property, - const GValue *value, - guint *n_params); -void _gtk_style_property_pack (const GtkStyleProperty *property, - GtkStyleProperties *props, - GtkStateFlags state, - GtkStylePropertyContext *context, - GValue *value); +GtkStyleProperty * _gtk_style_property_lookup (const char *name); -gboolean _gtk_style_property_parse_value (const GtkStyleProperty *property, +const char * _gtk_style_property_get_name (GtkStyleProperty *property); + +GtkCssValue * _gtk_style_property_parse_value (GtkStyleProperty * property, + GtkCssParser *parser); + +GType _gtk_style_property_get_value_type(GtkStyleProperty * property); +void _gtk_style_property_query (GtkStyleProperty * property, GValue *value, - GtkCssParser *parser, - GFile *base); -void _gtk_style_property_print_value (const GtkStyleProperty *property, - const GValue *value, - GString *string); + GtkStyleQueryFunc query_func, + gpointer query_data); +void _gtk_style_property_assign (GtkStyleProperty *property, + GtkStyleProperties *props, + GtkStateFlags state, + const GValue *value); G_END_DECLS