GdaTree

GdaTree

Synopsis

                    GdaTree;
GdaTree *            gda_tree_new                       (void);
void                gda_tree_add_manager                (GdaTree *tree,
                                                         GdaTreeManager *manager);
void                gda_tree_clean                      (GdaTree *tree);
gboolean            gda_tree_update_all                 (GdaTree *tree,
                                                         GError **error);
gboolean            gda_tree_update_part                (GdaTree *tree,
                                                         GdaTreeNode *node,
                                                         GError **error);
gboolean            gda_tree_update_children            (GdaTree *tree,
                                                         GdaTreeNode *node,
                                                         GError **error);
GSList *            gda_tree_get_nodes_in_path          (GdaTree *tree,
                                                         const gchar *tree_path,
                                                         gboolean use_names);
GdaTreeNode *       gda_tree_get_node                   (GdaTree *tree,
                                                         const gchar *tree_path,
                                                         gboolean use_names);
gchar *             gda_tree_get_node_path              (GdaTree *tree,
                                                         GdaTreeNode *node);
GdaTreeManager *    gda_tree_get_node_manager           (GdaTree *tree,
                                                         GdaTreeNode *node);
void                gda_tree_set_attribute              (GdaTree *tree,
                                                         const gchar *attribute,
                                                         const GValue *value,
                                                         GDestroyNotify destroy);
void                gda_tree_dump                       (GdaTree *tree,
                                                         GdaTreeNode *node,
                                                         FILE *stream);

Object Hierarchy

  GObject
   +----GdaTree

Properties

  "is-list"                  gboolean              : Read

Signals

  "node-changed"                                   : Run Last
  "node-deleted"                                   : Run Last
  "node-has-child-toggled"                         : Run Last
  "node-inserted"                                  : Run Last

Description

Details

GdaTree

typedef struct _GdaTree GdaTree;


gda_tree_new ()

GdaTree *            gda_tree_new                       (void);

Creates a new GdaTree object

Returns :

a new GdaTree object. [transfer full]

Since 4.2


gda_tree_add_manager ()

void                gda_tree_add_manager                (GdaTree *tree,
                                                         GdaTreeManager *manager);

Sets manager as a top GdaTreeManager object, which will be responsible for creating top level nodes in tree.

tree :

a GdaTree object

manager :

a GdaTreeManager object. [transfer none]

Since 4.2


gda_tree_clean ()

void                gda_tree_clean                      (GdaTree *tree);

Removes any node in tree

tree :

a GdaTree object

Since 4.2


gda_tree_update_all ()

gboolean            gda_tree_update_all                 (GdaTree *tree,
                                                         GError **error);

Requests that tree be populated with nodes. If an error occurs, then tree's contents is left unchanged, and otherwise tree's previous contents is completely replaced by the new one.

tree :

a GdaTree object

error :

a place to store errors, or NULL. [allow-none]

Returns :

TRUE if no error occurred.

Since 4.2


gda_tree_update_part ()

gboolean            gda_tree_update_part                (GdaTree *tree,
                                                         GdaTreeNode *node,
                                                         GError **error);

Requests that tree be populated with nodes, starting from node

tree :

a GdaTree object

node :

a GdaTreeNode node in tree

error :

a place to store errors, or NULL. [allow-none]

Returns :

TRUE if no error occurred.

Since 4.2


gda_tree_update_children ()

gboolean            gda_tree_update_children            (GdaTree *tree,
                                                         GdaTreeNode *node,
                                                         GError **error);

Update the children of node in tree (not recursively, to update recursively, use gda_tree_update_part()). If node is NULL then the top level nodes are updated.

tree :

a GdaTree object

node :

a GdaTreeNode node in tree. [allow-none]

error :

a place to store errors, or NULL. [allow-none]

Returns :

TRUE if no error occurred.

Since 4.2.8


gda_tree_get_nodes_in_path ()

GSList *            gda_tree_get_nodes_in_path          (GdaTree *tree,
                                                         const gchar *tree_path,
                                                         gboolean use_names);

The returned list is a list of all the GdaTreeNode nodes below the node at the specified path.

As a corner case if tree_path is NULL, then the returned list contains all the top level nodes.

tree :

a GdaTree object

tree_path :

full path to the required nodes (if use_names is TRUE, then it must start with '/')

use_names :

if TRUE, then tree_path will be interpreted as a unix style path, and if FALSE, then tree_path will be interpreted similarly to the GtkTreePath's string representation.

Returns :

a new list of GdaTreeNode pointers, free it with g_slist_free(). [transfer container][element-type GdaTreeNode]

Since 4.2


gda_tree_get_node ()

GdaTreeNode *       gda_tree_get_node                   (GdaTree *tree,
                                                         const gchar *tree_path,
                                                         gboolean use_names);

Locates a GdaTreeNode using the tree_path path.

tree :

a GdaTree object

tree_path :

full path to the required nodes (if use_names is TRUE, then it must start with '/')

use_names :

if TRUE, then tree_path will be interpreted as a unix style path, and if FALSE, then tree_path will be interpreted similarly to the GtkTreePath's string representation.

Returns :

the requested GdaTreeNode pointer, or NULL if not found. [transfer none][allow-none]

Since 4.2


gda_tree_get_node_path ()

gchar *             gda_tree_get_node_path              (GdaTree *tree,
                                                         GdaTreeNode *node);

Get the path associated to node in tree.

tree :

a GdaTree

node :

a GdaTreeNode node in tree

Returns :

a new string, or NULL if node is not in tree. [transfer full]

Since 4.2


gda_tree_get_node_manager ()

GdaTreeManager *    gda_tree_get_node_manager           (GdaTree *tree,
                                                         GdaTreeNode *node);

Get the GdaTreeManager which created node in tree

tree :

a GdaTree

node :

a GdaTreeNode present in tree

Returns :

the GdaTreeManager, or NULL if node is not present in tree. [transfer none]

Since 4.2


gda_tree_set_attribute ()

void                gda_tree_set_attribute              (GdaTree *tree,
                                                         const gchar *attribute,
                                                         const GValue *value,
                                                         GDestroyNotify destroy);

Sets an attribute to tree, which will be accessible to any node in it.

tree :

a GdaTree object

attribute :

attribute name

value :

a GValue, or NULL

destroy :

a function to be called when attribute is not needed anymore, or NULL

Since 4.2


gda_tree_dump ()

void                gda_tree_dump                       (GdaTree *tree,
                                                         GdaTreeNode *node,
                                                         FILE *stream);

Dumps the contents of tree to stream, using a hierarchical view.

tree :

a GdaTree

node :

a GdaTreeNode to start the dump from, or NULL for a full dump

stream :

a stream to send the dump to, or NULL for STDOUT

Since 4.2

Property Details

The "is-list" property

  "is-list"                  gboolean              : Read

Tells if the GdaTree is a list or a tree.

Default value: FALSE

Signal Details

The "node-changed" signal

void                user_function                      (GdaTree     *tree,
                                                        GdaTreeNode *node,
                                                        gpointer     user_data)      : Run Last

Gets emitted when a node has changed in tree

tree :

the GdaTree

node :

the GdaTreeNode which has changed

user_data :

user data set when the signal handler was connected.

Since 4.2


The "node-deleted" signal

void                user_function                      (GdaTree *tree,
                                                        gchar   *node_path,
                                                        gpointer user_data)      : Run Last

Gets emitted when a node has been removed from tree

tree :

the GdaTree

node_path :

the position the node held in tree as a tree path

user_data :

user data set when the signal handler was connected.

Since 4.2


The "node-has-child-toggled" signal

void                user_function                      (GdaTree     *tree,
                                                        GdaTreeNode *node,
                                                        gpointer     user_data)      : Run Last

Gets emitted when a node has has a child when it did not have any or when it does not have a ny children anymore when it had some

tree :

the GdaTree

node :

the GdaTreeNode which changed from having children to being a leaf or the other way around

user_data :

user data set when the signal handler was connected.

Since 4.2


The "node-inserted" signal

void                user_function                      (GdaTree     *tree,
                                                        GdaTreeNode *node,
                                                        gpointer     user_data)      : Run Last

Gets emitted when a node has been inserted in tree

tree :

the GdaTree

node :

the GdaTreeNode which has inserted

user_data :

user data set when the signal handler was connected.

Since 4.2