summaryrefslogtreecommitdiff
path: root/dw/fltkui.cc
diff options
context:
space:
mode:
authorcorvid <corvid@lavabit.com>2012-11-24 20:09:42 +0000
committercorvid <corvid@lavabit.com>2012-11-24 20:09:42 +0000
commitfae8ba37e74976b59ab41932d3b2c2165c688d91 (patch)
tree337c2de438120671b0a50380bed71057c60e64cc /dw/fltkui.cc
parentd9bccd6d15eb017964fbdfc3aba428dfbc4764b2 (diff)
reset for <select>
Diffstat (limited to 'dw/fltkui.cc')
-rw-r--r--dw/fltkui.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/dw/fltkui.cc b/dw/fltkui.cc
index 5e4f3c56..d2fae962 100644
--- a/dw/fltkui.cc
+++ b/dw/fltkui.cc
@@ -1131,6 +1131,14 @@ void FltkOptionMenuResource::addItem (const char *str,
queueResize (true);
}
+void FltkOptionMenuResource::setItem (int index, bool selected)
+{
+ if (selected) {
+ ((Fl_Choice *)widget)->value(menu+index);
+ queueResize (true);
+ }
+}
+
void FltkOptionMenuResource::pushGroup (const char *name, bool enabled)
{
Fl_Menu_Item *item = newItem();
@@ -1257,6 +1265,22 @@ void FltkListResource::addItem (const char *str, bool enabled, bool selected)
queueResize (true);
}
+void FltkListResource::setItem (int index, bool selected)
+{
+ Fl_Tree *tree = (Fl_Tree *) widget;
+ Fl_Tree_Item *item = tree->root()->child(index);
+
+ /* TODO: handle groups */
+ if (item) {
+ itemsSelected.set (index, selected);
+ if (mode == SELECTION_MULTIPLE)
+ item->select(selected);
+ else if (selected)
+ tree->select_only(item);
+ queueResize (true);
+ }
+}
+
void FltkListResource::pushGroup (const char *name, bool enabled)
{
bool selected = false;