#ifndef __GLADE_PROPERTY_CLASS_H__ #define __GLADE_PROPERTY_CLASS_H__ #include #include #include #include G_BEGIN_DECLS /* The GladePropertyClass structure parameters of a GladeProperty. * All entries in the GladeEditor are GladeProperties (except signals) * All GladeProperties are associated with a GParamSpec. */ #define GLADE_PROPERTY_CLASS(gpc) ((GladePropertyClass *) gpc) #define GLADE_IS_PROPERTY_CLASS(gpc) (gpc != NULL) /** * GLADE_PROPERTY_CLASS_IS_TYPE: * gpc: A #GladePropertyClass * type: The #GladeEditorPageType to query * * Checks if @gpc is good to be loaded as @type */ #define GLADE_PROPERTY_CLASS_IS_TYPE(gpc, type) \ (((type) == GLADE_PAGE_GENERAL && \ !glade_property_class_common (gpc) && \ !glade_property_class_get_is_packing (gpc) && \ !glade_property_class_atk (gpc)) || \ ((type) == GLADE_PAGE_COMMON && glade_property_class_common (gpc)) || \ ((type) == GLADE_PAGE_PACKING && glade_property_class_get_is_packing (gpc)) || \ ((type) == GLADE_PAGE_ATK && glade_property_class_atk (gpc)) || \ ((type) == GLADE_PAGE_QUERY && glade_property_class_query (gpc))) /** * GPC_VERSION_CHECK: * @klass: A #GladePropertyClass * @major_version: The major version to check * @minor_version: The minor version to check * * Evaluates to %TRUE if @klass is available in its owning library version-@major_verion.@minor_version. * */ #define GPC_VERSION_CHECK(klass, major_version, minor_version) \ ((glade_property_class_since_major (GLADE_PROPERTY_CLASS (klass)) == major_version) ? \ (glade_property_class_since_minor (GLADE_PROPERTY_CLASS (klass)) <= minor_version) : \ (glade_property_class_since_major (GLADE_PROPERTY_CLASS (klass)) <= major_version)) #define GPC_OBJECT_DELIMITER ", " #define GPC_PROPERTY_NAMELEN 512 /* Enough space for a property name I think */ typedef struct _GladePropertyClass GladePropertyClass; GladePropertyClass *glade_property_class_new (GladeWidgetAdaptor *adaptor, const gchar *id); GladePropertyClass *glade_property_class_new_from_spec (GladeWidgetAdaptor *adaptor, GParamSpec *spec); GladePropertyClass *glade_property_class_new_from_spec_full (GladeWidgetAdaptor *adaptor, GParamSpec *spec, gboolean need_handle); GladePropertyClass *glade_property_class_clone (GladePropertyClass *property_class, gboolean reset_version); void glade_property_class_free (GladePropertyClass *property_class); void glade_property_class_set_adaptor (GladePropertyClass *property_class, GladeWidgetAdaptor *adaptor); GladeWidgetAdaptor *glade_property_class_get_adaptor (GladePropertyClass *property_class); void glade_property_class_set_pspec (GladePropertyClass *property_class, GParamSpec *pspec); GParamSpec *glade_property_class_get_pspec (GladePropertyClass *property_class); void glade_property_class_set_is_packing (GladePropertyClass *property_class, gboolean is_packing); gboolean glade_property_class_get_is_packing (GladePropertyClass *property_class); gboolean glade_property_class_save (GladePropertyClass *property_class); gboolean glade_property_class_save_always (GladePropertyClass *property_class); gboolean glade_property_class_is_visible (GladePropertyClass *property_class); gboolean glade_property_class_is_object (GladePropertyClass *property_class); void glade_property_class_set_virtual (GladePropertyClass *property_class, gboolean value); gboolean glade_property_class_get_virtual (GladePropertyClass *property_class); void glade_property_class_set_ignore (GladePropertyClass *property_class, gboolean ignore); gboolean glade_property_class_get_ignore (GladePropertyClass *property_class); void glade_property_class_set_name (GladePropertyClass *property_class, const gchar *name); G_CONST_RETURN gchar *glade_property_class_get_name (GladePropertyClass *property_class); void glade_property_class_set_tooltip (GladePropertyClass *property_class, const gchar *tooltip); G_CONST_RETURN gchar *glade_property_class_get_tooltip (GladePropertyClass *property_class); G_CONST_RETURN gchar *glade_property_class_id (GladePropertyClass *property_class); gboolean glade_property_class_themed_icon (GladePropertyClass *property_class); void glade_property_class_set_construct_only (GladePropertyClass *property_class, gboolean construct_only); gboolean glade_property_class_get_construct_only (GladePropertyClass *property_class); G_CONST_RETURN GValue *glade_property_class_get_default (GladePropertyClass *property_class); G_CONST_RETURN GValue *glade_property_class_get_original_default (GladePropertyClass *property_class); gboolean glade_property_class_translatable (GladePropertyClass *property_class); gboolean glade_property_class_needs_sync (GladePropertyClass *property_class); gboolean glade_property_class_query (GladePropertyClass *property_class); gboolean glade_property_class_atk (GladePropertyClass *property_class); gboolean glade_property_class_common (GladePropertyClass *property_class); gboolean glade_property_class_parentless_widget (GladePropertyClass *property_class); gboolean glade_property_class_optional (GladePropertyClass *property_class); gboolean glade_property_class_optional_default (GladePropertyClass *property_class); gboolean glade_property_class_multiline (GladePropertyClass *property_class); gboolean glade_property_class_stock (GladePropertyClass *property_class); gboolean glade_property_class_stock_icon (GladePropertyClass *property_class); gboolean glade_property_class_transfer_on_paste (GladePropertyClass *property_class); gboolean glade_property_class_custom_layout (GladePropertyClass *property_class); gdouble glade_property_class_weight (GladePropertyClass *property_class); G_CONST_RETURN gchar *glade_property_class_create_type (GladePropertyClass *property_class); guint16 glade_property_class_since_major (GladePropertyClass *property_class); guint16 glade_property_class_since_minor (GladePropertyClass *property_class); gboolean glade_property_class_deprecated (GladePropertyClass *property_class); GValue *glade_property_class_make_gvalue_from_string (GladePropertyClass *property_class, const gchar *string, GladeProject *project); gchar *glade_property_class_make_string_from_gvalue (GladePropertyClass *property_class, const GValue *value); GValue *glade_property_class_make_gvalue_from_vl (GladePropertyClass *property_class, va_list vl); void glade_property_class_set_vl_from_gvalue (GladePropertyClass *klass, GValue *value, va_list vl); GValue *glade_property_class_make_gvalue (GladePropertyClass *klass, ...); void glade_property_class_get_from_gvalue (GladePropertyClass *klass, GValue *value, ...); gboolean glade_property_class_update_from_node (GladeXmlNode *node, GType object_type, GladePropertyClass **property_class, const gchar *domain); GtkAdjustment *glade_property_class_make_adjustment (GladePropertyClass *property_class); gboolean glade_property_class_match (GladePropertyClass *klass, GladePropertyClass *comp); gboolean glade_property_class_void_value (GladePropertyClass *klass, GValue *value); gint glade_property_class_compare (GladePropertyClass *klass, const GValue *value1, const GValue *value2); GValue *glade_property_class_get_default_from_spec (GParamSpec *spec); void glade_property_class_set_weights (GList **properties, GType parent); void glade_property_class_load_defaults_from_spec (GladePropertyClass *property_class); G_END_DECLS #endif /* __GLADE_PROPERTY_CLASS_H__ */