Bonobo API Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# BonoboUIXml

## Name

BonoboUIXml -- A XML tree wrapper that implements tree merging logic

## Synopsis

    struct      BonoboUIXml;
    typedef     BonoboUIXmlData;
    gboolean    (*BonoboUIXmlCompareFn)         (gpointer id_a,
                                                 gpointer id_b);
    BonoboUIXmlData* (*BonoboUIXmlDataNewFn)    (void);
    void        (*BonoboUIXmlDataFreeFn)        (BonoboUIXmlData *data);
    void        (*BonoboUIXmlDumpFn)            (BonoboUIXml *tree,
                                                 BonoboUINode *node);
    void        (*BonoboUIXmlAddNode)           (BonoboUINode *parent,
                                                 BonoboUINode *child,
                                                 gpointer user_data);
    typedef     BonoboUIXmlClass;
    void        (*BonoboUIXmlWatchFn)           (BonoboUIXml *xml,
                                                 const char *path,
                                                 BonoboUINode *opt_node,
                                                 gpointer user_data);
    GtkType     bonobo_ui_xml_get_type          (void);
    BonoboUIXml* bonobo_ui_xml_new              (BonoboUIXmlCompareFn compare,
                                                 BonoboUIXmlDataNewFn data_new,
                                                 BonoboUIXmlDataFreeFn data_free,
                                                 BonoboUIXmlDumpFn dump,
                                                 BonoboUIXmlAddNode add_node,
                                                 gpointer user_data);
    gpointer    bonobo_ui_xml_get_data          (BonoboUIXml *tree,
                                                 BonoboUINode *node);
    void        bonobo_ui_xml_set_dirty         (BonoboUIXml *tree,
                                                 BonoboUINode *node);
    void        bonobo_ui_xml_clean             (BonoboUIXml *tree,
                                                 BonoboUINode *node);
    BonoboUINode* bonobo_ui_xml_get_path        (BonoboUIXml *tree,
                                                 const char *path);
    BonoboUINode* bonobo_ui_xml_get_path_wildcard
                                                (BonoboUIXml *tree,
                                                 const char *path,
                                                 gboolean *wildcard);
    char*       bonobo_ui_xml_make_path         (BonoboUINode *node);
    char*       bonobo_ui_xml_get_parent_path   (const char *path);
    BonoboUIError bonobo_ui_xml_merge           (BonoboUIXml *tree,
                                                 const char *path,
                                                 BonoboUINode *nodes,
                                                 gpointer id);
    BonoboUIError bonobo_ui_xml_rm              (BonoboUIXml *tree,
                                                 const char *path,
                                                 gpointer id);
    void        bonobo_ui_xml_dump              (BonoboUIXml *tree,
                                                 BonoboUINode *node,
                                                 const char *msg);
    void        bonobo_ui_xml_remove_watch_by_data
                                                (BonoboUIXml *tree,
                                                 gpointer user_data);
    void        bonobo_ui_xml_add_watch         (BonoboUIXml *tree,
                                                 const char *path,
                                                 gpointer user_data);
    void        bonobo_ui_xml_set_watch_fn      (BonoboUIXml *tree,
                                                 BonoboUIXmlWatchFn watch);

## Description

## Details

### struct BonoboUIXml

    struct BonoboUIXml;

### BonoboUIXmlData

    typedef struct {
    	gpointer id;
    	gboolean dirty;
    	GSList  *overridden;
    } BonoboUIXmlData;

### BonoboUIXmlCompareFn ()

    gboolean    (*BonoboUIXmlCompareFn)         (gpointer id_a,
                                                 gpointer id_b);

`id_a` : |
`id_b` : |
Returns : |

### BonoboUIXmlDataNewFn ()

    BonoboUIXmlData* (*BonoboUIXmlDataNewFn)    (void);

Returns : |

### BonoboUIXmlDataFreeFn ()

    void        (*BonoboUIXmlDataFreeFn)        (BonoboUIXmlData *data);

`data` : |

### BonoboUIXmlDumpFn ()

    void        (*BonoboUIXmlDumpFn)            (BonoboUIXml *tree,
                                                 BonoboUINode *node);

`tree` : |
`node` : |

### BonoboUIXmlAddNode ()

    void        (*BonoboUIXmlAddNode)           (BonoboUINode *parent,
                                                 BonoboUINode *child,
                                                 gpointer user_data);

`parent` : |
`child` : |
`user_data` : |

### BonoboUIXmlClass

    typedef struct {
    	GtkObjectClass         object_klass;

    	void                 (*override)          (BonoboUINode *new_node,
    						   BonoboUINode *old_node);
    	void                 (*replace_override)  (BonoboUINode *new_node,
    						   BonoboUINode *old_node);
    	void                 (*reinstate)         (BonoboUINode *node);
    	void                 (*rename)            (BonoboUINode *node);
    	void                 (*remove)            (BonoboUINode *node);

    	gpointer               dummy;
    } BonoboUIXmlClass;

### BonoboUIXmlWatchFn ()

    void        (*BonoboUIXmlWatchFn)           (BonoboUIXml *xml,
                                                 const char *path,
                                                 BonoboUINode *opt_node,
                                                 gpointer user_data);

`xml` : |
`path` : |
`opt_node` : |
`user_data` : |

### bonobo_ui_xml_get_type ()

    GtkType     bonobo_ui_xml_get_type          (void);

Returns : |

### bonobo_ui_xml_new ()

    BonoboUIXml* bonobo_ui_xml_new              (BonoboUIXmlCompareFn compare,
                                                 BonoboUIXmlDataNewFn data_new,
                                                 BonoboUIXmlDataFreeFn data_free,
                                                 BonoboUIXmlDumpFn dump,
                                                 BonoboUIXmlAddNode add_node,
                                                 gpointer user_data);

`compare` : |
`data_new` : |
`data_free` : |
`dump` : |
`add_node` : |
`user_data` : |
Returns : |

### bonobo_ui_xml_get_data ()

    gpointer    bonobo_ui_xml_get_data          (BonoboUIXml *tree,
                                                 BonoboUINode *node);

`tree` : |
`node` : |
Returns : |

### bonobo_ui_xml_set_dirty ()

    void        bonobo_ui_xml_set_dirty         (BonoboUIXml *tree,
                                                 BonoboUINode *node);

`tree` : |
`node` : |

### bonobo_ui_xml_clean ()

    void        bonobo_ui_xml_clean             (BonoboUIXml *tree,
                                                 BonoboUINode *node);

`tree` : |
`node` : |

### bonobo_ui_xml_get_path ()

    BonoboUINode* bonobo_ui_xml_get_path        (BonoboUIXml *tree,
                                                 const char *path);

`tree` : |
`path` : |
Returns : |

### bonobo_ui_xml_get_path_wildcard ()

    BonoboUINode* bonobo_ui_xml_get_path_wildcard
                                                (BonoboUIXml *tree,
                                                 const char *path,
                                                 gboolean *wildcard);

`tree` : |
`path` : |
`wildcard` : |
Returns : |

### bonobo_ui_xml_make_path ()

    char*       bonobo_ui_xml_make_path         (BonoboUINode *node);

`node` : |
Returns : |

### bonobo_ui_xml_get_parent_path ()

    char*       bonobo_ui_xml_get_parent_path   (const char *path);

`path` : |
Returns : |

### bonobo_ui_xml_merge ()

    BonoboUIError bonobo_ui_xml_merge           (BonoboUIXml *tree,
                                                 const char *path,
                                                 BonoboUINode *nodes,
                                                 gpointer id);

`tree` : |
`path` : |
`nodes` : |
`id` : |
Returns : |

### bonobo_ui_xml_rm ()

    BonoboUIError bonobo_ui_xml_rm              (BonoboUIXml *tree,
                                                 const char *path,
                                                 gpointer id);

`tree` : |
`path` : |
`id` : |
Returns : |

### bonobo_ui_xml_dump ()

    void        bonobo_ui_xml_dump              (BonoboUIXml *tree,
                                                 BonoboUINode *node,
                                                 const char *msg);

`tree` : |
`node` : |
`msg` : |

### bonobo_ui_xml_remove_watch_by_data ()

    void        bonobo_ui_xml_remove_watch_by_data
                                                (BonoboUIXml *tree,
                                                 gpointer user_data);

`tree` : |
`user_data` : |

### bonobo_ui_xml_add_watch ()

    void        bonobo_ui_xml_add_watch         (BonoboUIXml *tree,
                                                 const char *path,
                                                 gpointer user_data);

`tree` : |
`path` : |
`user_data` : |

### bonobo_ui_xml_set_watch_fn ()

    void        bonobo_ui_xml_set_watch_fn      (BonoboUIXml *tree,
                                                 BonoboUIXmlWatchFn watch);

`tree` : |
`watch` : |

<<< Previous Page | Home | Up | Next Page >>>
bonobo-ui-node | bonobo-ui-engine