|  |  |  | Goffice Reference Manual |  | 
|---|---|---|---|---|
#include <goffice/graph/gog-object.h>
            GogObject;
#define     GOG_PARAM_PERSISTENT
#define     GOG_PARAM_FORCE_SAVE
void        (*GogDataDuplicator)            (GogDataset const *src,
                                             GogDataset *dst);
enum        GogObjectNamingConv;
            GogObjectRole;
GogObject*  gog_object_dup                  (GogObject const *src,
                                             GogObject *new_parent,
                                             GogDataDuplicator datadup);
GogObject*  gog_object_get_parent           (GogObject const *obj);
GogObject*  gog_object_get_parent_typed     (GogObject const *obj,
                                             GType t);
GogGraph*   gog_object_get_graph            (GogObject const *obj);
GogTheme*   gog_object_get_theme            (GogObject const *obj);
unsigned    gog_object_get_id               (GogObject const *obj);
charconst  * gog_object_get_name            (GogObject const *obj);
void        gog_object_set_name             (GogObject *obj,
                                             char *name,
                                             GError **err);
GSList*     gog_object_get_children         (GogObject const *obj,
                                             GogObjectRole const *filter);
GogObject*  gog_object_get_child_by_role    (GogObject const *obj,
                                             GogObjectRole const *role);
gpointer    gog_object_get_editor           (GogObject *obj,
                                             GogDataAllocator *dalloc,
                                             GOCmdContext *cc);
GogView*    gog_object_new_view             (GogObject const *obj,
                                             GogView *parent);
gboolean    gog_object_is_deletable         (GogObject const *obj);
GSList*     gog_object_possible_additions   (GogObject const *parent);
GogObject*  gog_object_add_by_role          (GogObject *parent,
                                             GogObjectRole const *role,
                                             GogObject *child);
GogObject*  gog_object_add_by_name          (GogObject *parent,
                                             char const *role,
                                             GogObject *child);
void        gog_object_can_reorder          (GogObject const *obj,
                                             gboolean *inc_ok,
                                             gboolean *dec_ok);
GogObject*  gog_object_reorder              (GogObject const *obj,
                                             gboolean inc,
                                             gboolean goto_max);
GogObjectPosition gog_object_get_position_flags
                                            (GogObject const *obj,
                                             GogObjectPosition mask);
gboolean    gog_object_set_position_flags   (GogObject *obj,
                                             GogObjectPosition flags,
                                             GogObjectPosition mask);
void        gog_object_get_manual_position  (GogObject *obj,
                                             GogViewAllocation *pos);
void        gog_object_set_manual_position  (GogObject *obj,
                                             GogViewAllocation const *pos);
GogViewAllocation gog_object_get_manual_allocation
                                            (GogObject *gobj,
                                             GogViewAllocation const *parent_allocation,
                                             GogViewRequisition const *requisition);
GogObjectRoleconst * gog_object_find_role_by_name
                                            (GogObject const *obj,
                                             char const *role);
void        gog_object_update               (GogObject *obj);
gboolean    gog_object_request_update       (GogObject *obj);
void        gog_object_emit_changed         (GogObject *obj,
                                             gboolean size);
gboolean    gog_object_clear_parent         (GogObject *obj);
gboolean    gog_object_set_parent           (GogObject *child,
                                             GogObject *parent,
                                             GogObjectRole const *role,
                                             unsigned int id);
void        gog_object_register_roles       (GogObjectClass *klass,
                                             GogObjectRole const *roles,
                                             unsigned n_roles );
void        gog_object_request_editor_update
                                            (GogObject *obj);
"alignment" gchararray : Read / Write "anchor" gchararray : Read / Write "compass" gchararray : Read / Write "id" guint : Read / Write "is-position-manual" gboolean : Read / Write "position" gchararray : Read / Write
"changed" void user_function (GogObject *gogobject, gboolean arg1, gpointer user_data) : Run last "child-added" void user_function (GogObject *gogobject, GObject *arg1, gpointer user_data) : Run last "child-name-changed" void user_function (GogObject *gogobject, GObject *arg1, gpointer user_data) : Run last "child-removed" void user_function (GogObject *gogobject, GObject *arg1, gpointer user_data) : Run last "children-reordered" void user_function (GogObject *gogobject, gpointer user_data) : Run last "name-changed" void user_function (GogObject *gogobject, gpointer user_data) : Run last "update-editor" void user_function (GogObject *gogobject, gpointer user_data) : Run last
#define GOG_PARAM_FORCE_SAVE (1 << (G_PARAM_USER_SHIFT+1)) /* even if the value == default */
void (*GogDataDuplicator) (GogDataset const *src, GogDataset *dst);
| src: | |
| dst: | 
typedef enum {
	GOG_OBJECT_NAME_BY_ROLE	 = 1,
	GOG_OBJECT_NAME_BY_TYPE  = 2,
	GOG_OBJECT_NAME_MANUALLY = 3
} GogObjectNamingConv;
typedef struct {
	char const *id;	/* for persistence */
	char const *is_a_typename;
	unsigned    priority;
	guint32		  	allowable_positions;
	GogObjectPosition 	default_position;
	GogObjectNamingConv	naming_conv;
	gboolean   (*can_add)	  (GogObject const *parent);
	gboolean   (*can_remove)  (GogObject const *child);
	GogObject *(*allocate)    (GogObject *parent);
	void	   (*post_add)    (GogObject *parent, GogObject *child);
	void       (*pre_remove)  (GogObject *parent, GogObject *child);
	void       (*post_remove) (GogObject *parent, GogObject *child);
	union { /* allow people to tack some useful tidbits on the end */
		int		i;
		float		f;
		gpointer	p;
	} user;
} GogObjectRole;
GogObject* gog_object_dup (GogObject const *src, GogObject *new_parent, GogDataDuplicator datadup);
Create a deep copy of obj using new_parent as its parent.
GogObject* gog_object_get_parent (GogObject const *obj);
| obj: | a GogObject | 
| Returns : | obj's parent, potentially NULL if it has not been added to a
heirarchy yet.  does not change ref-count in any way. | 
GogObject* gog_object_get_parent_typed (GogObject const *obj, GType t);
GogGraph* gog_object_get_graph (GogObject const *obj);
| obj: | const * GogObject | 
| Returns : | the parent graph. | 
charconst * gog_object_get_name (GogObject const *obj);
No need to free the result
| obj: | a GogObject | 
| Returns : | 
void gog_object_set_name (GogObject *obj, char *name, GError **err);
Assign the new name and signals that it has changed.
NOTE : it _absorbs_ name rather than copying it, and generates a new name
if name == NULL
GSList* gog_object_get_children (GogObject const *obj, GogObjectRole const *filter);
The list needs to be Freed
| obj: | a GogObject | 
| filter: | an optional GogObjectRole to use as a filter | 
| Returns : | 
GogObject* gog_object_get_child_by_role (GogObject const *obj, GogObjectRole const *role);
A convenience routine to handle a unique child
| obj: | a GogObject | 
| role: | a GogObjectRole to use as a filter | 
| Returns : | NULL and spews an error if there is more than one. | 
gpointer gog_object_get_editor (GogObject *obj, GogDataAllocator *dalloc, GOCmdContext *cc);
Builds an object property editor, by calling GogObject::populate_editor virtual functions.
| obj: | a GogObject | 
| dalloc: | a GogDataAllocator | 
| cc: | a GOCmdContext | 
| Returns : | a GtkNotebook widget | 
GogView* gog_object_new_view (GogObject const *obj, GogView *parent);
Creates a new GogView associated to obj, and sets its parent to parent.
gboolean gog_object_is_deletable (GogObject const *obj);
Can the specified obj be deleted ?
| obj: | a GogObject | 
| Returns : | 
GSList* gog_object_possible_additions (GogObject const *parent);
| parent: | a GogObject | 
| Returns : | a list of GogObjectRoles that could be added. The resulting list needs to be freed | 
GogObject* gog_object_add_by_role (GogObject *parent, GogObjectRole const *role, GogObject *child);
| parent: | |
| role: | |
| child: | |
| Returns : | 
GogObject* gog_object_add_by_name (GogObject *parent, char const *role, GogObject *child);
void gog_object_can_reorder (GogObject const *obj, gboolean *inc_ok, gboolean *dec_ok);
If obj can move forward or backward in its parents child list
| obj: | GogObject | 
| inc_ok: | possibly NULL pointer. | 
| dec_ok: | possibly NULL pointer. | 
GogObject* gog_object_reorder (GogObject const *obj, gboolean inc, gboolean goto_max);
| obj: | GogObject | 
| inc: | |
| goto_max: | |
| Returns : | the object just before objin the new ordering. | 
GogObjectPosition gog_object_get_position_flags
                                            (GogObject const *obj,
                                             GogObjectPosition mask);
Retrieve position flags of GogObject obj, masked by mask.
| obj: | GogObject | 
| mask: | GogObjectPosition | 
| Returns : | 
gboolean gog_object_set_position_flags (GogObject *obj, GogObjectPosition flags, GogObjectPosition mask);
Attempts to set the position flags of obj to flags.
| obj: | GogObject | 
| flags: | GogObjectPosition | 
| mask: | GogObjectPosition | 
| Returns : | TRUE the new flags are permitted. | 
void gog_object_get_manual_position (GogObject *obj, GogViewAllocation *pos);
FIXME
| obj: | GogObject | 
| pos: | GogViewAllocation | 
void gog_object_set_manual_position (GogObject *obj, GogViewAllocation const *pos);
set manual position of given object, in points.
| obj: | GogObject | 
| pos: | GogViewAllocation | 
GogViewAllocation gog_object_get_manual_allocation
                                            (GogObject *gobj,
                                             GogViewAllocation const *parent_allocation,
                                             GogViewRequisition const *requisition);
| gobj: | GogObject | 
| parent_allocation: | GogViewAllocation | 
| requisition: | GogViewRequisition | 
| Returns : | manual allocation of a GogObject given its parent allocation and its size request. | 
GogObjectRoleconst * gog_object_find_role_by_name (GogObject const *obj, char const *role);
| obj: | |
| role: | |
| Returns : | 
void gog_object_emit_changed (GogObject *obj, gboolean size);
| obj: | |
| size: | 
gboolean gog_object_clear_parent (GogObject *obj);
Does _not_ unref the child, which in effect adds a ref by freeing up the ref previously associated with the parent.
| obj: | GogObject | 
| Returns : | 
gboolean gog_object_set_parent (GogObject *child, GogObject *parent, GogObjectRole const *role, unsigned int id);
Absorbs a ref to child
void        gog_object_register_roles       (GogObjectClass *klass,
                                             GogObjectRole const *roles,
                                             unsigned n_roles );
| klass: | |
| roles: | |
| Param3: | 
alignment" property"alignment" gchararray : Read / Write
Alignment flag.
Default value: "fill"
anchor" property"anchor" gchararray : Read / Write
Anchor for manual position.
Default value: "top-left"
compass" property"compass" gchararray : Read / Write
Compass auto position flags.
Default value: "top"
id" property"id" guint : Read / Write
Object numerical ID.
Allowed values: <= G_MAXINT
Default value: 0
is-position-manual" property"is-position-manual" gboolean : Read / Write
Is position manual.
Default value: FALSE
position" property"position" gchararray : Read / Write
Position and size of object, in percentage of parent size.
Default value: "0 0 1 1"
void user_function (GogObject *gogobject, gboolean arg1, gpointer user_data) : Run last
| gogobject: | the object which received the signal. | 
| arg1: | |
| user_data: | user data set when the signal handler was connected. | 
void user_function (GogObject *gogobject, GObject *arg1, gpointer user_data) : Run last
| gogobject: | the object which received the signal. | 
| arg1: | |
| user_data: | user data set when the signal handler was connected. | 
void user_function (GogObject *gogobject, GObject *arg1, gpointer user_data) : Run last
| gogobject: | the object which received the signal. | 
| arg1: | |
| user_data: | user data set when the signal handler was connected. | 
void user_function (GogObject *gogobject, GObject *arg1, gpointer user_data) : Run last
| gogobject: | the object which received the signal. | 
| arg1: | |
| user_data: | user data set when the signal handler was connected. | 
void user_function (GogObject *gogobject, gpointer user_data) : Run last
| gogobject: | the object which received the signal. | 
| user_data: | user data set when the signal handler was connected. | 
void user_function (GogObject *gogobject, gpointer user_data) : Run last
| gogobject: | the object which received the signal. | 
| user_data: | user data set when the signal handler was connected. |