|
Constructor -
Parameters:
-
owner |
treeview owner |
column |
model column number from which data should be gathered |
title |
column title |
editable |
if true column cells can be edited provided that related editcol cell has a true value (has meaning only if column type is G_TYPE_STRING) |
editcol |
model column number that must contain boolean value that flags editable (has meaning only if editable is true) |
\section these types of columns are supported:
- G_TYPE_STRING
- G_TYPE_BOOLEAN
- GDK_TYPE_PIXBUF \section
- A column cell of G_TYPE_BOOLEAN can answer to "toggled" signal using LS extended signal system (see treeviewcompo.cc on ./testvdk).
tree->OnCellToggled.connect(slot(*this,&TreeViewComponent::OnCellToggled));
void TreeViewComponent::OnCellToggled(VDKObject* sender,
GtkTreeIter* iter,
int col, bool toggled)
{
VDKTreeView* tree = dynamic_cast<VDKTreeView*>(sender);
if(!sender)
return;
else
{
VDKTreeViewModel* model = tree->Model;
toggled = !toggled;
model->SetCell(iter, col, toggled ? "true" : "false");
printf("\ntoggled column:%d\n\tvalue:%s", col, toggled ? "true" : "false");
fflush(stdout);
}
}
- If a column cell of G_TYPE_STRING is editable it can answer to "edited" signal using LS extended signal system (see treeviewcompo.cc on ./testvdk):
tree->OnCellEdited.connect(slot(*this,&TreeViewComponent::OnCellEdited));
void
TreeViewComponent::OnCellEdited(VDKObject* sender,
GtkTreeIter* iter,
int col, char* new_text)
{
VDKTreeView* tree = dynamic_cast<VDKTreeView*>(sender);
if(!sender)
return;
else
{
VDKTreeViewModel* model = tree->Model;
char* old_text = model->GetCell(iter,col);
printf("\nedited column:%d\n\told text:%s\n\tnew text:%s",
col, old_text,new_text);
fflush(stdout);
model->SetCell(iter, col, new_text);
}
}
|