diff options
author | Vincent Geddes <vgeddes@src.gnome.org> | 2007-07-11 18:54:20 +0000 |
---|---|---|
committer | Vincent Geddes <vgeddes@src.gnome.org> | 2007-07-11 18:54:20 +0000 |
commit | dd236834c2e04675b987739ff6d069c6dd8b42ca (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /gladeui/glade-widget-adaptor.h | |
parent | 16db0d73957571e542e6f04ad336905ce27c6b1b (diff) | |
download | glade-dd236834c2e04675b987739ff6d069c6dd8b42ca.tar.gz |
delete branchpointBINDINGS_BRANCHPOINT_svn1455
* delete branchpoint
svn path=/tags/BINDINGS_BRANCHPOINT; revision=1454
Diffstat (limited to 'gladeui/glade-widget-adaptor.h')
-rw-r--r-- | gladeui/glade-widget-adaptor.h | 620 |
1 files changed, 0 insertions, 620 deletions
diff --git a/gladeui/glade-widget-adaptor.h b/gladeui/glade-widget-adaptor.h deleted file mode 100644 index 9956bdde..00000000 --- a/gladeui/glade-widget-adaptor.h +++ /dev/null @@ -1,620 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -#ifndef __GLADE_WIDGET_ADAPTOR_H__ -#define __GLADE_WIDGET_ADAPTOR_H__ - -#include <gladeui/glade-xml-utils.h> -#include <gladeui/glade-property-class.h> -#include <glib-object.h> -#include <gmodule.h> -#include <gtk/gtk.h> - -G_BEGIN_DECLS - -#define GLADE_TYPE_WIDGET_ADAPTOR (glade_widget_adaptor_get_type()) -#define GLADE_WIDGET_ADAPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_WIDGET_ADAPTOR, GladeWidgetAdaptor)) -#define GLADE_WIDGET_ADAPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_WIDGET_ADAPTOR, GladeWidgetAdaptorClass)) -#define GLADE_IS_WIDGET_ADAPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_WIDGET_ADAPTOR)) -#define GLADE_IS_WIDGET_ADAPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_WIDGET_ADAPTOR)) -#define GLADE_WIDGET_ADAPTOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GLADE_WIDGET_ADAPTOR, GladeWidgetAdaptorClass)) - -typedef struct _GladeWidgetAdaptor GladeWidgetAdaptor; -typedef struct _GladeWidgetAdaptorPrivate GladeWidgetAdaptorPrivate; -typedef struct _GladeWidgetAdaptorClass GladeWidgetAdaptorClass; - -/** - * GWA_IS_FIXED: - * @obj: A #GladeWidgetAdaptor - * - * Checks whether this widget adaptor should be handled - * as a free-form container - */ -#define GWA_IS_FIXED(obj) \ - ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->fixed : FALSE) - -/** - * GWA_IS_TOPLEVEL: - * @obj: A #GladeWidgetAdaptor - * - * Checks whether this widget class has been marked as - * a toplevel one. - */ -#define GWA_IS_TOPLEVEL(obj) \ - ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->toplevel : FALSE) - -/** - * GWA_USE_PLACEHOLDERS: - * @obj: A #GladeWidgetAdaptor - * - * Checks whether this widget class has been marked to - * use placeholders in child widget operations - */ -#define GWA_USE_PLACEHOLDERS(obj) \ - ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->use_placeholders : FALSE) - - -/** - * GWA_DEFAULT_WIDTH: - * @obj: A #GladeWidgetAdaptor - * - * Returns the default width to be used when this widget - * is toplevel in the GladeDesignLayout - */ -#define GWA_DEFAULT_WIDTH(obj) \ - ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->default_width : -1) - - -/** - * GWA_DEFAULT_HEIGHT: - * @obj: A #GladeWidgetAdaptor - * - * Returns the default width to be used when this widget - * is toplevel in the GladeDesignLayout - */ -#define GWA_DEFAULT_HEIGHT(obj) \ - ((obj) ? GLADE_WIDGET_ADAPTOR_GET_CLASS(obj)->default_height : -1) - -/** - * GWA_GET_CLASS: - * @type: A #GType - * - * Shorthand for referencing glade adaptor classes from - * the plugin eg. GWA_GET_CLASS (GTK_TYPE_CONTAINER)->post_create (adaptor... - */ -#define GWA_GET_CLASS(type) \ - (((type) == G_TYPE_OBJECT) ? \ - (GladeWidgetAdaptorClass *)g_type_class_peek (GLADE_TYPE_WIDGET_ADAPTOR) : \ - GLADE_WIDGET_ADAPTOR_GET_CLASS (glade_widget_adaptor_get_by_type(type))) - -/** - * GWA_GET_OCLASS: - * @type: A #GType. - * - * Same as GWA_GET_CLASS but casted to GObjectClass - */ -#define GWA_GET_OCLASS(type) ((GObjectClass*)GWA_GET_CLASS(type)) - - -#define GLADE_VALID_CREATE_REASON(reason) (reason >= 0 && reason < GLADE_CREATE_REASONS) - -/** - * GladeCreateReason: - * @GLADE_CREATE_USER: Was created at the user's request - * (this is a good time to set any properties - * or add children to the project; like GtkFrame's - * label for example). - * @GLADE_CREATE_COPY: Was created as a result of the copy/paste - * mechanism, at this point you can count on glade - * to follow up with properties and children on - * its own. - * @GLADE_CREATE_LOAD: Was created during the load process. - * @GLADE_CREATE_REBUILD: Was created as a replacement for another project - * object; this only happens when the user is - * changing a property that is marked by the type - * system as G_PARAM_SPEC_CONSTRUCT_ONLY. - * @GLADE_CREATE_REASONS: Never used. - * - * These are the reasons your #GladePostCreateFunc can be called. - */ -typedef enum -{ - GLADE_CREATE_USER = 0, - GLADE_CREATE_COPY, - GLADE_CREATE_LOAD, - GLADE_CREATE_REBUILD, - GLADE_CREATE_REASONS -} GladeCreateReason; - -#define GLADE_CREATE_REASON (glade_create_reason_get_type()) - -/** - * GladeSetPropertyFunc: - * @adaptor: A #GladeWidgetAdaptor - * @object: The #GObject - * @property_name: The property identifier - * @value: The #GValue - * - * This delagate function is used to apply the property value on - * the runtime object. - * - * Sets @value on @object for a given #GladePropertyClass - */ -typedef void (* GladeSetPropertyFunc) (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *property_name, - const GValue *value); - -/** - * GladeGetPropertyFunc: - * @adaptor: A #GladeWidgetAdaptor - * @object: The #GObject - * @property_name: The property identifier - * @value: The #GValue - * - * Gets @value on @object for a given #GladePropertyClass - */ -typedef void (* GladeGetPropertyFunc) (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *property_name, - GValue *value); - -/** - * GladeVerifyPropertyFunc: - * @adaptor: A #GladeWidgetAdaptor - * @object: The #GObject - * @property_name: The property identifier - * @value: The #GValue - * - * This delagate function is always called whenever setting any - * properties with the exception of load time, and copy/paste time - * (basicly the two places where we recreate a hierarchy that we - * already know "works") its basicly an optional backend provided - * boundry checker for properties. - * - * Returns: whether or not its OK to set @value on @object - */ -typedef gboolean (* GladeVerifyPropertyFunc) (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *property_name, - const GValue *value); - -/** - * GladeChildSetPropertyFunc: - * @adaptor: A #GladeWidgetAdaptor - * @container: The #GObject container - * @child: The #GObject child - * @property_name: The property name - * @value: The #GValue - * - * Called to set the packing property @property_name to @value - * on the @child object of @container. - */ -typedef void (* GladeChildSetPropertyFunc) (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child, - const gchar *property_name, - const GValue *value); - -/** - * GladeChildGetPropertyFunc: - * @adaptor: A #GladeWidgetAdaptor - * @container: The #GObject container - * @child: The #GObject child - * @property_name: The property name - * @value: The #GValue - * - * Called to get the packing property @property_name - * on the @child object of @container into @value. - */ -typedef void (* GladeChildGetPropertyFunc) (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child, - const gchar *property_name, - GValue *value); - -/** - * GladeChildVerifyPropertyFunc: - * @adaptor: A #GladeWidgetAdaptor - * @container: The #GObject container - * @child: The #GObject child - * @property_name: The property name - * @value: The #GValue - * - * This delagate function is always called whenever setting any - * properties with the exception of load time, and copy/paste time - * (basicly the two places where we recreate a hierarchy that we - * already know "works") its basicly an optional backend provided - * boundry checker for properties. - * - * Returns: whether or not its OK to set @value on @object - */ -typedef gboolean (* GladeChildVerifyPropertyFunc) (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child, - const gchar *property_name, - const GValue *value); - - -/** - * GladeGetChildrenFunc: - * @container: A #GObject container - * @Returns: A #GList of #GObject children. - * - * A function called to get @containers children. - */ -typedef GList *(* GladeGetChildrenFunc) (GladeWidgetAdaptor *adaptor, - GObject *container); - -/** - * GladeAddChildFunc: - * @parent: A #GObject container - * @child: A #GObject child - * - * Called to add @child to @parent. - */ -typedef void (* GladeAddChildFunc) (GladeWidgetAdaptor *adaptor, - GObject *parent, - GObject *child); -/** - * GladeRemoveChildFunc: - * @parent: A #GObject container - * @child: A #GObject child - * - * Called to remove @child from @parent. - */ -typedef void (* GladeRemoveChildFunc) (GladeWidgetAdaptor *adaptor, - GObject *parent, - GObject *child); - -/** - * GladeReplaceChildFunc: - * @container: A #GObject container - * @old: The old #GObject child - * @new: The new #GObject child to take its place - * - * Called to swap placeholders with project objects - * in containers. - */ -typedef void (* GladeReplaceChildFunc) (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *old_obj, - GObject *new_obj); - -/** - * GladePostCreateFunc: - * @object: a #GObject - * @reason: a #GladeCreateReason - * - * This function is called exactly once for any project object - * instance and can be for any #GladeCreateReason. - */ -typedef void (* GladePostCreateFunc) (GladeWidgetAdaptor *adaptor, - GObject *object, - GladeCreateReason reason); - -/** - * GladeGetInternalFunc: - * @parent: A #GObject composite object - * @name: A string identifier - * @child: A return location for a #GObject - * - * Called to lookup @child in composite object @parent by @name. - */ -typedef GObject *(* GladeGetInternalFunc) (GladeWidgetAdaptor *adaptor, - GObject *parent, - const gchar *name); - -/** - * GladeActionActivatedFunc: - * @adaptor: A #GladeWidgetAdaptor - * @object: The #GObject - * @action_path: The action path - * - * This delagate function is used to catch actions from the core. - * - */ -typedef void (* GladeActionActivateFunc) (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *action_path); - -/** - * GladeChildActionActivatedFunc: - * @adaptor: A #GladeWidgetAdaptor - * @container: The #GtkContainer - * @object: The #GObject - * @action_path: The action path - * - * This delagate function is used to catch packing actions from the core. - * - */ -typedef void (* GladeChildActionActivateFunc) (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *object, - const gchar *action_path); - -/* GladeSignalClass contains all the info we need for a given signal, such as - * the signal name, and maybe more in the future - */ -typedef struct _GladeSignalClass GladeSignalClass; -struct _GladeSignalClass -{ - GSignalQuery query; - - const gchar *name; /* Name of the signal, eg clicked */ - gchar *type; /* Name of the object class that this signal belongs to - * eg GtkButton */ - -}; - -/* Note that everything that must be processed at the creation of - * every instance is managed on the instance structure, and everywhere - * that we want to take advantage of inheritance is handled in the class - * structure. - */ -struct _GladeWidgetAdaptor -{ - GObject parent_instance; - - GType type; /* GType of the widget */ - - gchar *name; /* Name of the widget, for example GtkButton */ - - - gchar *generic_name; /* Used to generate names of new widgets, for - * example "button" so that we generate button1, - * button2, buttonX .. - */ - - gchar *icon_name; /* icon name for widget class */ - - gchar *title; /* Translated class name used in the UI */ - - GList *properties; /* List of GladePropertyClass objects. - * [see glade-property.h] this list contains - * properties about the widget that we are going - * to modify. Like "title", "label", "rows" . - * Each property creates an input in the propety - * editor. - */ - GList *packing_props; /* List of GladePropertyClass objects that describe - * properties for child objects packing definition - - * note there may be more than one type of child supported - * by a widget and thus they may have different sets - * of properties for each type - this association is - * managed on the GladePropertyClass proper. - */ - - GList *signals; /* List of GladeSignalClass objects */ - - GList *child_packings; /* Default packing property values */ - - GList *actions; /* A list of GWActionClass */ - - GList *packing_actions;/* A list of GWActionClass for child objects */ - - GladeWidgetAdaptorPrivate *priv; - -}; - -struct _GladeWidgetAdaptorClass -{ - GObjectClass parent_class; - - gboolean fixed; /* If this is a GtkContainer, use free-form - * placement with drag/resize/paste at mouse... - */ - gboolean toplevel; /* If this class is toplevel */ - - gboolean use_placeholders; /* Whether or not to use placeholders - * to interface with child widgets. - */ - - gint default_width; /* Default width in GladeDesignLayout */ - gint default_height; /* Default height in GladeDesignLayout */ - - GladePostCreateFunc post_create; /* Executed after widget creation: - * plugins use this to setup various - * support codes. - */ - - GladeGetInternalFunc get_internal_child; /* Retrieves the the internal child - * of the given name. - */ - - /* Delagate to verify if this is a valid value for this property, - * if this function exists and returns FALSE, then glade_property_set - * will abort before making any changes - */ - GladeVerifyPropertyFunc verify_property; - - /* An optional backend function used instead of g_object_set() - * virtual properties must be handled with this function. - */ - GladeSetPropertyFunc set_property; - - /* An optional backend function used instead of g_object_get() - * virtual properties must be handled with this function. - * - * Note that since glade knows what the property values are - * at all times regardless of the objects copy, this is currently - * only used to obtain the values of packing properties that are - * set by the said object's parent at "container_add" time. - */ - GladeGetPropertyFunc get_property; - - - GladeAddChildFunc add; /* Adds a new child of this type */ - GladeRemoveChildFunc remove; /* Removes a child from the container */ - GladeGetChildrenFunc get_children; /* Returns a list of direct children for - * this support type. - */ - - - - GladeChildVerifyPropertyFunc child_verify_property; /* A boundry checker for - * packing properties - */ - GladeChildSetPropertyFunc child_set_property; /* Sets/Gets a packing property */ - GladeChildGetPropertyFunc child_get_property; /* for this child */ - - GladeReplaceChildFunc replace_child; /* This method replaces a - * child widget with - * another one: it's used to - * replace a placeholder with - * a widget and viceversa. - */ - - GladeActionActivateFunc action_activate; /* This method is used to catch actions */ - GladeChildActionActivateFunc child_action_activate; /* This method is used to catch packing actions */ -}; - -#define glade_widget_adaptor_create_widget(adaptor, query, ...) \ - (glade_widget_adaptor_create_widget_real (query, "adaptor", adaptor, __VA_ARGS__)); - -#define glade_widget_adaptor_from_pclass(pclass) \ - ((pclass) ? (GladeWidgetAdaptor *)((GladePropertyClass *)(pclass))->handle : NULL) - -#define glade_widget_adaptor_from_pspec(pspec) \ - ((pspec) ? glade_widget_adaptor_get_by_type (((GParamSpec *)(pspec))->owner_type) : NULL) - -GType glade_widget_adaptor_get_type (void) G_GNUC_CONST; - - -GType glade_create_reason_get_type (void) G_GNUC_CONST; - - -GladeWidgetAdaptor *glade_widget_adaptor_from_catalog (GladeXmlNode *class_node, - const gchar *catname, - const gchar *icon_prefix, - GModule *module, - const gchar *domain, - const gchar *book); - -void glade_widget_adaptor_register (GladeWidgetAdaptor *adaptor); - -GladeWidget *glade_widget_adaptor_create_internal (GladeWidget *parent, - GObject *internal_object, - const gchar *internal_name, - const gchar *parent_name, - gboolean anarchist, - GladeCreateReason reason); - -GladeWidget *glade_widget_adaptor_create_widget_real (gboolean query, - const gchar *first_property, - ...); - - -GladeWidgetAdaptor *glade_widget_adaptor_get_by_name (const gchar *name); - -GladeWidgetAdaptor *glade_widget_adaptor_get_by_type (GType type); - -GladePropertyClass *glade_widget_adaptor_get_property_class (GladeWidgetAdaptor *adaptor, - const gchar *name); - -GladePropertyClass *glade_widget_adaptor_get_pack_property_class (GladeWidgetAdaptor *adaptor, - const gchar *name); - -GParameter *glade_widget_adaptor_default_params (GladeWidgetAdaptor *adaptor, - gboolean construct, - guint *n_params); - -void glade_widget_adaptor_post_create (GladeWidgetAdaptor *adaptor, - GObject *object, - GladeCreateReason reason); - -GObject *glade_widget_adaptor_get_internal_child (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *internal_name); - -void glade_widget_adaptor_set_property (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *property_name, - const GValue *value); - -void glade_widget_adaptor_get_property (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *property_name, - GValue *value); - -gboolean glade_widget_adaptor_verify_property (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *property_name, - const GValue *value); - -void glade_widget_adaptor_add (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child); - -void glade_widget_adaptor_remove (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child); - -GList *glade_widget_adaptor_get_children (GladeWidgetAdaptor *adaptor, - GObject *container); - -gboolean glade_widget_adaptor_has_child (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child); - -void glade_widget_adaptor_child_set_property (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child, - const gchar *property_name, - const GValue *value); - -void glade_widget_adaptor_child_get_property (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child, - const gchar *property_name, - GValue *value); - -gboolean glade_widget_adaptor_child_verify_property (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *child, - const gchar *property_name, - const GValue *value); - -void glade_widget_adaptor_replace_child (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *old_obj, - GObject *new_obj); - -gboolean glade_widget_adaptor_query (GladeWidgetAdaptor *adaptor); - -G_CONST_RETURN -gchar *glade_widget_adaptor_get_packing_default(GladeWidgetAdaptor *child_adaptor, - GladeWidgetAdaptor *parent_adaptor, - const gchar *propert_id); - -gboolean glade_widget_adaptor_is_container (GladeWidgetAdaptor *adaptor); - -gboolean glade_widget_adaptor_action_add (GladeWidgetAdaptor *adaptor, - const gchar *action_path, - const gchar *label, - const gchar *stock, - gboolean important); - -gboolean glade_widget_adaptor_pack_action_add (GladeWidgetAdaptor *adaptor, - const gchar *action_path, - const gchar *label, - const gchar *stock, - gboolean important); - -gboolean glade_widget_adaptor_action_remove (GladeWidgetAdaptor *adaptor, - const gchar *action_path); - -gboolean glade_widget_adaptor_pack_action_remove (GladeWidgetAdaptor *adaptor, - const gchar *action_path); - -GList *glade_widget_adaptor_pack_actions_new (GladeWidgetAdaptor *adaptor); - -void glade_widget_adaptor_action_activate (GladeWidgetAdaptor *adaptor, - GObject *object, - const gchar *action_path); - -void glade_widget_adaptor_child_action_activate (GladeWidgetAdaptor *adaptor, - GObject *container, - GObject *object, - const gchar *action_path); -G_END_DECLS - -#endif /* __GLADE_WIDGET_ADAPTOR_H__ */ |