diff options
Diffstat (limited to 'widgets/table/e-tree-model.h')
-rw-r--r-- | widgets/table/e-tree-model.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/widgets/table/e-tree-model.h b/widgets/table/e-tree-model.h index 318faaa0a4..b00101ca8e 100644 --- a/widgets/table/e-tree-model.h +++ b/widgets/table/e-tree-model.h @@ -18,6 +18,9 @@ typedef struct { GNode *root; gboolean root_visible; GArray *row_array; /* used in the mapping between ETable and our tree */ + guint32 num_expanded_to_save; + guint32 num_collapsed_to_save; + GHashTable *expanded_state; /* used for loading/saving expanded state */ } ETreeModel; typedef struct { @@ -108,4 +111,11 @@ void e_tree_model_node_removed (ETreeModel *tree_model, ETreePath *parent_node void e_tree_model_node_collapsed (ETreeModel *tree_model, ETreePath *node); void e_tree_model_node_expanded (ETreeModel *tree_model, ETreePath *node, gboolean *allow_expand); +/* expanded state saving stuff */ +gboolean e_tree_model_save_expanded_state (ETreeModel *etm, const char *filename); +gboolean e_tree_model_load_expanded_state (ETreeModel *etm, const char *filename); +void e_tree_model_node_set_save_id (ETreeModel *etm, ETreePath *node, const char *id); +ETreePath* e_tree_model_node_insert_id (ETreeModel *tree_model, ETreePath *parent_path, + int position, gpointer node_data, const char *save_id); + #endif /* _E_TREE_MODEL_H */ |