![]() |
![]() |
![]() |
cpg-network Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
#define CPG_GROUP_CONST (obj) enum CpgGroupError; struct CpgGroup; struct CpgGroupClass; #define CPG_GROUP_ERROR GQuark cpg_group_error_quark (void
); CpgGroup * cpg_group_new (const gchar *id
,CpgObject *proxy
); const GSList * cpg_group_get_children (CpgGroup *group
); gboolean cpg_group_add (CpgGroup *group
,CpgObject *object
,GError **error
); gboolean cpg_group_remove (CpgGroup *group
,CpgObject *object
,GError **error
); gboolean cpg_group_set_proxy (CpgGroup *group
,CpgObject *proxy
); CpgObject * cpg_group_get_proxy (CpgGroup *group
); gboolean cpg_group_property_is_proxy (CpgGroup *group
,const gchar *name
); void cpg_group_foreach (CpgGroup *group
,GFunc func
,gpointer data
); CpgObject * cpg_group_get_child (CpgGroup *group
,const gchar *name
); CpgObject * cpg_group_find_object (CpgGroup *group
,const gchar *selector
); GSList * cpg_group_find_objects (CpgGroup *group
,const gchar *selector
); CpgProperty * cpg_group_find_property (CpgGroup *group
,const gchar *selector
); GSList * cpg_group_find_properties (CpgGroup *group
,const gchar *selector
); gboolean cpg_group_verify_remove_child (CpgGroup *group
,CpgObject *child
,GError **error
); CpgPropertyInterface * cpg_group_get_property_interface (CpgGroup *group
); GSList * cpg_group_get_auto_templates_for_child (CpgGroup *group
,CpgObject *child
); CpgGroupPrivate;
GEnum +----CpgGroupError
GObject +----CpgObject +----CpgGroup +----CpgImport +----CpgNetwork
CpgGroup implements CpgUsable, CpgAnnotatable, CpgLayoutable and CpgTaggable.
"child-added" :Run Last
"child-removed" :Run Last
"verify-add-child" :Run Last
"verify-remove-child" :Run Last
The CpgGroup is a special CpgObject that contains many objects as children. This can be used make sub-networks that can be easily instantiated, providing some common functionality.
Each group can have a proxy object associated which serves as a bridge between the outside and the inside of the group. In addition, each group has an interface (CpgPropertyInterface) which allows the designer of the group to expose a certain subset of its child properties on the group.
#define CPG_GROUP_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPG_TYPE_GROUP, CpgGroup const))
typedef enum { CPG_GROUP_ERROR_CHILD_ALREADY_EXISTS, CPG_GROUP_ERROR_CHILD_DOES_NOT_EXIST, CPG_GROUP_ERROR_INTERFACE_IS_PROXY, CPG_GROUP_ERROR_CHILD_IN_USE, CPG_GROUP_ERROR_NUM } CpgGroupError;
struct CpgGroupClass { gboolean (*add) (CpgGroup *group, CpgObject *object, GError **error); gboolean (*remove) (CpgGroup *group, CpgObject *object, GError **error); gboolean (*verify_remove_child) (CpgGroup *group, CpgObject *object, GError **error); GSList const *(*get_children) (CpgGroup *group); /* signals */ void (*child_added) (CpgGroup *group, CpgObject *object); void (*child_removed) (CpgGroup *group, CpgObject *object); };
const GSList * cpg_group_get_children (CpgGroup *group
);
Get a list of the children in group
.
|
A CpgGroup |
Returns : |
A GSList of CpgObject. [element-type CpgObject][transfer none] |
gboolean cpg_group_add (CpgGroup *group
,CpgObject *object
,GError **error
);
Add a child object to the group.
gboolean cpg_group_remove (CpgGroup *group
,CpgObject *object
,GError **error
);
Remove a child object from the group.
gboolean cpg_group_set_proxy (CpgGroup *group
,CpgObject *proxy
);
Set the proxy object of group
to proxy
.
CpgObject * cpg_group_get_proxy (CpgGroup *group
);
Get the proxy object of group
.
|
A CpgGroup |
Returns : |
A CpgObject. [transfer none] |
gboolean cpg_group_property_is_proxy (CpgGroup *group
,const gchar *name
);
void cpg_group_foreach (CpgGroup *group
,GFunc func
,gpointer data
);
Call func
for each child object in the group.
|
A CpgGroup |
|
A GFunc. [scope call] |
|
User data |
CpgObject * cpg_group_get_child (CpgGroup *group
,const gchar *name
);
Get a child from the group by name.
|
A CpgGroup |
|
The child name |
Returns : |
A CpgObject. [transfer none] |
CpgObject * cpg_group_find_object (CpgGroup *group
,const gchar *selector
);
Find object by specifying a path. For example, if there is another group "g" containing a state "s", you can use cpg_group_find_object (group, "g.s") to get the object.
|
A CpgGroup |
Returns : |
A CpgObject. [transfer none] |
GSList * cpg_group_find_objects (CpgGroup *group
,const gchar *selector
);
Find objects by specifying a path. For example, if there is another group "g" containing a state "s", you can use cpg_group_find_object (group, "g.s") to get the object.
|
A CpgGroup |
Returns : |
A CpgObject. [transfer container][element-type CpgObject] |
CpgProperty * cpg_group_find_property (CpgGroup *group
,const gchar *selector
);
Find a property by specifying an object path. For example, if there is another group "g" containing a state "s" with a property "x", you can use cpg_group_find_property (group, "g.s.x") to get the property.
|
A CpgGroup |
Returns : |
A CpgProperty. [transfer none] |
GSList * cpg_group_find_properties (CpgGroup *group
,const gchar *selector
);
Find properties by specifying a path. For example, if there is another group "g" containing a state "s" with property "x", you can use cpg_group_find_properties (group, "g.s.x") to get the property.
|
A CpgGroup |
Returns : |
A list of CpgProperty. [transfer container][element-type CpgProperty] |
gboolean cpg_group_verify_remove_child (CpgGroup *group
,CpgObject *child
,GError **error
);
CpgPropertyInterface * cpg_group_get_property_interface (CpgGroup *group
);
Get the property interface of the group.
|
A CpgGroup |
Returns : |
A CpgPropertyInterface. [transfer none] |
GSList * cpg_group_get_auto_templates_for_child (CpgGroup *group
,CpgObject *child
);
Get the templates that were automatically applied from the group to the child.
|
A CpgGroup |
|
A CpgObject |
Returns : |
A GSList of CpgObject. [transfer container][allow-none] |
"child-added"
signalvoid user_function (CpgGroup *object,
CpgObject *action,
gpointer user_data) : Run Last
Emitted when a child object is added to the group
"child-removed"
signalvoid user_function (CpgGroup *object,
CpgObject *action,
gpointer user_data) : Run Last
Emitted when a child object is removed from the group
"verify-add-child"
signalgboolean user_function (CpgGroup *object,
CpgObject *child,
gpointer error,
gpointer user_data) : Run Last