Top | ![]() |
![]() |
![]() |
![]() |
The BonoboUINode API is designed to make XML node manipulation simple, and to hide the underlying implementation of the XML tree. This is to allow the use of some more efficient internal representation than libxml's at some later date.
BonoboUINode *
bonobo_ui_node_new (const char *name
);
Creates a new node with name name
BonoboUINode * bonobo_ui_node_new_child (BonoboUINode *parent
,const char *name
);
Create a new node as a child of parent
with name name
BonoboUINode * bonobo_ui_node_copy (BonoboUINode *node
,gboolean recursive
);
Copy an XML node, if recursive
do a deep copy, otherwise just dup the node itself.
void
bonobo_ui_node_free (BonoboUINode *node
);
Frees the memory associated with the node
and unlink it from the tree
void bonobo_ui_node_set_data (BonoboUINode *node
,gpointer data
);
Associates some user data with the node pointer
gpointer
bonobo_ui_node_get_data (BonoboUINode *node
);
Gets user data associated with node
void bonobo_ui_node_set_attr (BonoboUINode *node
,const char *name
,const char *value
);
Set the attribute of name
on node
to value
overriding any
previous values of that attr.
char * bonobo_ui_node_get_attr (BonoboUINode *node
,const char *name
);
Fetch the value of an attr of name name
from node
see also: bonobo_ui_node_free_string
gboolean bonobo_ui_node_has_attr (BonoboUINode *node
,const char *name
);
Determines whether the node
has an attribute of name name
void bonobo_ui_node_remove_attr (BonoboUINode *node
,const char *name
);
remove any attribute with name name
from node
void bonobo_ui_node_add_child (BonoboUINode *parent
,BonoboUINode *child
);
Add a child
node to the parent
node ( after the other children )
void bonobo_ui_node_insert_before (BonoboUINode *after
,BonoboUINode *new_before
);
Insert a sibling
before prev_sibling
in a node list
void
bonobo_ui_node_unlink (BonoboUINode *node
);
Unlink node
from its tree, ie. disassociate it with its parent
void bonobo_ui_node_replace (BonoboUINode *old_node
,BonoboUINode *new_node
);
Replace old_node
with new_node
in the tree. old_node
is
left unlinked and floating with its children.
void bonobo_ui_node_set_content (BonoboUINode *node
,const char *content
);
Set the textual content of node
to content
char *
bonobo_ui_node_get_content (BonoboUINode *node
);
see also: bonobo_ui_node_free_string
gboolean
bonobo_ui_node_transparent (BonoboUINode *node
);
Determines whether node
is transparent. A node is
transparent if it has no content and either no attributes
or a single 'name' attribute.
void bonobo_ui_node_copy_attrs (const BonoboUINode *src
,BonoboUINode *dest
);
This function copies all the attributes from src
to dest
effectively cloning the src
node as dest
void
bonobo_ui_node_free_string (char *str
);
Frees a string returned by any of the get routines.
void
bonobo_ui_node_strip (BonoboUINode **node
);
A compat function for legacy reasons.
char * bonobo_ui_node_to_string (BonoboUINode *node
,gboolean recurse
);
Convert the node to its XML string representation.
BonoboUINode *
bonobo_ui_node_from_string (const char *str
);
Parses a string into an XML tree
BonoboUINode *
bonobo_ui_node_from_file (const char *filename
);
Loads and parses the filename into an XML tree