|  |  |  | Glade UI Builder Reference Manual |  | 
|---|---|---|---|---|
#include <glade.h> gboolean glade_command_execute (GladeCommand *command); gboolean glade_command_undo (GladeCommand *command); gboolean glade_command_unifies (GladeCommand *command, GladeCommand *other); void glade_command_collapse (GladeCommand *command, GladeCommand *other); void glade_command_push_group (const gchar *fmt, ...); void glade_command_pop_group (void); void glade_command_set_name (GladeWidget *glade_widget, const gchar *name); GladeWidget* glade_command_create (GladeWidgetAdaptor *adaptor, GladeWidget *parent, GladePlaceholder *placeholder, GladeProject *project); void glade_command_delete (GList *widgets); GCSetPropData; void glade_command_set_property (GladeProperty *property, ...); void glade_command_set_properties (GladeProperty *property, const GValue *old_value, const GValue *new_value, ...); void glade_command_set_properties_list (GladeProject *project, GList *props); void glade_command_cut (GList *widgets); void glade_command_copy (GList *widgets); void glade_command_paste (GList *widgets, GladeWidget *parent, GladePlaceholder *placeholder); void glade_command_add_signal (GladeWidget *glade_widget, const GladeSignal *signal); void glade_command_remove_signal (GladeWidget *glade_widget, const GladeSignal *signal); void glade_command_change_signal (GladeWidget *glade_widget, const GladeSignal *old, const GladeSignal *new_signal);
The Glade Command api allows us to view user actions as items and execute and undo those items; each GladeProject has its own Undo/Redo stack.
gboolean glade_command_execute (GladeCommand *command);
Executes command
| command: | A GladeCommand | 
| Returns : | whether the command was successfully executed | 
gboolean glade_command_undo (GladeCommand *command);
Undo the effects of command
| command: | A GladeCommand | 
| Returns : | whether the command was successfully reversed | 
gboolean    glade_command_unifies           (GladeCommand *command,
                                             GladeCommand *other);
Checks whether command and other can be unified
to make one single command.
| command: | A GladeCommand | 
| other: | another GladeCommand | 
| Returns : | whether they can be unified. | 
void        glade_command_collapse          (GladeCommand *command,
                                             GladeCommand *other);
Merges other into command, so that command now
covers both commands and other can be dispensed with.
| command: | A GladeCommand | 
| other: | another GladeCommand | 
void        glade_command_push_group        (const gchar *fmt,
                                             ...);
Marks the begining of a group.
| fmt: | The collective desctiption of the command group. only the description of the first group on the stack is used when embedding groups. | 
| ...: | args to the format string. | 
void glade_command_set_name (GladeWidget *glade_widget, const gchar *name);
| glade_widget: | |
| name: | 
GladeWidget* glade_command_create (GladeWidgetAdaptor *adaptor, GladeWidget *parent, GladePlaceholder *placeholder, GladeProject *project);
Creates a new widget using adaptor and put in place of the placeholder
in the project
| adaptor: | A GladeWidgetAdaptor | 
| parent: | |
| placeholder: | the placeholder which will be substituted by the widget | 
| project: | the project his widget belongs to. | 
| Returns : | the newly created widget. | 
void glade_command_delete (GList *widgets);
Performs a delete command on the list of widgets.
| widgets: | a GList of GladeWidgets | 
typedef struct {
	GladeProperty *property;
	GValue        *new_value;
	GValue        *old_value;
} GCSetPropData;
GladeProperties can be set in a list as one command, for Undo purposes; we store the list of GCSetPropData with their old and new GValue.
| GladeProperty * property; | A GladeProperty to set | 
| GValue * new_value; | The new GValue to assign to property | 
| GValue * old_value; | The old GValue of property | 
void glade_command_set_property (GladeProperty *property, ...);
| property: | |
| ...: | 
void glade_command_set_properties (GladeProperty *property, const GValue *old_value, const GValue *new_value, ...);
| property: | |
| old_value: | |
| new_value: | |
| ...: | 
void        glade_command_set_properties_list
                                            (GladeProject *project,
                                             GList *props);
| project: | |
| props: | 
void glade_command_cut (GList *widgets);
Removes the list of widgets and adds them to the clipboard.
| widgets: | a GList of GladeWidgets | 
void glade_command_copy (GList *widgets);
Copies the list of widgets and adds them to the clipboard.
| widgets: | a GList of GladeWidgets | 
void        glade_command_paste             (GList *widgets,
                                             GladeWidget *parent,
                                             GladePlaceholder *placeholder);
Performs a paste command on all widgets in widgets to parent, possibly
replacing placeholder (note toplevels dont need a parent; the active project
will be used when pasting toplevel objects).
| widgets: | a GList of GladeWidget | 
| parent: | a GladeWidget | 
| placeholder: | a GladePlaceholder | 
void glade_command_add_signal (GladeWidget *glade_widget, const GladeSignal *signal);
TODO: write me
| glade_widget: | a GladeWidget | 
| signal: | a GladeSignal | 
void glade_command_remove_signal (GladeWidget *glade_widget, const GladeSignal *signal);
TODO: write me
| glade_widget: | a GladeWidget | 
| signal: | a GladeSignal | 
void glade_command_change_signal (GladeWidget *glade_widget, const GladeSignal *old, const GladeSignal *new_signal);
TODO: write me
| glade_widget: | a GladeWidget | 
| old: | a GladeSignal | 
| new_signal: |