Bonobo API Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
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.
struct BonoboUINode; |
The BonoboUINode structure is fully opaque to stop any code depending on libxml inadvertantly.
BonoboUINode* bonobo_ui_node_new (const char *name); |
Creates a new node with name name
name : | The name for the node |
Returns : | a new node pointer |
BonoboUINode* bonobo_ui_node_new_child (BonoboUINode *parent, const char *name); |
Create a new node as a child of parent with name name
parent : | the parent |
name : | the name of the new child |
Returns : | pointer to the new child |
BonoboUINode* bonobo_ui_node_copy (BonoboUINode *node, |
Copy an XML node, if recursive do a deep copy, otherwise just dup the node itself.
node : | the node |
recursive : | whether to dup children too. |
Returns : | a copy of the node |
void bonobo_ui_node_free (BonoboUINode *node); |
Frees the memory associated with the node and unlink it from the tree
node : | a node. |
void bonobo_ui_node_set_data (BonoboUINode *node, |
Associates some user data with the node pointer
node : | the node |
data : | user data |
|
Gets user data associated with node
node : | the node |
Returns : | the user data, see bonobo_ui_node_set_data |
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.
node : | The node |
name : | the name of the attr |
value : | the value for the 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
node : | the node |
name : | the name of the attr to get |
Returns : | the attr text. |
|
Determines whether the node has an attribute of name name
node : | the node |
name : | the name of the attr to detect |
Returns : | TRUE if the attr exists |
void bonobo_ui_node_remove_attr (BonoboUINode *node, const char *name); |
remove any attribute with name name from node
node : | the node |
name : | name of the attribute |
void bonobo_ui_node_add_child (BonoboUINode *parent, BonoboUINode *child); |
Add a child node to the parent node ( after the other children )
parent : | the parent |
child : | the new child |
void bonobo_ui_node_insert_before (BonoboUINode *sibling, BonoboUINode *prev_sibling); |
Insert a sibling before prev_sibling in a node list
sibling : | the node to insert |
prev_sibling : | the placeholder for insertion |
void bonobo_ui_node_unlink (BonoboUINode *node); |
Unlink node from its tree, ie. disassociate it with its parent
node : | the node |
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.
old_node : | node to be replaced |
new_node : | node to replace with |
void bonobo_ui_node_set_content (BonoboUINode *node, const char *content); |
Set the textual content of node to content
node : | the node |
content : | the new content |
char* bonobo_ui_node_get_content (BonoboUINode *node); |
see also: bonobo_ui_node_free_string
node : | the node |
Returns : | the content of node |
BonoboUINode* bonobo_ui_node_next (BonoboUINode *node); |
accesses the next node.
node : | the node |
Returns : | the node after node in the list |
BonoboUINode* bonobo_ui_node_prev (BonoboUINode *node); |
accesses the previous node.
node : | the node |
Returns : | the node before node in the list |
BonoboUINode* bonobo_ui_node_children (BonoboUINode *node); |
accesses the node's children.
node : | the node |
Returns : | the first child of node |
BonoboUINode* bonobo_ui_node_parent (BonoboUINode *node); |
accesses the node's parent.
node : | the node |
Returns : | the parent node of node |
const char* bonobo_ui_node_get_name (BonoboUINode *node); |
node : | the node |
Returns : | the name of node |
|
accesses the node's name.
node : | the node |
name : | a name the node might have |
Returns : | TRUE if node has name == name |
|
Determines whether node is transparent. A node is transparent if it has no content and either no attributes or a single 'name' attribute.
node : | the node |
Returns : | TRUE if transparent |
void bonobo_ui_node_copy_attrs (BonoboUINode *src, BonoboUINode *dest); |
This function copies all the attributes from src to dest effectively cloning the src node as dest
src : | the attr source node |
dest : | where to dump the attrs. |
void bonobo_ui_node_free_string (char *str); |
Frees a string returned by any of the get routines.
str : | the string to free. |
char* bonobo_ui_node_to_string (BonoboUINode *node, |
Convert the Node to its XML string representation see also: bonobo_ui_node_free_string
node : | the node tree |
recurse : | whether to dump its children as well |
Returns : | the string representation or NULL on error |
BonoboUINode* bonobo_ui_node_from_string (const char *str); |
Parses a string into an XML tree
str : | |
Returns : | the xml tree. |
BonoboUINode* bonobo_ui_node_from_file (const char *filename); |
Loads and parses the filename into an XML tree
filename : | |
Returns : | the xml tree. |
void bonobo_ui_node_strip (BonoboUINode **node); |
This function is used to purge unwanted content from a set of nodes, and particularly clean up stray Doc and NS pointers that cause serious trouble later.
node : | a pointer to the node's pointer |