diff options
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/objects/class_listbox.cpp | 18 | ||||
| -rw-r--r-- | src/modules/objects/class_listbox.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/modules/objects/class_listbox.cpp b/src/modules/objects/class_listbox.cpp index 3db8e2ca7..1ba12fcda 100644 --- a/src/modules/objects/class_listbox.cpp +++ b/src/modules/objects/class_listbox.cpp @@ -117,6 +117,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_listbox,"listbox","widget") // KVSO_REGISTER_HANDLER(KviKvsObject_listbox,"itemRect", functionitemRect); KVSO_REGISTER_HANDLER(KviKvsObject_listbox,"setCurrentItem", functionsetCurrentItem); + KVSO_REGISTER_HANDLER(KviKvsObject_listbox,"selectedItems",function_selectedItems) KVSO_REGISTER_HANDLER(KviKvsObject_listbox,"setSelectionMode",functionsetSelectionMode); KVSO_REGISTER_HANDLER(KviKvsObject_listbox,"selectionMode",functionselectionMode); @@ -323,6 +324,23 @@ bool KviKvsObject_listbox::functioninsertWidgetItem(KviKvsObjectFunctionCall *c) ((QListWidget *)widget())->setItemWidget(item,wi); return true; } +bool KviKvsObject_listbox::function_selectedItems(KviKvsObjectFunctionCall *c) +{ + if(widget()) + { + QList<QListWidgetItem *> list=((QListWidget *)widget())->selectedItems(); + KviKvsArray * pArray = new KviKvsArray(); + c->returnValue()->setArray(pArray); + for (int i=0;i<list.count();i++){ + kvs_int_t index=((QListWidget *)widget())->row(list.at(i)); + pArray->set(i,new KviKvsVariant(index)); + } + } + else + c->returnValue()->setNothing(); + return true; +} + /* bool KviKvsObject_listbox::functionsetSelected(KviKvsObjectFunctionCall *c) { diff --git a/src/modules/objects/class_listbox.h b/src/modules/objects/class_listbox.h index 21703fb89..5edb657c7 100644 --- a/src/modules/objects/class_listbox.h +++ b/src/modules/objects/class_listbox.h @@ -57,6 +57,7 @@ protected: bool functioninsertWidgetItem(KviKvsObjectFunctionCall *c); /*bool functionisSelected(KviKvsObjectFunctionCall *c); */ + bool function_selectedItems(KviKvsObjectFunctionCall *c); bool functioncurrentItemChangeEvent(KviKvsObjectFunctionCall *c); bool functiononItemEvent(KviKvsObjectFunctionCall *c); |
