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);
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_widget);
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_widget,
                                                         gboolean exact);
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);
gboolean            glade_widget_superuser              (void);
void                glade_widget_push_superuser         (void);
void                glade_widget_pop_superuser          (void);

Object Hierarchy


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

Properties


  "adaptor"                  GladeGObjectAdaptor   : Read / Write / Construct Only
  "anarchist"                gboolean              : 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
  "toplevel-height"          gint                  : Read / Write
  "toplevel-width"           gint                  : Read / Write

Signals


  "action-activated"                               : Run Last / Has Details
  "add-signal-handler"                             : Run Last
  "button-press-event"                             : Run Last
  "button-release-event"                           : Run Last
  "change-signal-handler"                          : Run Last
  "motion-notify-event"                            : Run Last
  "remove-signal-handler"                          : 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_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 in it's project's GladeDesignView

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_widget);

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

widget :

a 'dest' GladeWidget

template_widget :

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_widget,
                                                         gboolean exact);

Creates a deep copy of GladeWidget. if exact is specified, the widget name is preserved and signals are carried over (this is used to maintain names & signals in Cut/Paste context as opposed to Copy/Paste contexts).

template_widget :

a GladeWidget

exact :

whether or not to creat an exact duplicate

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_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 "adaptor" property

  "adaptor"                  GladeGObjectAdaptor   : Read / Write / Construct Only

The class adaptor for the associated widget.


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 "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.


The "toplevel-height" property

  "toplevel-height"          gint                  : Read / Write

The height of the widget when toplevel in the GladeDesignLayout.

Allowed values: >= -1

Default value: -1


The "toplevel-width" property

  "toplevel-width"           gint                  : Read / Write

The width of the widget when toplevel in the GladeDesignLayout.

Allowed values: >= -1

Default value: -1

Signal Details

The "action-activated" signal

gboolean            user_function                      (GladeWidget *widget,
                                                        gchar       *action_id,
                                                        gpointer     user_data)      : Run Last / Has Details

Use this to catch up actions. This signal is proxied from GladeWidgetAdaptor's "action-emited" signal default handler.

widget :

the GladeWidget which received the signal.

action_id :

the action id (signal detail) or NULL.

user_data :

user data set when the signal handler was connected.

Returns :

TRUE to stop others handlers being invoked.

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 "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.