diff options
author | corvid <corvid@lavabit.com> | 2011-05-19 18:15:16 +0000 |
---|---|---|
committer | corvid <corvid@lavabit.com> | 2011-05-19 18:15:16 +0000 |
commit | 9acee8b367668cac92ccb280b33a02c523377f6c (patch) | |
tree | 79d4965a32ffefbb80bb2c2699a3935269249b78 | |
parent | c73820831ebc3e131b589554bc9558bcc693aa35 (diff) |
forms listResource item selection
-rw-r--r-- | dw/fltkui.cc | 10 | ||||
-rw-r--r-- | dw/fltkui.hh | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/dw/fltkui.cc b/dw/fltkui.cc index 4c303e37..f3192c22 100644 --- a/dw/fltkui.cc +++ b/dw/fltkui.cc @@ -1092,7 +1092,7 @@ void FltkListResource::widgetCallback (Fl_Widget *widget, void *data) } } -void *FltkListResource::newItem (const char *str, bool enabled) +void *FltkListResource::newItem (const char *str, bool enabled, bool selected) { Fl_Tree *tree = (Fl_Tree *) widget; Fl_Tree_Item *parent = (Fl_Tree_Item *)currParent; @@ -1103,6 +1103,7 @@ void *FltkListResource::newItem (const char *str, bool enabled) item->activate(enabled); item->user_data((void *)index); itemsSelected.increase (); + itemsSelected.set (itemsSelected.size() - 1, selected); return item; } @@ -1110,12 +1111,11 @@ void *FltkListResource::newItem (const char *str, bool enabled) void FltkListResource::addItem (const char *str, bool enabled, bool selected) { Fl_Tree *tree = (Fl_Tree *) widget; - Fl_Tree_Item *item = (Fl_Tree_Item *) newItem(str, enabled); + Fl_Tree_Item *item = (Fl_Tree_Item *) newItem(str, enabled, selected); if (selected) { if (mode == SELECTION_MULTIPLE) { item->select(selected); - itemsSelected.set (itemsSelected.size() - 1, selected); } else { const bool do_callback = true; tree->select_only(item, do_callback); @@ -1126,8 +1126,10 @@ void FltkListResource::addItem (const char *str, bool enabled, bool selected) void FltkListResource::pushGroup (const char *name, bool enabled) { + bool selected = false; + /* TODO: make it impossible to select a group */ - currParent = (Fl_Tree_Item *) newItem(name, enabled); + currParent = (Fl_Tree_Item *) newItem(name, enabled, selected); queueResize (true); } diff --git a/dw/fltkui.hh b/dw/fltkui.hh index 7b9d6d71..074a6166 100644 --- a/dw/fltkui.hh +++ b/dw/fltkui.hh @@ -490,7 +490,7 @@ protected: private: static void widgetCallback (Fl_Widget *widget, void *data); - void *newItem (const char *str, bool enabled); + void *newItem (const char *str, bool enabled, bool selected); void *currParent; lout::misc::SimpleVector <bool> itemsSelected; int showRows; |