29 #include <vdk/vdkcustom.h>
32 typedef GtkCTreeNode* VDKTreeNode;
35 typedef VDKListIterator<GtkCTreeNode> VDKTreeNodeListIterator;
61 static void ColumnClick(GtkWidget* w,
64 static void NodeSelection(GtkWidget* ,
68 static void NodeUnselection(GtkWidget* ,
72 static int ButtonPress (GtkWidget* wid,
76 void SetStyle(VDKTreeNode node);
77 void ConnectSignals();
78 void SetSpacing(
int sp)
79 { gtk_ctree_set_spacing(GTK_CTREE(custom_widget), sp); }
80 void SetLineStyle(GtkCTreeLineStyle ls)
81 { gtk_ctree_set_line_style (GTK_CTREE(custom_widget), ls); }
82 void SetExpanderStyle(GtkCTreeExpanderStyle es)
83 { gtk_ctree_set_expander_style (GTK_CTREE(custom_widget), es); }
84 void SetSelectedNode(VDKTreeNode node);
85 void SetUnselectedNode(VDKTreeNode node);
130 char **titles = NULL,
131 GtkSelectionMode mode = GTK_SELECTION_SINGLE,
132 int tree_column = 0);
146 VDKTreeNode
AddNode(
char *text[],
148 bool expanded =
true,
150 char **pixmap_closed = NULL,
151 char** pixmap_opened = NULL );
161 virtual void Clear();
193 bool IsLeaf(VDKTreeNode node);
198 char*
Key(VDKTreeNode node);
204 #ifdef USE_SIGCPLUSPLUS
212 VDKSignal2<void, VDKTreeNode, int> OnNodeSelect;
219 VDKSignal2<void, VDKTreeNode, int> OnNodeUnselect;
227 VDKSignal3<void, VDKTreeNode, VDKTreeNode, VDKTreeNode> OnTreeMove;
233 VDKSignal1<void, VDKTreeNode> OnTreeExpand;
237 static void _handle_tree_move(GtkWidget*, GtkCTreeNode* node,
238 GtkCTreeNode* new_parent,
239 GtkCTreeNode* new_sibling,
241 static void _handle_tree_expand(GtkWidget*, GtkCTreeNode* node,