#include <vdktreeview.h>
Inheritance diagram for VDKTreeViewModel:
|
constructor
|
|
destructor |
|
Appends a new blank tree row
|
|
Clears the tree store |
|
Get data from a cell, data type will be converted into their string representation accordlying with GType.
Tip: Returned buffer address should be freed by user if not NULL.
//signal response method bool TvForm::OnTreeViewSelectRow(VDKObject* sender) { // gets selections treeview->GetSelections(); // disregard multiple selections if(treeview->Selections().size() == 1) { VDKTreeViewModel* model = treeview->Model; // gets iter position from selections list GtkTreeIter iter = treeview->Selections()[0]; char* firstname = model->GetCell(&iter,0); // extract from iter position at column 0 char* lastname = model->GetCell(&iter,1); if(firstname && lastname) // GetCell() returns NULL on failure { printf("\n[%s %s]",firstname,lastname); fflush(stdout); delete[] firstname; delete[] lastname; } } treeview->Selections().flush(); return true; } |
|
Gets and fill a tuple with row data converted into their string representation
|
|
Return underlying GtkTreeStore object |
|
Move iterator to root node
GtkTreeIter iter; if(model->Root(&iter)) { char* cell = model->GetCell(&iter,0); if(cell) { // .. delete[] cell; } } */ bool Root(GtkTreeIter* iter); bool Next(GtkTreeIter* iter); bool HasChild(GtkTreeIter* iter) { return gtk_tree_model_iter_has_child (GTK_TREE_MODEL(model), iter); } bool Child(GtkTreeIter* iter,GtkTreeIter* parent); bool Find(GtkTreeIter* iter,int column, char* value); }; class VDKTreeViewModelIterator { VDKTreeViewModel* model; GtkTreeIter iter, *internal_iter; public: VDKTreeViewModelIterator(): model(NULL),internal_iter(NULL) {} VDKTreeViewModelIterator(VDKTreeViewModel* model,GtkTreeIter* parent = NULL); GtkTreeIter* current() { return internal_iter; } operator int() { return internal_iter != NULL; } |
|
Insert a tuple into model, tuple will be inserted in order.
|
|
Incremental operator (infix), visit next sibling node |
|
Incremental operator (postfix), visit next sibling node |
|
Prepends a new blank tree row
GtkTreeIter iter; model->PrependBlank(); model->SetData(&iter,...); |
|
Removes the row at iter
|
|
Sets data into a cell
GtkTreeIter *iter = model->PrependBlank(); model->SetCell(iter,0, "test"); model->SetCell(iter,1, "true"); Supported GType's:
|
|
Sets data into a row
GtkTreeIter iter; model->AppendBlank(); model->SetData(&iter, 0, "This is row 1", 1, FALSE, 2, NULL, -1); |