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):
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);
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);
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,
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;
624 VDKTreeViewColumnList *columns;
625 VDKTreeViewIterList selections;
633 VDKReadWriteValueProp<VDKTreeView,VDKTreeViewModel*>
Model;
651 GtkSelectionMode mode = GTK_SELECTION_SINGLE);
665 VDKTreeViewColumnList *
Columns() {
return columns; }
691 void Expand(GtkTreeIter* iter = NULL,
bool expand_all =
false);
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
VDKTreeViewModel(GType *types, int ncol)
Definition: vdktreeview.cc:40
VDKReadWriteValueProp< VDKTreeViewColumn, const char * > Title
Definition: vdktreeview.h:454
VDKReadWriteValueProp< VDKTreeViewColumn, VDKFont * > Font
Definition: vdktreeview.h:450
~VDKTreeView()
Definition: vdktreeview.cc:815
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
void PrependBlank(GtkTreeIter *iter, GtkTreeIter *parent=NULL)
Definition: vdktreeview.cc:54
provides a templatized array
Definition: vdkarray.h:72
VDKTreeView * Owner()
Definition: vdktreeview.h:551
VDKReadWriteValueProp< VDKTreeViewModelTuple, VDKStringCompareFunction > Less
Definition: vdktreeview.h:59
void GetSelections()
Definition: vdktreeview.cc:772
void Expand(GtkTreeIter *iter=NULL, bool expand_all=false)
Definition: vdktreeview.cc:855
void UnselectNode(GtkTreeIter *iter)
Definition: vdktreeview.cc:847
VDKReadWriteValueProp< VDKTreeView, VDKTreeViewModel * > Model
Definition: vdktreeview.h:633
void RemoveSelected(void)
Definition: vdktreeview.cc:873
char * GetCell(GtkTreeIter *node, int column)
Definition: vdktreeview.cc:157
VDKTreeViewModelTuple(int n=0, int key=0, VDKStringCompareFunction less=NULL, VDKStringCompareFunction equal=NULL)
Definition: vdktreeview.h:74
VDKTreeViewColumn(VDKTreeView *owner, int column, char *title=NULL, bool editable=false, int editcol=-1)
Definition: vdktreeview.cc:492
Implements famous cont referenced string objects.
Definition: vdkstring.h:45
Provides a simple RGB color structure.
Definition: vdkutils.h:37
void Clear()
Definition: vdktreeview.cc:111
GtkTreeStore * GtkModel()
Definition: vdktreeview.h:142
void AppendBlank(GtkTreeIter *iter, GtkTreeIter *parent=NULL)
Definition: vdktreeview.cc:47
GtkCellRenderer * Renderer()
Definition: vdktreeview.h:547
void SelectNode(GtkTreeIter *iter)
Definition: vdktreeview.cc:839
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
void InsertTuple(GtkTreeIter *iter, VDKTreeViewModelTuple &tuple, GtkTreeIter *parent=NULL, bool recurse=false)
Definition: vdktreeview.cc:61
void Remove(GtkTreeIter *i)
Definition: vdktreeview.cc:103
bool Child(VDKTreeViewIter *child_iter)
Definition: vdktreeview.cc:660
void SetData(GtkTreeIter *node,...)
Definition: vdktreeview.cc:118
VDKTreeViewColumnList * Columns()
Definition: vdktreeview.h:665
~VDKTreeViewColumn()
Definition: vdktreeview.cc:560
void GetTuple(GtkTreeIter *node, VDKTreeViewModelTuple &tuple)
Definition: vdktreeview.cc:356
Hierarchy root class.
Definition: vdkutils.h:263
~VDKTreeViewModel()
Definition: vdktreeview.cc:127
Definition: vdktreeview.h:44
VDKReadWriteValueProp< VDKTreeViewColumn, int > Width
Definition: vdktreeview.h:460
void SetCell(GtkTreeIter *node, int column, const char *value)
Definition: vdktreeview.cc:253
VDKTreeView(VDKForm *owner, VDKTreeViewModel *model=NULL, GtkSelectionMode mode=GTK_SELECTION_SINGLE)
Definition: vdktreeview.cc:780
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
void ActiveTitle(bool flag=true)
Definition: vdktreeview.cc:567
bool Parent(VDKTreeViewIter *parent_iter)
Definition: vdktreeview.cc:672
VDKReadOnlyValueProp< VDKTreeView, int > SelectedColumn
Definition: vdktreeview.h:637