X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkstylepropertyprivate.h;h=a92afdc36a0783ce57968cdc0f5f7e17c2f3bb93;hb=ce0675f1fb2582717793ec29b1787039dfbf8437;hp=92c3fea1800d74ab2276f5957e718813d5e0fd0b;hpb=b904679a111224039a92e6f50acd97f6218a2d3a;p=~andy%2Fgtk diff --git a/gtk/gtkstylepropertyprivate.h b/gtk/gtkstylepropertyprivate.h index 92c3fea18..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,6 +20,7 @@ #include "gtkcssparserprivate.h" #include "gtkstylecontextprivate.h" +#include "gtkcssvalueprivate.h" G_BEGIN_DECLS @@ -35,21 +34,8 @@ G_BEGIN_DECLS typedef struct _GtkStyleProperty GtkStyleProperty; typedef struct _GtkStylePropertyClass GtkStylePropertyClass; -typedef enum { - GTK_STYLE_PROPERTY_INHERIT = (1 << 0) -} GtkStylePropertyFlags; - -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 GtkCssValue * (* GtkStyleQueryFunc) (guint id, + gpointer data); struct _GtkStyleProperty { @@ -57,51 +43,42 @@ struct _GtkStyleProperty char *name; GType value_type; - - GParamSpec *pspec; - - GtkStylePropertyParser property_parse_func; - GtkStyleUnpackFunc unpack_func; - GtkStylePackFunc pack_func; - GtkStyleParseFunc parse_func; - GtkStylePrintFunc print_func; }; 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); + GHashTable *properties; }; GType _gtk_style_property_get_type (void) G_GNUC_CONST; +void _gtk_style_property_init_properties (void); + GtkStyleProperty * _gtk_style_property_lookup (const char *name); const char * _gtk_style_property_get_name (GtkStyleProperty *property); -void _gtk_style_property_register (GParamSpec *pspec, - GtkStylePropertyFlags flags, - GtkStylePropertyParser property_parse_func, - GtkStyleParseFunc parse_func, - GtkStylePrintFunc print_func, - const GValue *initial_value); - -GParameter * _gtk_style_property_unpack (GtkStyleProperty * property, - const GValue *value, - guint *n_params); - -gboolean _gtk_style_property_parse_value (GtkStyleProperty * property, - GValue *value, - GtkCssParser *parser, - GFile *base); +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, - GtkStyleProperties *props, - GtkStateFlags state, - GtkStylePropertyContext *context, - GValue *value); + GValue *value, + GtkStyleQueryFunc query_func, + gpointer query_data); void _gtk_style_property_assign (GtkStyleProperty *property, GtkStyleProperties *props, GtkStateFlags state,