* 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 <http://www.gnu.org/licenses/>.
*/
#ifndef __GTK_STYLEPROPERTY_PRIVATE_H__
#include "gtkcssparserprivate.h"
#include "gtkstylecontextprivate.h"
+#include "gtkcssvalueprivate.h"
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 void (* GtkStyleUnsetFunc) (GtkStyleProperties *props,
- GtkStateFlags state);
+typedef GtkCssValue * (* GtkStyleQueryFunc) (guint id,
+ gpointer data);
struct _GtkStyleProperty
{
char *name;
GType value_type;
-
- GParamSpec *pspec;
- GtkStylePropertyFlags flags;
- guint id;
- GValue initial_value;
-
- GtkStylePropertyParser property_parse_func;
- GtkStyleUnpackFunc unpack_func;
- GtkStylePackFunc pack_func;
- GtkStyleParseFunc parse_func;
- GtkStylePrintFunc print_func;
- GtkStyleUnsetFunc unset_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;
-guint _gtk_style_property_get_count (void);
-GtkStyleProperty * _gtk_style_property_get (guint id);
+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);
-
-gboolean _gtk_style_property_is_inherit (GtkStyleProperty * property);
-guint _gtk_style_property_get_id (GtkStyleProperty * property);
-
-const GValue * _gtk_style_property_get_initial_value
- (GtkStyleProperty * property);
-
-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);
-void _gtk_style_property_print_value (GtkStyleProperty * property,
- const GValue *value,
- GString *string);
+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,
+ GtkStyleQueryFunc query_func,
+ gpointer query_data);
+void _gtk_style_property_assign (GtkStyleProperty *property,
GtkStyleProperties *props,
GtkStateFlags state,
- GtkStylePropertyContext *context,
- GValue *value);
+ const GValue *value);
G_END_DECLS