* plugins/debug-manager/command.c,
[anjuta-git-plugin.git] / libegg / treeviewutils / eggtreemodelunion.h
bloba5f92e50b46e4a3c1fcee5b081742f977a37512f
1 /**
2 * eggtreemodelunion.h: Union treemodel.
4 * Copyright (C) 2003, Kristian Rietveld.
5 */
7 #ifndef __EGG_TREE_MODEL_UNION_H__
8 #define __EGG_TREE_MODEL_UNION_H__
10 #include <gtk/gtktreemodel.h>
12 G_BEGIN_DECLS
14 #define EGG_TYPE_TREE_MODEL_UNION (egg_tree_model_union_get_type ())
15 #define EGG_TREE_MODEL_UNION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_TREE_MODEL_UNION, EggTreeModelUnion))
16 #define EGG_TREE_MODEL_UNION_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), EGG_TYPE_TREE_MODEL_UNION, EggTreeModelUnionClass))
17 #define EGG_IS_TREE_MODEL_UNION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_TREE_MODEL_UNION))
18 #define EGG_IS_TREE_MODEL_UNION_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), EGG_TYPE_TREE_MODEL_UNION))
19 #define EGG_TREE_MODEL_UNION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_TREE_MODEL_UNION, EggTreeModelUnionClass))
21 typedef struct _EggTreeModelUnion EggTreeModelUnion;
22 typedef struct _EggTreeModelUnionClass EggTreeModelUnionClass;
24 struct _EggTreeModelUnion
26 GObject parent_instance;
28 /*< private >*/
29 GList *root;
30 GHashTable *childs;
32 GHashTable *child_paths;
34 gint length;
36 gint n_columns;
37 GType *column_headers;
39 gint stamp;
42 struct _EggTreeModelUnionClass
44 GObjectClass parent_class;
48 GType egg_tree_model_union_get_type (void);
49 GtkTreeModel *egg_tree_model_union_new (gint n_columns,
50 ...);
51 GtkTreeModel *egg_tree_model_union_newv (gint n_columns,
52 GType *types);
53 void egg_tree_model_union_set_column_types (EggTreeModelUnion *umodel,
54 gint n_types,
55 GType *types);
57 void egg_tree_model_union_append (EggTreeModelUnion *umodel,
58 GtkTreeModel *model);
59 void egg_tree_model_union_prepend (EggTreeModelUnion *umodel,
60 GtkTreeModel *model);
61 void egg_tree_model_union_insert (EggTreeModelUnion *umodel,
62 GtkTreeModel *model,
63 gint position);
65 void egg_tree_model_union_append_with_mapping (EggTreeModelUnion *umodel,
66 GtkTreeModel *model,
67 ...);
68 void egg_tree_model_union_prepend_with_mapping (EggTreeModelUnion *umodel,
69 GtkTreeModel *model,
70 ...);
71 void egg_tree_model_union_insert_with_mapping (EggTreeModelUnion *umodel,
72 GtkTreeModel *model,
73 gint position,
74 ...);
75 void egg_tree_model_union_insert_with_mappingv (EggTreeModelUnion *umodel,
76 GtkTreeModel *model,
77 gint position,
78 gint *column_mappings);
80 void egg_tree_model_union_set_child (EggTreeModelUnion *umodel,
81 GtkTreeModel *model,
82 GtkTreeIter *iter);
84 void egg_tree_model_union_clear (EggTreeModelUnion *umodel);
85 void egg_tree_model_union_remove (EggTreeModelUnion *umodel,
86 GtkTreeModel *model);
88 G_END_DECLS
90 #endif /* __EGG_TREE_MODEL_UNION_H__ */