Top |
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).
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 |
||
child |
the GladeWidget to add |
|
at_mouse |
whether the added widget should be added at the current mouse position |
void glade_widget_remove_child (GladeWidget *parent
,GladeWidget *child
);
Removes child
from parent
in a generic way for this GladeWidget parent.
void glade_widget_replace (GladeWidget *parent
,GObject *old_object
,GObject *new_object
);
Replaces a GObject with another GObject inside a GladeWidget which behaves as a container.
Note that both GObjects must be owned by a GladeWidget.
void
glade_widget_rebuild (GladeWidget *gwidget
);
Replaces the current widget instance with a new one while preserving all properties children and takes care of reparenting.
GladeWidget * glade_widget_read (GladeProject *project
,GladeWidget *parent
,GladeXmlNode *node
,const gchar *internal
);
Creates a new GladeWidget from a XML node.
If node is a template and its parent class is abstract/non instantiatable, Glade will use a class with the GladeInstantiable prefix instead.
For example, with a GtkBin template Glade will GladeInstantiableGtkBin class
project |
||
parent |
The parent GladeWidget or |
[nullable] |
node |
||
internal |
the name of an internal child name. |
[nullable] |
void glade_widget_write (GladeWidget *widget
,GladeXmlContext *context
,GladeXmlNode *node
);
Recursively writes out widget
and its children
and appends the created GladeXmlNode to node
.
void glade_widget_read_child (GladeWidget *widget
,GladeXmlNode *node
);
Reads in a child widget from the xml (handles 'child' tag)
void glade_widget_write_child (GladeWidget *widget
,GladeWidget *child
,GladeXmlContext *context
,GladeXmlNode *node
);
Writes out a widget to the xml, takes care of packing properties and special child types.
void glade_widget_write_placeholder (GladeWidget *parent
,GObject *object
,GladeXmlContext *context
,GladeXmlNode *node
);
Writes out a placeholder to the xml
void glade_widget_write_special_child_prop (GladeWidget *parent
,GObject *object
,GladeXmlContext *context
,GladeXmlNode *node
);
GladeEditorProperty * glade_widget_create_editor_property (GladeWidget *widget
,const gchar *property
,gboolean packing
,gboolean use_command
);
This is a convenience function to create a GladeEditorProperty corresponding
to property
void glade_widget_set_child_type_from_node (GladeWidget *parent
,GObject *child
,GladeXmlNode *node
);
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).
void glade_widget_copy_signals (GladeWidget *widget
,GladeWidget *template_widget
);
Sets signals in widget
based on the values of
matching signals in template_widget
void glade_widget_copy_properties (GladeWidget *widget
,GladeWidget *template_widget
,gboolean copy_parentless
,gboolean exact
);
Sets properties in widget
based on the values of
matching properties in template_widget
widget |
a 'dest' GladeWidget |
|
template_widget |
a 'src' GladeWidget |
|
copy_parentless |
whether to copy reffed widgets at all |
|
exact |
whether to copy reffed widgets exactly |
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.
GladeProperty * glade_widget_get_property (GladeWidget *widget
,const gchar *id_property
);
GladeProperty * glade_widget_get_pack_property (GladeWidget *widget
,const gchar *id_property
);
GList * glade_widget_dup_properties (GladeWidget *dest_widget
,GList *template_props
,gboolean as_load
,gboolean copy_parentless
,gboolean exact
);
Copies a list of properties, if as_load
is specified, then
properties that are not saved to the glade file are ignored.
dest_widget |
the widget we are copying properties for |
|
template_props |
the GladeProperty list to copy. |
[element-type GladeProperty] |
as_load |
whether to behave as if loading the project |
|
copy_parentless |
whether to copy reffed widgets at all |
|
exact |
whether to copy reffed widgets exactly |
A newly allocated GList of new GladeProperty objects.
[transfer full][element-type GladeProperty]
void glade_widget_remove_property (GladeWidget *widget
,const gchar *id_property
);
Removes the GladeProperty indicated by id_property
from widget
(this is intended for use in the plugin, to
remove properties from composite children that don't make
sense to allow the user to specify, notably - properties
that are proxied through the composite widget's properties or
style properties).
void
glade_widget_show (GladeWidget *widget
);
Display widget
in it's project's GladeDesignView
void glade_widget_add_signal_handler (GladeWidget *widget
,const GladeSignal *signal_handler
);
Adds a signal handler for widget
void glade_widget_remove_signal_handler (GladeWidget *widget
,const GladeSignal *signal_handler
);
Removes a signal handler from widget
void glade_widget_change_signal_handler (GladeWidget *widget
,const GladeSignal *old_signal_handler
,const GladeSignal *new_signal_handler
);
Changes a GladeSignal on widget
GPtrArray * glade_widget_list_signal_handlers (GladeWidget *widget
,const gchar *signal_name
);
gboolean glade_widget_has_decendant (GladeWidget *widget
,GType type
);
gboolean glade_widget_event (GladeWidget *gwidget
,GdkEvent *event
);
Feed an event to be handled on the project GladeWidget hierarchy.
gboolean glade_widget_placeholder_relation (GladeWidget *parent
,GladeWidget *widget
);
Returns whether placeholders should be used in operations concerning this parent & child.
Currently that criteria is whether parent
is a
GtkContainer, widget
is a GtkWidget and the parent
adaptor has been marked to use placeholders.
GladeWidgetAction * glade_widget_get_action (GladeWidget *widget
,const gchar *action_path
);
Returns a GladeWidgetAction object indentified by action_path
.
GladeWidgetAction * glade_widget_get_pack_action (GladeWidget *widget
,const gchar *action_path
);
Returns a GladeWidgetAction object indentified by action_path
.
gboolean glade_widget_set_action_visible (GladeWidget *widget
,const gchar *action_path
,gboolean visible
);
Sets the visibility of action_path
in widget
gboolean glade_widget_set_action_sensitive (GladeWidget *widget
,const gchar *action_path
,gboolean sensitive
);
Sets the sensitivity of action_path
in widget
gboolean glade_widget_set_pack_action_sensitive (GladeWidget *widget
,const gchar *action_path
,gboolean sensitive
);
Sets the sensitivity of action_path
in widget
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 properties on other objects that refer to this object.
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 properties on other objects that refer to this object.
void glade_widget_object_set_property (GladeWidget *widget
,const gchar *property_name
,const GValue *value
);
This function applies value
to the property property_name
on
the runtime object of widget
.
void glade_widget_object_get_property (GladeWidget *widget
,const gchar *property_name
,GValue *value
);
This function retrieves the value of the property property_name
on
the runtime object of widget
and sets it in value
.
void glade_widget_child_set_property (GladeWidget *widget
,GladeWidget *child
,const gchar *property_name
,const GValue *value
);
Sets child
's packing property identified by property_name
to value
.
void glade_widget_child_get_property (GladeWidget *widget
,GladeWidget *child
,const gchar *property_name
,GValue *value
);
Gets child
's packing property identified by property_name
.
gboolean glade_widget_property_get (GladeWidget *widget
,const gchar *id_property
,...
);
Gets the value of id_property
in widget
widget |
||
id_property |
a string naming a GladeProperty |
|
... |
The return location for the value of the said GladeProperty |
gboolean glade_widget_property_set (GladeWidget *widget
,const gchar *id_property
,...
);
Sets the value of id_property
in widget
widget |
||
id_property |
a string naming a GladeProperty |
|
... |
A value of the correct type for the said GladeProperty |
gboolean glade_widget_pack_property_get (GladeWidget *widget
,const gchar *id_property
,...
);
Gets the value of id_property
in widget
packing properties
widget |
||
id_property |
a string naming a GladeProperty |
|
... |
The return location for the value of the said GladeProperty |
gboolean glade_widget_pack_property_set (GladeWidget *widget
,const gchar *id_property
,...
);
Sets the value of id_property
in widget
packing properties
widget |
||
id_property |
a string naming a GladeProperty |
|
... |
The return location for the value of the said GladeProperty |
gboolean glade_widget_property_reset (GladeWidget *widget
,const gchar *id_property
);
Resets id_property
in widget
to it's default value
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
gboolean glade_widget_property_default (GladeWidget *widget
,const gchar *id_property
);
gboolean glade_widget_property_original_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
);
Sets the sensitivity of id_property
in widget
widget |
||
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 |
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 |
||
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 |
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.
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.
gboolean glade_widget_property_set_save_always (GladeWidget *widget
,const gchar *id_property
,gboolean setting
);
Sets whether id_property
in widget
should be special cased
to always be saved regardless of its default value.
(used for some special cases like properties
that are assigned initial values in composite widgets
or derived widget code).
gboolean glade_widget_pack_property_set_save_always (GladeWidget *widget
,const gchar *id_property
,gboolean setting
);
Sets whether id_property
in widget
should be special cased
to always be saved regardless of its default value.
(used for some special cases like properties
that are assigned initial values in composite widgets
or derived widget code).
gchar * glade_widget_property_string (GladeWidget *widget
,const gchar *id_property
,const GValue *value
);
Creates a printable string representing id_property
in
widget
, if value
is specified it will be used in place
of id_property
's real value (this is a convenience
function to print/debug properties usually from plugin
backends).
gchar * glade_widget_pack_property_string (GladeWidget *widget
,const gchar *id_property
,const GValue *value
);
Same as glade_widget_property_string()
but for packing
properties.
void glade_widget_set_name (GladeWidget *widget
,const gchar *name
);
Sets widget
's name to name
.
const gchar *
glade_widget_get_name (GladeWidget *widget
);
a pointer to widget
's name
This is what will be serialized as the widget's ID, unless
the name currently carries the GLADE_UNNAMED_PREFIX
.
void glade_widget_set_internal (GladeWidget *widget
,const gchar *internal
);
Sets the internal name of widget
to internal
void glade_widget_set_project (GladeWidget *widget
,GladeProject *project
);
Makes widget
belong to project
.
void glade_widget_set_parent (GladeWidget *widget
,GladeWidget *parent
);
sets the parenting GladeWidget
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.
gboolean glade_widget_add_verify (GladeWidget *widget
,GladeWidget *child
,gboolean user_feedback
);
Checks whether child
can be added to parent
.
If user_feedback
is TRUE
and child
cannot be
added then this shows a notification dialog to the user
explaining why.
widget |
||
child |
The child GladeWidget to add |
|
user_feedback |
whether a notification dialog should be presented in the case that the child cannot not be added. |
gboolean glade_widget_depends (GladeWidget *widget
,GladeWidget *other
);
glade_widget_depends
has been deprecated since version 3.18 and should not be used in newly-written code.
Determines whether widget
is somehow dependent on other
, in
which case it should be serialized after other
.
A widget is dependent on another widget. It does not take into account for children dependencies.
void glade_widget_ensure_name (GladeWidget *widget
,GladeProject *project
,gboolean use_command
);
GladeWidget * glade_widget_find_child (GladeWidget *widget
,const gchar *name
);
Finds a child widget named name
.
gchar *
glade_widget_generate_path_name (GladeWidget *widget
);
Creates a user friendly name to describe project widgets
GList *
glade_widget_get_children (GladeWidget *widget
);
Fetches any wrapped children of widget
.
The children of widget
This differs from a direct call to glade_widget_adaptor_get_children()
as
it only returns children which have an associated GladeWidget. This function will
not return any placeholders or internal composite children that have not been
exposed for Glade configuration
[transfer container][element-type GObject]
GdkDevice *
glade_widget_get_device_from_event (GdkEvent *event
);
glade_widget_get_device_from_event
is deprecated and should not be used in newly-written code.
use gdk_event_get_device()
instead.
Currently only motion and button events are handled (see GLADE_WIDGET_IS_EVENT)
void glade_widget_set_is_composite (GladeWidget *widget
,gboolean composite
);
Set's this widget to be toplevel composite object to be
eventually used with gtk_widget_class_set_template()
Only one widget in a project should be composite.
gboolean
glade_widget_get_is_composite (GladeWidget *widget
);
Checks if widget
is a composite template to be used
with gtk_widget_class_set_template()
.
GladeWidget *
glade_widget_get_locker (GladeWidget *widget
);
Get the current locked widget, locked widgets cannot be removed from the project until unlocked
GList *
glade_widget_get_packing_properties (GladeWidget *widget
);
GList *
glade_widget_get_parentless_reffed_widgets
(GladeWidget *widget
);
GladeProperty *
glade_widget_get_parentless_widget_ref
(GladeWidget *widget
);
GList *
glade_widget_get_signal_list (GladeWidget *widget
);
Compiles a list of GladeSignal elements
a newly allocated GList of
GladeSignal, the caller must call g_list_free()
to free the list.
[transfer container][element-type GladeSignal]
GtkTreeModel *
glade_widget_get_signal_model (GladeWidget *widget
);
a GtkTreeModel that can be used to view the widget's signals. The signal model is owned by the GladeWidget.
[transfer none]
void glade_widget_set_in_project (GladeWidget *widget
,gboolean in_project
);
gboolean glade_widget_is_ancestor (GladeWidget *widget
,GladeWidget *ancestor
);
Determines whether widget
is somewhere inside ancestor
, possibly with
intermediate containers.
void glade_widget_lock (GladeWidget *widget
,GladeWidget *locked
);
Sets locked
to be in a locked up state
spoken for by widget
, locked widgets cannot
be removed from the project until unlocked.
void
glade_widget_unlock (GladeWidget *widget
);
Unlocks widget
so that it can be removed
from the project again
gboolean glade_widget_set_pack_action_visible (GladeWidget *widget
,const gchar *action_path
,gboolean visible
);
Sets the visibility of action_path
in widget
void glade_widget_set_support_warning (GladeWidget *widget
,const gchar *warning
);
void
glade_widget_support_changed (GladeWidget *widget
);
Notifies that support metadata has changed on the widget.
void
glade_widget_verify (GladeWidget *widget
);
Verify this widget for deprecation and versioning warnings.
This function will update the widget's support warning.
void glade_widget_write_signals (GladeWidget *widget
,GladeXmlContext *context
,GladeXmlNode *node
);