GladeWidget

GladeWidget — An object wrapper for the Glade runtime environment.

Synopsis


#include <glade.h>


struct      GladeWidget;
GladeWidget* glade_widget_get_from_gobject  (gpointer object);
void        glade_widget_add_child          (GladeWidget *parent,
                                             GladeWidget *child,
                                             gboolean at_mouse);
void        glade_widget_remove_child       (GladeWidget *parent,
                                             GladeWidget *child);
void        glade_widget_set_name           (GladeWidget *widget,
                                             const gchar *name);
void        glade_widget_set_internal       (GladeWidget *widget,
                                             const gchar *internal);
void        glade_widget_set_object         (GladeWidget *gwidget,
                                             GObject *new_object);
void        glade_widget_set_project        (GladeWidget *widget,
                                             GladeProject *project);
const gchar* glade_widget_get_name          (GladeWidget *widget);
const gchar* glade_widget_get_internal      (GladeWidget *widget);
GladeWidgetClass* glade_widget_get_class    (GladeWidget *widget);
GladeProject* glade_widget_get_project      (GladeWidget *widget);
GObject*    glade_widget_get_object         (GladeWidget *widget);
void        glade_widget_project_notify     (GladeWidget *widget,
                                             GladeProject *project);
void        glade_widget_show               (GladeWidget *widget);
void        glade_widget_hide               (GladeWidget *widget);
void        glade_widget_copy_properties    (GladeWidget *widget,
                                             GladeWidget *template);
void        glade_widget_set_packing_properties
                                            (GladeWidget *widget,
                                             GladeWidget *container);
void        glade_widget_add_prop_ref       (GladeWidget *widget,
                                             GladeProperty *property);
void        glade_widget_remove_prop_ref    (GladeWidget *widget,
                                             GladeProperty *property);
GladeProperty* glade_widget_get_property    (GladeWidget *widget,
                                             const gchar *id_property);
GladeProperty* glade_widget_get_pack_property
                                            (GladeWidget *widget,
                                             const gchar *id_property);
gboolean    glade_widget_property_get       (GladeWidget *widget,
                                             const gchar *id_property,
                                             ...);
gboolean    glade_widget_property_set       (GladeWidget *widget,
                                             const gchar *id_property,
                                             ...);
gboolean    glade_widget_pack_property_get  (GladeWidget *widget,
                                             const gchar *id_property,
                                             ...);
gboolean    glade_widget_pack_property_set  (GladeWidget *widget,
                                             const gchar *id_property,
                                             ...);
gboolean    glade_widget_property_reset     (GladeWidget *widget,
                                             const gchar *id_property);
gboolean    glade_widget_pack_property_reset
                                            (GladeWidget *widget,
                                             const gchar *id_property);
gboolean    glade_widget_property_default   (GladeWidget *widget,
                                             const gchar *id_property);
gboolean    glade_widget_pack_property_default
                                            (GladeWidget *widget,
                                             const gchar *id_property);
gboolean    glade_widget_property_set_sensitive
                                            (GladeWidget *widget,
                                             const gchar *id_property,
                                             gboolean sensitive,
                                             const gchar *reason);
gboolean    glade_widget_pack_property_set_sensitive
                                            (GladeWidget *widget,
                                             const gchar *id_property,
                                             gboolean sensitive,
                                             const gchar *reason);
gboolean    glade_widget_property_set_enabled
                                            (GladeWidget *widget,
                                             const gchar *id_property,
                                             gboolean enabled);
gboolean    glade_widget_pack_property_set_enabled
                                            (GladeWidget *widget,
                                             const gchar *id_property,
                                             gboolean enabled);
gboolean    glade_widget_has_decendant      (GladeWidget *widget,
                                             GType type);
void        glade_widget_replace            (GladeWidget *parent,
                                             GObject *old_object,
                                             GObject *new_object);
void        glade_widget_rebuild            (GladeWidget *glade_widget);
GladeWidget* glade_widget_dup               (GladeWidget *template);
void        glade_widget_add_signal_handler (GladeWidget *widget,
                                             GladeSignal *signal_handler);
void        glade_widget_remove_signal_handler
                                            (GladeWidget *widget,
                                             GladeSignal *signal_handler);
void        glade_widget_change_signal_handler
                                            (GladeWidget *widget,
                                             GladeSignal *old_signal_handler,
                                             GladeSignal *new_signal_handler);
GPtrArray*  glade_widget_list_signal_handlers
                                            (GladeWidget *widget,
                                             const gchar *signal_name);
GladeWidgetInfo* glade_widget_write         (GladeWidget *widget,
                                             GladeInterface *interface);
GladeWidget* glade_widget_read              (GladeProject *project,
                                             GladeWidgetInfo *info);
gboolean    glade_widget_has_launcher       (GladeWidget *widget);
void        glade_widget_launch_editor      (GladeWidget *widget);
GladeWidget* glade_widget_get_parent        (GladeWidget *widget);
void        glade_widget_set_parent         (GladeWidget *widget,
                                             GladeWidget *parent);
GladeWidget* glade_widget_event_widget      (void);
gboolean    glade_widget_superuser          (void);
void        glade_widget_push_superuser     (void);
void        glade_widget_pop_superuser      (void);

Object Hierarchy


  GObject
   +----GladeWidget
         +----GladeFixed

Properties


  "anarchist"            gboolean              : Read / Write / Construct Only
  "class"                gpointer              : Read / Write / Construct Only
  "info"                 gpointer              : Write / Construct Only
  "internal"             gchararray            : Read / Write / Construct
  "internal-name"        gchararray            : Write / Construct Only
  "name"                 gchararray            : Read / Write / Construct
  "object"               GObject               : Read / Write / Construct
  "parent"               GladeWidget           : Read / Write / Construct
  "project"              GladeProject          : Read / Write / Construct
  "properties"           gpointer              : Read / Write / Construct Only
  "reason"               gint                  : Write / Construct Only
  "template"             GladeWidget           : Write / Construct Only

Signals


"add-signal-handler"
            void        user_function      (GladeWidget *gladewidget,
                                            gpointer     arg1,
                                            gpointer     user_data)        : Run last
"button-press-event"
            gboolean    user_function      (GladeWidget    *gladewidget,
                                            GdkEventButton *arg1,
                                            gpointer        user_data)        : Run last
"button-release-event"
            gboolean    user_function      (GladeWidget    *gladewidget,
                                            GdkEventButton *event,
                                            gpointer        user_data)        : Run last
"change-signal-handler"
            void        user_function      (GladeWidget *gladewidget,
                                            gpointer     arg1,
                                            gpointer     arg2,
                                            gpointer     user_data)        : Run last
"enter-notify-event"
            gboolean    user_function      (GladeWidget      *gladewidget,
                                            GdkEventCrossing *arg1,
                                            gpointer          user_data)        : Run last
"motion-notify-event"
            gboolean    user_function      (GladeWidget    *gladewidget,
                                            GdkEventMotion *arg1,
                                            gpointer        user_data)        : Run last
"remove-signal-handler"
            void        user_function      (GladeWidget *gladewidget,
                                            gpointer     arg1,
                                            gpointer     user_data)        : Run last

Description

GladeWidget is the proxy between the instantiated runtime object and the Glade core metadata. This api will be mostly usefull for its convenience api for getting and setting properties (mostly from the plugin).

Details

struct GladeWidget

struct GladeWidget;


glade_widget_get_from_gobject ()

GladeWidget* glade_widget_get_from_gobject  (gpointer object);

object :
Returns :

glade_widget_add_child ()

void        glade_widget_add_child          (GladeWidget *parent,
                                             GladeWidget *child,
                                             gboolean at_mouse);

Adds child to parent in a generic way for this GladeWidget parent.

parent : A GladeWidget
child : the GladeWidget to add
at_mouse : whether the added widget should be added at the current mouse position

glade_widget_remove_child ()

void        glade_widget_remove_child       (GladeWidget *parent,
                                             GladeWidget *child);

Removes child from parent in a generic way for this GladeWidget parent.

parent : A GladeWidget
child : the GladeWidget to add

glade_widget_set_name ()

void        glade_widget_set_name           (GladeWidget *widget,
                                             const gchar *name);

Sets widget's name to name.

widget : a GladeWidget
name : a string

glade_widget_set_internal ()

void        glade_widget_set_internal       (GladeWidget *widget,
                                             const gchar *internal);

Sets the internal name of widget to internal

widget : A GladeWidget
internal : The internal name

glade_widget_set_object ()

void        glade_widget_set_object         (GladeWidget *gwidget,
                                             GObject *new_object);

Set the runtime object for this GladeWidget wrapper (this is used deep in the core and is probably unsafe to use elsewhere).

gwidget : A GladeWidget
new_object : the new GObject for gwidget

glade_widget_set_project ()

void        glade_widget_set_project        (GladeWidget *widget,
                                             GladeProject *project);

Makes widget belong to project.

widget : a GladeWidget
project : a GladeProject

glade_widget_get_name ()

const gchar* glade_widget_get_name          (GladeWidget *widget);

widget : a GladeWidget
Returns : a pointer to widget's name

glade_widget_get_internal ()

const gchar* glade_widget_get_internal      (GladeWidget *widget);

widget : a GladeWidget
Returns : the internal name of widget

glade_widget_get_class ()

GladeWidgetClass* glade_widget_get_class    (GladeWidget *widget);

widget : a GladeWidget
Returns : the GladeWidgetclass of widget

glade_widget_get_project ()

GladeProject* glade_widget_get_project      (GladeWidget *widget);

widget : a GladeWidget
Returns : the GladeProject that widget belongs to

glade_widget_get_object ()

GObject*    glade_widget_get_object         (GladeWidget *widget);

widget : a GladeWidget
Returns : the GObject associated with widget

glade_widget_project_notify ()

void        glade_widget_project_notify     (GladeWidget *widget,
                                             GladeProject *project);

Notifies widget that it is now in project.

Note that this doesnt really set the project; the project is saved for internal reasons even when the widget is on the clipboard. (also used for property references).

widget : A GladeWidget
project : The GladeProject (or NULL)

glade_widget_show ()

void        glade_widget_show               (GladeWidget *widget);

Display widget

widget : A GladeWidget

glade_widget_hide ()

void        glade_widget_hide               (GladeWidget *widget);

Hide widget

widget : A GladeWidget

glade_widget_copy_properties ()

void        glade_widget_copy_properties    (GladeWidget *widget,
                                             GladeWidget *template);

Sets properties in widget based on the values of matching properties in template

widget : a 'dest' GladeWidget
template : a 'src' GladeWidget

glade_widget_set_packing_properties ()

void        glade_widget_set_packing_properties
                                            (GladeWidget *widget,
                                             GladeWidget *container);

Generates the packing_properties list of the widget, given the class of the container we are adding the widget to. If the widget already has packing_properties, but the container has changed, the current list is freed and replaced.

widget : A GladeWidget
container : The parent GladeWidget

glade_widget_add_prop_ref ()

void        glade_widget_add_prop_ref       (GladeWidget *widget,
                                             GladeProperty *property);

Adds property to widget 's list of referenced properties.

Note: this is used to track object reference properties that go in and out of the project.

widget : A GladeWidget
property : the GladeProperty

glade_widget_remove_prop_ref ()

void        glade_widget_remove_prop_ref    (GladeWidget *widget,
                                             GladeProperty *property);

Removes property from widget 's list of referenced properties.

Note: this is used to track object reference properties that go in and out of the project.

widget : A GladeWidget
property : the GladeProperty

glade_widget_get_property ()

GladeProperty* glade_widget_get_property    (GladeWidget *widget,
                                             const gchar *id_property);

widget : a GladeWidget
id_property : a string naming a GladeProperty
Returns : the GladeProperty in widget named id_property

glade_widget_get_pack_property ()

GladeProperty* glade_widget_get_pack_property
                                            (GladeWidget *widget,
                                             const gchar *id_property);

widget : a GladeWidget
id_property : a string naming a GladeProperty
Returns : the GladeProperty in widget named id_property

glade_widget_property_get ()

gboolean    glade_widget_property_get       (GladeWidget *widget,
                                             const gchar *id_property,
                                             ...);

Gets the value of id_property in widget

widget : a GladeWidget
id_property : a string naming a GladeProperty
... : The return location for the value of the said GladeProperty
Returns : whether id_property was found or not.

glade_widget_property_set ()

gboolean    glade_widget_property_set       (GladeWidget *widget,
                                             const gchar *id_property,
                                             ...);

Sets the value of id_property in widget

widget : a GladeWidget
id_property : a string naming a GladeProperty
... : A value of the correct type for the said GladeProperty
Returns : whether id_property was found or not.

glade_widget_pack_property_get ()

gboolean    glade_widget_pack_property_get  (GladeWidget *widget,
                                             const gchar *id_property,
                                             ...);

Gets the value of id_property in widget packing properties

widget : a GladeWidget
id_property : a string naming a GladeProperty
... : The return location for the value of the said GladeProperty
Returns : whether id_property was found or not.

glade_widget_pack_property_set ()

gboolean    glade_widget_pack_property_set  (GladeWidget *widget,
                                             const gchar *id_property,
                                             ...);

Sets the value of id_property in widget packing properties

widget : a GladeWidget
id_property : a string naming a GladeProperty
... : The return location for the value of the said GladeProperty
Returns : whether id_property was found or not.

glade_widget_property_reset ()

gboolean    glade_widget_property_reset     (GladeWidget *widget,
                                             const gchar *id_property);

Resets id_property in widget to it's default value

widget : a GladeWidget
id_property : a string naming a GladeProperty
Returns : whether id_property was found or not.

glade_widget_pack_property_reset ()

gboolean    glade_widget_pack_property_reset
                                            (GladeWidget *widget,
                                             const gchar *id_property);

Resets id_property in widget's packing properties to it's default value

widget : a GladeWidget
id_property : a string naming a GladeProperty
Returns : whether id_property was found or not.

glade_widget_property_default ()

gboolean    glade_widget_property_default   (GladeWidget *widget,
                                             const gchar *id_property);

widget : a GladeWidget
id_property : a string naming a GladeProperty
Returns : whether whether id_property was found and is currently set to it's default value.

glade_widget_pack_property_default ()

gboolean    glade_widget_pack_property_default
                                            (GladeWidget *widget,
                                             const gchar *id_property);

widget : a GladeWidget
id_property : a string naming a GladeProperty
Returns : whether whether id_property was found and is currently set to it's default value.

glade_widget_property_set_sensitive ()

gboolean    glade_widget_property_set_sensitive
                                            (GladeWidget *widget,
                                             const gchar *id_property,
                                             gboolean sensitive,
                                             const gchar *reason);

Sets the sensitivity of id_property in widget

widget : a GladeWidget
id_property : a string naming a GladeProperty
sensitive : setting sensitive or insensitive
reason : a description of why the user cant edit this property which will be used as a tooltip
Returns : whether id_property was found or not.

glade_widget_pack_property_set_sensitive ()

gboolean    glade_widget_pack_property_set_sensitive
                                            (GladeWidget *widget,
                                             const gchar *id_property,
                                             gboolean sensitive,
                                             const gchar *reason);

Sets the sensitivity of id_property in widget's packing properties.

widget : a GladeWidget
id_property : a string naming a GladeProperty
sensitive : setting sensitive or insensitive
reason : a description of why the user cant edit this property which will be used as a tooltip
Returns : whether id_property was found or not.

glade_widget_property_set_enabled ()

gboolean    glade_widget_property_set_enabled
                                            (GladeWidget *widget,
                                             const gchar *id_property,
                                             gboolean enabled);

Sets the enabled state of id_property in widget; this is used for optional properties.

widget : a GladeWidget
id_property : a string naming a GladeProperty
enabled : setting enabled or disabled
Returns : whether id_property was found or not.

glade_widget_pack_property_set_enabled ()

gboolean    glade_widget_pack_property_set_enabled
                                            (GladeWidget *widget,
                                             const gchar *id_property,
                                             gboolean enabled);

Sets the enabled state of id_property in widget's packing properties; this is used for optional properties.

widget : a GladeWidget
id_property : a string naming a GladeProperty
enabled : setting enabled or disabled
Returns : whether id_property was found or not.

glade_widget_has_decendant ()

gboolean    glade_widget_has_decendant      (GladeWidget *widget,
                                             GType type);

widget : a GladeWidget
type : a GType
Returns : whether this GladeWidget has any decendants of type type or any decendants that implement the type interface

glade_widget_replace ()

void        glade_widget_replace            (GladeWidget *parent,
                                             GObject *old_object,
                                             GObject *new_object);

Replaces a GObject with another GObject inside a GObject which behaves as a container.

Note that both GObjects must be owned by a GladeWidget.

parent :
old_object : a GObject
new_object : a GObject

glade_widget_rebuild ()

void        glade_widget_rebuild            (GladeWidget *glade_widget);

Replaces the current widget instance with a new one while preserving all properties children and takes care of reparenting.

glade_widget : a GladeWidget

glade_widget_dup ()

GladeWidget* glade_widget_dup               (GladeWidget *template);

Creates a deep copy of GladeWidget.

template : a GladeWidget
Returns : The newly created GladeWidget

glade_widget_add_signal_handler ()

void        glade_widget_add_signal_handler (GladeWidget *widget,
                                             GladeSignal *signal_handler);

Adds a signal handler for widget

widget : A GladeWidget
signal_handler : The GladeSignal

glade_widget_remove_signal_handler ()

void        glade_widget_remove_signal_handler
                                            (GladeWidget *widget,
                                             GladeSignal *signal_handler);

Removes a signal handler from widget

widget : A GladeWidget
signal_handler : The GladeSignal

glade_widget_change_signal_handler ()

void        glade_widget_change_signal_handler
                                            (GladeWidget *widget,
                                             GladeSignal *old_signal_handler,
                                             GladeSignal *new_signal_handler);

Changes a GladeSignal on widget

widget : A GladeWidget
old_signal_handler : the old GladeSignal
new_signal_handler : the new GladeSignal

glade_widget_list_signal_handlers ()

GPtrArray*  glade_widget_list_signal_handlers
                                            (GladeWidget *widget,
                                             const gchar *signal_name);

widget : a GladeWidget
signal_name : the name of the signal
Returns : A GPtrArray of GladeSignal for signal_name

glade_widget_write ()

GladeWidgetInfo* glade_widget_write         (GladeWidget *widget,
                                             GladeInterface *interface);

TODO: write me

widget : a GladeWidget
interface : a GladeInterface
Returns :

glade_widget_read ()

GladeWidget* glade_widget_read              (GladeProject *project,
                                             GladeWidgetInfo *info);

project : a GladeProject
info : a GladeWidgetInfo
Returns : a new GladeWidget for project, based on info

glade_widget_has_launcher ()

gboolean    glade_widget_has_launcher       (GladeWidget *widget);

widget :
Returns :

glade_widget_launch_editor ()

void        glade_widget_launch_editor      (GladeWidget *widget);

Launches a custom editor from the backend for thie widget.

widget : a GladeWidget

glade_widget_get_parent ()

GladeWidget* glade_widget_get_parent        (GladeWidget *widget);

widget : A GladeWidget
Returns : The parenting GladeWidget

glade_widget_set_parent ()

void        glade_widget_set_parent         (GladeWidget *widget,
                                             GladeWidget *parent);

sets the parenting GladeWidget

widget : A GladeWidget
parent : the parenting GladeWidget (or NULL)

glade_widget_event_widget ()

GladeWidget* glade_widget_event_widget      (void);

During events, this function returns the deepest project widget at moust position, or NULL if it is not a mouse event.

Handle with care, you must be in an event for the return value to be meaningfull

Returns : a GladeWidget

glade_widget_superuser ()

gboolean    glade_widget_superuser          (void);

Checks if we are in superuser mode.

Superuser mode is when we are - Loading a project - Dupping a widget recursively - Rebuilding an instance for a construct-only property

In these cases, we must act like a load, this should be checked from the plugin when implementing containers, when undo/redo comes around, the plugin is responsable for maintaining the same container size when widgets are added/removed.

Returns :

glade_widget_push_superuser ()

void        glade_widget_push_superuser     (void);

Sets superuser mode


glade_widget_pop_superuser ()

void        glade_widget_pop_superuser      (void);

Unsets superuser mode

Property Details

The "anarchist" property

  "anarchist"            gboolean              : Read / Write / Construct Only

Whether this composite child is an ancestral child or an anarchist child.

Default value: FALSE


The "class" property

  "class"                gpointer              : Read / Write / Construct Only

The class of the associated gtk+ widget.


The "info" property

  "info"                 gpointer              : Write / Construct Only

A GladeWidgetInfo struct to base a new widget on.


The "internal" property

  "internal"             gchararray            : Read / Write / Construct

The internal name of the widget.

Default value: NULL


The "internal-name" property

  "internal-name"        gchararray            : Write / Construct Only

A generic name prefix for internal widgets.

Default value: NULL


The "name" property

  "name"                 gchararray            : Read / Write / Construct

The name of the widget.

Default value: NULL


The "object" property

  "object"               GObject               : Read / Write / Construct

The object associated.


The "parent" property

  "parent"               GladeWidget           : Read / Write / Construct

A pointer to the parenting GladeWidget.


The "project" property

  "project"              GladeProject          : Read / Write / Construct

The glade project that this widget belongs to.


The "properties" property

  "properties"           gpointer              : Read / Write / Construct Only

A list of GladeProperties.


The "reason" property

  "reason"               gint                  : Write / Construct Only

A GladeCreateReason for this creation.

Allowed values: [0,3]

Default value: 0


The "template" property

  "template"             GladeWidget           : Write / Construct Only

A GladeWidget template to base a new widget on.

Signal Details

The "add-signal-handler" signal

void        user_function                  (GladeWidget *gladewidget,
                                            gpointer     arg1,
                                            gpointer     user_data)        : Run last

gladewidget : the GladeWidget which received the signal.
arg1 : the GladeSignal that was added to gladewidget.
user_data : user data set when the signal handler was connected.

The "button-press-event" signal

gboolean    user_function                  (GladeWidget    *gladewidget,
                                            GdkEventButton *arg1,
                                            gpointer        user_data)        : Run last

gladewidget : the GladeWidget which received the signal.
arg1 : the GdkEvent
user_data : user data set when the signal handler was connected.

The "button-release-event" signal

gboolean    user_function                  (GladeWidget    *gladewidget,
                                            GdkEventButton *event,
                                            gpointer        user_data)        : Run last

gladewidget : the object which received the signal.
event :
user_data : user data set when the signal handler was connected.
Returns :

The "change-signal-handler" signal

void        user_function                  (GladeWidget *gladewidget,
                                            gpointer     arg1,
                                            gpointer     arg2,
                                            gpointer     user_data)        : Run last

gladewidget : the GladeWidget which received the signal.
arg1 : the old GladeSignal
arg2 : the new GladeSignal
user_data : user data set when the signal handler was connected.

The "enter-notify-event" signal

gboolean    user_function                  (GladeWidget      *gladewidget,
                                            GdkEventCrossing *arg1,
                                            gpointer          user_data)        : Run last

gladewidget : the GladeWidget which received the signal.
arg1 : the GdkEvent
user_data : user data set when the signal handler was connected.

The "motion-notify-event" signal

gboolean    user_function                  (GladeWidget    *gladewidget,
                                            GdkEventMotion *arg1,
                                            gpointer        user_data)        : Run last

gladewidget : the GladeWidget which received the signal.
arg1 : the GdkEvent
user_data : user data set when the signal handler was connected.

The "remove-signal-handler" signal

void        user_function                  (GladeWidget *gladewidget,
                                            gpointer     arg1,
                                            gpointer     user_data)        : Run last

gladewidget : the GladeWidget which received the signal.
arg1 : the GladeSignal that was removed from gladewidget.
user_data : user data set when the signal handler was connected.