aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects/KvsObject_tabWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/objects/KvsObject_tabWidget.cpp')
-rw-r--r--src/modules/objects/KvsObject_tabWidget.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/modules/objects/KvsObject_tabWidget.cpp b/src/modules/objects/KvsObject_tabWidget.cpp
index 0d7cc8a34..215cb4c81 100644
--- a/src/modules/objects/KvsObject_tabWidget.cpp
+++ b/src/modules/objects/KvsObject_tabWidget.cpp
@@ -72,6 +72,8 @@
Returns the tab label of the <index>.
!fn: <hobject> $widgetAt(<index:integer>)
Returns the tab widget of the <index> or 0 if index is out of the tabs count.
+ !fn: <index:integer> $indexOf(<widget:hobject>)
+ Returns the <index> of the <widget> in the tabs.
!fn: <string> $currentTabLabel()
Returns the label of the current tab.
!fn: $removePage(<tab_widget:object>)
@@ -160,6 +162,7 @@ KVSO_BEGIN_REGISTERCLASS(KvsObject_tabWidget,"tabWidget","widget")
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,count)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,removePage)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,widgetAt)
+ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,indexOf)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,setTabPosition)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,setTabsClosable)
@@ -178,7 +181,7 @@ KVSO_END_CONSTRUCTOR(KvsObject_tabWidget)
KVSO_BEGIN_DESTRUCTOR(KvsObject_tabWidget)
tabsList.clear();;
-KVSO_END_CONSTRUCTOR(KvsObject_tabWidget)
+KVSO_END_DESTRUCTOR(KvsObject_tabWidget)
bool KvsObject_tabWidget::init(KviKvsRunTimeContext *,KviKvsVariantList *)
{
@@ -217,9 +220,28 @@ KVSO_CLASS_FUNCTION(tabWidget,addTab)
((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())),QIcon(*pix),szLabel);
}
else((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())),szLabel);
+ this->children();
tabsList.append(hObject);
return true;
}
+
+KVSO_CLASS_FUNCTION(tabWidget,indexOf)
+{
+ CHECK_INTERNAL_POINTER(widget())
+ KviKvsObject *pObject;
+ QString szLabel,szIcon;
+ kvs_hobject_t hObject;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject)
+ KVSO_PARAMETERS_END(c)
+ pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
+ CHECK_HOBJECT_IS_WIDGET(pObject)
+ int iIdx=((QTabWidget *)widget())->indexOf(((KvsObject_widget*)pObject)->widget());
+ c->returnValue()->setInteger((kvs_int_t)iIdx);
+ return true;
+}
+
+
KVSO_CLASS_FUNCTION(tabWidget,widgetAt)
{
CHECK_INTERNAL_POINTER(widget())