aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/objects/class_listbox.cpp18
-rw-r--r--src/modules/objects/class_listbox.h1
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);