29 #include <vdk/vdkobj.h> 30 #include <vdk/dlist.h> 31 #include <vdk/vdkprops.h> 32 #include <vdk/vdkarray.h> 33 #include <vdk/value_sem_list.h> 55 VDKReadWriteValueProp<VDKTreeViewModelTuple,int>
KeyIndex;
59 VDKReadWriteValueProp<VDKTreeViewModelTuple,VDKStringCompareFunction>
Less;
63 VDKReadWriteValueProp<VDKTreeViewModelTuple,VDKStringCompareFunction>
Equal;
75 VDKStringCompareFunction equal= NULL):
77 KeyIndex(
"KeyIndex",this,key),
78 Less(
"Less",this,less),
79 Equal(
"Equal",this,equal)
107 VDKStringCompareFunction less =
Less;
109 return less((*
this)[key_index],t[key_index]);
111 return (*
this)[key_index] < t[key_index];
116 VDKStringCompareFunction equal =
Equal;
118 return equal((*
this)[key_index],t[key_index]);
120 return (*
this)[key_index] == t[key_index];
166 void AppendBlank(GtkTreeIter* iter,GtkTreeIter* parent = NULL);
181 void PrependBlank(GtkTreeIter* iter,GtkTreeIter* parent = NULL);
191 void InsertTuple(GtkTreeIter* iter,
VDKTreeViewModelTuple &tuple,GtkTreeIter* parent = NULL,
bool recurse =
false);
200 void Remove(GtkTreeIter* i);
213 void SetData(GtkTreeIter* node,...);
238 void SetCell(GtkTreeIter* node,
int column,
const char* value);
287 char *GetCell(GtkTreeIter* node,
int column);
312 bool Root(GtkTreeIter* iter);
317 bool Next(GtkTreeIter* iter);
322 bool HasChild(GtkTreeIter* iter)
323 {
return gtk_tree_model_iter_has_child (GTK_TREE_MODEL(model), iter); }
331 bool Child(GtkTreeIter* iter,GtkTreeIter* parent);
351 bool Find(GtkTreeIter* iter,
int column,
char* value);
359 class VDKTreeViewModelIterator
362 GtkTreeIter iter, *internal_iter;
364 VDKTreeViewModelIterator(): model(NULL),internal_iter(NULL) {}
371 VDKTreeViewModelIterator(
VDKTreeViewModel* model,GtkTreeIter* parent = NULL);
375 GtkTreeIter* current() {
return internal_iter; }
379 operator int() {
return internal_iter != NULL; }
415 void operator++(
int);
425 static void edited_callback (GtkCellRendererText *cell,
429 static void toggled_callback (GtkCellRendererToggle *cell,
433 GtkCellRenderer *cell;
434 GtkTreeViewColumn *column;
436 gulong handler_seq_no;
450 VDKReadWriteValueProp<VDKTreeViewColumn,VDKFont*>
Font;
454 VDKReadWriteValueProp<VDKTreeViewColumn,const char*>
Title;
460 VDKReadWriteValueProp<VDKTreeViewColumn,int>
Width;
464 VDKReadWriteValueProp<VDKTreeViewColumn,bool>
Sortable;
534 bool editable =
false,
555 void ActiveTitle(
bool flag =
true);
558 void SetNormalBackground(
VDKRgb rgb);
559 void SetForeground(
VDKRgb rgb);
561 void SetTitle(
const char* title);
562 const char* GetTitle();
563 void SetWidth(
int w);
565 void SetSortable(
bool flag);
570 typedef VDKListIterator<VDKTreeViewColumn> VDKTreeViewColumnListIterator;
587 GtkTreeModel* Model(GtkTreeModel* m = NULL) {
if(m) model = m;
return model; }
623 GtkTreeSelection *selection;
633 VDKReadWriteValueProp<VDKTreeView,VDKTreeViewModel*>
Model;
651 GtkSelectionMode mode = GTK_SELECTION_SINGLE);
669 void GetSelections();
680 void SelectNode(GtkTreeIter* iter);
685 void UnselectNode(GtkTreeIter* iter);
691 void Expand(GtkTreeIter* iter = NULL,
bool expand_all =
false);
695 void RemoveSelected(
void);
696 #ifdef USE_SIGCPLUSPLUS 710 VDKSignal3< void, GtkTreeIter*, int , char* > OnCellEdited;
724 VDKSignal3< void, GtkTreeIter*, int, bool> OnCellToggled;
VDKTreeViewIterList & Selections()
Definition: vdktreeview.h:675
VDKReadWriteValueProp< VDKTreeViewModelTuple, VDKStringCompareFunction > Equal
Definition: vdktreeview.h:63
VDKReadWriteValueProp< VDKTreeViewColumn, const char * > Title
Definition: vdktreeview.h:454
VDKReadWriteValueProp< VDKTreeViewColumn, VDKFont * > Font
Definition: vdktreeview.h:450
VDKReadWriteValueProp< VDKTreeViewColumn, VDKRgb > Foreground
Definition: vdktreeview.h:446
VDKTreeViewIter(GtkTreeModel *model=NULL)
Definition: vdktreeview.h:583
Provides a wrapper for GtkTreeIter.
Definition: vdktreeview.h:575
VDKReadWriteValueProp< VDKTreeViewModelTuple, int > KeyIndex
Definition: vdktreeview.h:55
Provides a reference semantic double linked list.
Definition: dlist.h:64
Provides a wrapper for GtkTreeColumn.
Definition: vdktreeview.h:422
Provides a wrapper for GtkTreeView widget.
Definition: vdktreeview.h:620
provides a templatized array
Definition: vdkarray.h:72
VDKTreeView * Owner()
Definition: vdktreeview.h:551
VDKReadWriteValueProp< VDKTreeViewModelTuple, VDKStringCompareFunction > Less
Definition: vdktreeview.h:59
VDKReadWriteValueProp< VDKTreeView, VDKTreeViewModel * > Model
Definition: vdktreeview.h:633
VDKTreeViewModelTuple(int n=0, int key=0, VDKStringCompareFunction less=NULL, VDKStringCompareFunction equal=NULL)
Definition: vdktreeview.h:74
Implements famous cont referenced string objects.
Definition: vdkstring.h:45
Provides a simple RGB color structure.
Definition: vdkutils.h:37
GtkTreeStore * GtkModel()
Definition: vdktreeview.h:142
GtkCellRenderer * Renderer()
Definition: vdktreeview.h:547
VDKReadWriteValueProp< VDKTreeViewColumn, VDKRgb > NormalBackground
Definition: vdktreeview.h:442
VDKReadWriteValueProp< VDKTreeViewColumn, bool > Sortable
Definition: vdktreeview.h:464
provides a templatized double-linked list
Definition: value_sem_list.h:54
VDKTreeViewColumnList * Columns()
Definition: vdktreeview.h:665
Hierarchy root class.
Definition: vdkutils.h:263
Definition: vdktreeview.h:44
VDKReadWriteValueProp< VDKTreeViewColumn, int > Width
Definition: vdktreeview.h:460
Provides a raw font.
Definition: vdkfont.h:37
Provides a wrapper for GtkTreeModel basically it stores data to be viewed with a VDKTreeView.
Definition: vdktreeview.h:133
provides a VDKValueList iterator
Definition: value_sem_list.h:55
GtkTreeViewColumn * GtkColumn()
Definition: vdktreeview.h:543
VDKReadOnlyValueProp< VDKTreeView, int > SelectedColumn
Definition: vdktreeview.h:637