ETreeModel

ETreeModel

Synopsis

struct              ETreeModel;
ETreeModel *        e_tree_model_new                    (void);
typedef             ETreePath;
ETreePath           e_tree_model_get_root               (ETreeModel *tree_model);
ETreePath           e_tree_model_node_get_parent        (ETreeModel *tree_model,
                                                         ETreePath path);
ETreePath           e_tree_model_node_get_first_child   (ETreeModel *tree_model,
                                                         ETreePath path);
ETreePath           e_tree_model_node_get_last_child    (ETreeModel *tree_model,
                                                         ETreePath path);
ETreePath           e_tree_model_node_get_next          (ETreeModel *tree_model,
                                                         ETreePath path);
ETreePath           e_tree_model_node_get_prev          (ETreeModel *tree_model,
                                                         ETreePath path);
gboolean            e_tree_model_node_is_root           (ETreeModel *tree_model,
                                                         ETreePath path);
gboolean            e_tree_model_node_is_expandable     (ETreeModel *tree_model,
                                                         ETreePath path);
guint               e_tree_model_node_get_children      (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         ETreePath **paths);
guint               e_tree_model_node_depth             (ETreeModel *tree_model,
                                                         ETreePath path);
GdkPixbuf *         e_tree_model_icon_at                (ETreeModel *tree_model,
                                                         ETreePath path);
gboolean            e_tree_model_get_expanded_default   (ETreeModel *tree_model);
gint                e_tree_model_column_count           (ETreeModel *tree_model);
gboolean            e_tree_model_has_save_id            (ETreeModel *tree_model);
gchar *             e_tree_model_get_save_id            (ETreeModel *tree_model,
                                                         ETreePath path);
gboolean            e_tree_model_has_get_node_by_id     (ETreeModel *tree_model);
ETreePath           e_tree_model_get_node_by_id         (ETreeModel *tree_model,
                                                         const gchar *save_id);
gboolean            e_tree_model_has_change_pending     (ETreeModel *tree_model);
gpointer            e_tree_model_sort_value_at          (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col);
gpointer            e_tree_model_value_at               (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col);
void                e_tree_model_set_value_at           (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col,
                                                         gconstpointer val);
gboolean            e_tree_model_node_is_editable       (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col);
gpointer            e_tree_model_duplicate_value        (ETreeModel *tree_model,
                                                         gint col,
                                                         gconstpointer value);
void                e_tree_model_free_value             (ETreeModel *tree_model,
                                                         gint col,
                                                         gpointer value);
gpointer            e_tree_model_initialize_value       (ETreeModel *tree_model,
                                                         gint col);
gboolean            e_tree_model_value_is_empty         (ETreeModel *tree_model,
                                                         gint col,
                                                         gconstpointer value);
gchar *             e_tree_model_value_to_string        (ETreeModel *tree_model,
                                                         gint col,
                                                         gconstpointer value);
gboolean            (*ETreePathFunc)                    (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gpointer data);
void                e_tree_model_node_traverse          (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         ETreePathFunc func,
                                                         gpointer data);
void                e_tree_model_node_traverse_preorder (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         ETreePathFunc func,
                                                         gpointer data);
ETreePath           e_tree_model_node_find              (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         ETreePath end_path,
                                                         gboolean forward_direction,
                                                         ETreePathFunc func,
                                                         gpointer data);
void                e_tree_model_pre_change             (ETreeModel *tree_model);
void                e_tree_model_no_change              (ETreeModel *tree_model);
void                e_tree_model_rebuilt                (ETreeModel *tree_model);
void                e_tree_model_node_changed           (ETreeModel *tree_model,
                                                         ETreePath path);
void                e_tree_model_node_data_changed      (ETreeModel *tree_model,
                                                         ETreePath path);
void                e_tree_model_node_col_changed       (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col);
void                e_tree_model_node_inserted          (ETreeModel *tree_model,
                                                         ETreePath parent_path,
                                                         ETreePath inserted_path);
void                e_tree_model_node_removed           (ETreeModel *tree_model,
                                                         ETreePath parent_path,
                                                         ETreePath removed_path,
                                                         gint old_position);
void                e_tree_model_node_deleted           (ETreeModel *tree_model,
                                                         ETreePath deleted_path);
void                e_tree_model_node_request_collapse  (ETreeModel *tree_model,
                                                         ETreePath collapsed_path);

Object Hierarchy

  GObject
   +----ETreeModel
         +----ETreeMemory
         +----ETreeSorted

Signals

  "no-change"                                      : Run Last
  "node-changed"                                   : Run Last
  "node-col-changed"                               : Run Last
  "node-data-changed"                              : Run Last
  "node-deleted"                                   : Run Last
  "node-inserted"                                  : Run Last
  "node-removed"                                   : Run Last
  "node-request-collapse"                          : Run Last
  "pre-change"                                     : Run Last
  "rebuilt"                                        : Run Last

Description

Details

struct ETreeModel

struct ETreeModel;

e_tree_model_new ()

ETreeModel *        e_tree_model_new                    (void);

XXX docs here.

return values: a newly constructed ETreeModel.


ETreePath

typedef gpointer ETreePath;

e_tree_model_get_root ()

ETreePath           e_tree_model_get_root               (ETreeModel *tree_model);

Accessor for the root node of tree_model.

return values: the ETreePath corresponding to the root node.

tree_model :

the ETreeModel of which we want the root node.

e_tree_model_node_get_parent ()

ETreePath           e_tree_model_node_get_parent        (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_get_first_child ()

ETreePath           e_tree_model_node_get_first_child   (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_get_last_child ()

ETreePath           e_tree_model_node_get_last_child    (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_get_next ()

ETreePath           e_tree_model_node_get_next          (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_get_prev ()

ETreePath           e_tree_model_node_get_prev          (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_is_root ()

gboolean            e_tree_model_node_is_root           (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_is_expandable ()

gboolean            e_tree_model_node_is_expandable     (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_get_children ()

guint               e_tree_model_node_get_children      (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         ETreePath **paths);

e_tree_model_node_depth ()

guint               e_tree_model_node_depth             (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_icon_at ()

GdkPixbuf *         e_tree_model_icon_at                (ETreeModel *tree_model,
                                                         ETreePath path);

XXX docs here.

return values: the GdkPixbuf associated with this node.

tree_model :

The ETreeModel.

path :

The ETreePath to the node we're getting the icon of.

e_tree_model_get_expanded_default ()

gboolean            e_tree_model_get_expanded_default   (ETreeModel *tree_model);

XXX docs here.

return values: Whether nodes should be expanded by default.

tree_model :

The ETreeModel.

e_tree_model_column_count ()

gint                e_tree_model_column_count           (ETreeModel *tree_model);

XXX docs here.

return values: The number of columns

tree_model :

The ETreeModel.

e_tree_model_has_save_id ()

gboolean            e_tree_model_has_save_id            (ETreeModel *tree_model);

XXX docs here.

return values: Whether this tree has valid save id data.

tree_model :

The ETreeModel.

e_tree_model_get_save_id ()

gchar *             e_tree_model_get_save_id            (ETreeModel *tree_model,
                                                         ETreePath path);

XXX docs here.

return values: The save id for this path.

tree_model :

The ETreeModel.

path :

The ETreePath.

e_tree_model_has_get_node_by_id ()

gboolean            e_tree_model_has_get_node_by_id     (ETreeModel *tree_model);

XXX docs here.

return values: Whether this tree can quickly get a node from its save id.

tree_model :

The ETreeModel.

e_tree_model_get_node_by_id ()

ETreePath           e_tree_model_get_node_by_id         (ETreeModel *tree_model,
                                                         const gchar *save_id);

get_node_by_id(get_save_id(node)) should be the original node. Likewise if get_node_by_id is not NULL, then get_save_id(get_node_by_id(string)) should be a copy of the original string.

return values: The path for this save id.

tree_model :

The ETreeModel.

e_tree_model_has_change_pending ()

gboolean            e_tree_model_has_change_pending     (ETreeModel *tree_model);

XXX docs here.

return values: Whether this tree has valid save id data.

tree_model :

The ETreeModel.

e_tree_model_sort_value_at ()

gpointer            e_tree_model_sort_value_at          (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col);

tree_model :

The ETreeModel.

path :

The ETreePath to the node we're getting the data from.

col :

the column to retrieve data from

Returns :

This function returns the value that is stored by the tree_model in column col and node path. The data returned can be a pointer or any data value that can be stored inside a pointer. The data returned is typically used by an sort renderer if it wants to proxy the data of cell value_at at a better sorting order. The data returned must be valid until the model sends a signal that affect that piece of data. node_changed and node_deleted affect all data in tha t node and all nodes under that node. node_data_changed affects the data in that node. node_col_changed affects the data in that node for that column. node_inserted, node_removed, and no_change don't affect any data in this way.

e_tree_model_value_at ()

gpointer            e_tree_model_value_at               (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col);

tree_model :

The ETreeModel.

path :

The ETreePath to the node we're getting the data from.

col :

the column to retrieve data from

Returns :

This function returns the value that is stored by the tree_model in column col and node path. The data returned can be a pointer or any data value that can be stored inside a pointer. The data returned is typically used by an ECell renderer. The data returned must be valid until the model sends a signal that affect that piece of data. node_changed and node_deleted affect all data in tha t node and all nodes under that node. node_data_changed affects the data in that node. node_col_changed affects the data in that node for that column. node_inserted, node_removed, and no_change don't affect any data in this way.

e_tree_model_set_value_at ()

void                e_tree_model_set_value_at           (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col,
                                                         gconstpointer val);

e_tree_model_node_is_editable ()

gboolean            e_tree_model_node_is_editable       (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col);

e_tree_model_duplicate_value ()

gpointer            e_tree_model_duplicate_value        (ETreeModel *tree_model,
                                                         gint col,
                                                         gconstpointer value);

e_tree_model_free_value ()

void                e_tree_model_free_value             (ETreeModel *tree_model,
                                                         gint col,
                                                         gpointer value);

e_tree_model_initialize_value ()

gpointer            e_tree_model_initialize_value       (ETreeModel *tree_model,
                                                         gint col);

e_tree_model_value_is_empty ()

gboolean            e_tree_model_value_is_empty         (ETreeModel *tree_model,
                                                         gint col,
                                                         gconstpointer value);

e_tree_model_value_to_string ()

gchar *             e_tree_model_value_to_string        (ETreeModel *tree_model,
                                                         gint col,
                                                         gconstpointer value);

ETreePathFunc ()

gboolean            (*ETreePathFunc)                    (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gpointer data);

e_tree_model_node_traverse ()

void                e_tree_model_node_traverse          (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         ETreePathFunc func,
                                                         gpointer data);

e_tree_model_node_traverse_preorder ()

void                e_tree_model_node_traverse_preorder (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         ETreePathFunc func,
                                                         gpointer data);

e_tree_model_node_find ()

ETreePath           e_tree_model_node_find              (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         ETreePath end_path,
                                                         gboolean forward_direction,
                                                         ETreePathFunc func,
                                                         gpointer data);

e_tree_model_pre_change ()

void                e_tree_model_pre_change             (ETreeModel *tree_model);

e_tree_model_no_change ()

void                e_tree_model_no_change              (ETreeModel *tree_model);

e_tree_model_rebuilt ()

void                e_tree_model_rebuilt                (ETreeModel *tree_model);

e_tree_model_node_changed ()

void                e_tree_model_node_changed           (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_data_changed ()

void                e_tree_model_node_data_changed      (ETreeModel *tree_model,
                                                         ETreePath path);

e_tree_model_node_col_changed ()

void                e_tree_model_node_col_changed       (ETreeModel *tree_model,
                                                         ETreePath path,
                                                         gint col);

e_tree_model_node_inserted ()

void                e_tree_model_node_inserted          (ETreeModel *tree_model,
                                                         ETreePath parent_path,
                                                         ETreePath inserted_path);

e_tree_model_node_removed ()

void                e_tree_model_node_removed           (ETreeModel *tree_model,
                                                         ETreePath parent_path,
                                                         ETreePath removed_path,
                                                         gint old_position);

e_tree_model_node_deleted ()

void                e_tree_model_node_deleted           (ETreeModel *tree_model,
                                                         ETreePath deleted_path);

e_tree_model_node_request_collapse ()

void                e_tree_model_node_request_collapse  (ETreeModel *tree_model,
                                                         ETreePath collapsed_path);

Signal Details

The "no-change" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    user_data)       : Run Last

The "node-changed" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    arg1,
                                                        gpointer    user_data)       : Run Last

The "node-col-changed" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    arg1,
                                                        gint        arg2,
                                                        gpointer    user_data)       : Run Last

The "node-data-changed" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    arg1,
                                                        gpointer    user_data)       : Run Last

The "node-deleted" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    arg1,
                                                        gpointer    user_data)       : Run Last

The "node-inserted" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    arg1,
                                                        gpointer    arg2,
                                                        gpointer    user_data)       : Run Last

The "node-removed" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    arg1,
                                                        gpointer    arg2,
                                                        gint        arg3,
                                                        gpointer    user_data)       : Run Last

The "node-request-collapse" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    arg1,
                                                        gpointer    user_data)       : Run Last

The "pre-change" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    user_data)       : Run Last

The "rebuilt" signal

void                user_function                      (ETreeModel *etreemodel,
                                                        gpointer    user_data)       : Run Last