diff options
| author | 2008-10-18 10:25:29 +0000 | |
|---|---|---|
| committer | 2008-10-18 10:25:29 +0000 | |
| commit | da5f925ce4a195dade4e9ad0748e6f7596b43717 (patch) | |
| tree | 06e6b669d59c55b729d65b6340941c68545cdc18 /src | |
| parent | fixed bug from ticket #261. (diff) | |
| download | KVIrc-da5f925ce4a195dade4e9ad0748e6f7596b43717.tar.gz KVIrc-da5f925ce4a195dade4e9ad0748e6f7596b43717.tar.bz2 KVIrc-da5f925ce4a195dade4e9ad0748e6f7596b43717.zip | |
more works on objects module (locale stuff+some fixes+code clean)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2752 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/modules/objects/class_buttongroup.cpp | 18 | ||||
| -rw-r--r-- | src/modules/objects/class_hbox.cpp | 33 | ||||
| -rw-r--r-- | src/modules/objects/class_layout.cpp | 48 | ||||
| -rw-r--r-- | src/modules/objects/class_multilineedit.cpp | 16 | ||||
| -rw-r--r-- | src/modules/objects/class_pixmap.cpp | 17 | ||||
| -rw-r--r-- | src/modules/objects/class_popupmenu.cpp | 17 | ||||
| -rw-r--r-- | src/modules/objects/class_tabwidget.cpp | 265 | ||||
| -rw-r--r-- | src/modules/objects/class_tabwidget.h | 28 | ||||
| -rw-r--r-- | src/modules/objects/class_tbrowser.cpp | 41 | ||||
| -rw-r--r-- | src/modules/objects/class_tbrowser.h | 12 | ||||
| -rw-r--r-- | src/modules/objects/class_toolbar.cpp | 33 | ||||
| -rw-r--r-- | src/modules/objects/class_toolbar.h | 10 | ||||
| -rw-r--r-- | src/modules/objects/class_vbox.cpp | 33 | ||||
| -rw-r--r-- | src/modules/objects/object_macros.h | 17 |
14 files changed, 182 insertions, 406 deletions
diff --git a/src/modules/objects/class_buttongroup.cpp b/src/modules/objects/class_buttongroup.cpp index ece10d839..3c61771a8 100644 --- a/src/modules/objects/class_buttongroup.cpp +++ b/src/modules/objects/class_buttongroup.cpp @@ -82,22 +82,8 @@ KVSO_CLASS_FUNCTION(buttongroup,addButton) KVSO_PARAMETER("button",KVS_PT_HOBJECT,0,hObject) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs("Can't add a non-widget object")); - return true; - } - if(pObject->inheritsClass("radiobutton") || pObject->inheritsClass("KviKvsObject")) + CHECK_HOBJECT_IS_WIDGET(pObject) + if(pObject->inheritsClass("radiobutton") || pObject->inheritsClass("checkbox")) { m_pButtonGroup->addButton(((QRadioButton *)(pObject->object())),m_iId); c->returnValue()->setInteger(m_iId); diff --git a/src/modules/objects/class_hbox.cpp b/src/modules/objects/class_hbox.cpp index 3dcf15f7c..bba750723 100644 --- a/src/modules/objects/class_hbox.cpp +++ b/src/modules/objects/class_hbox.cpp @@ -140,21 +140,7 @@ KVSO_CLASS_FUNCTION(hbox,setStretchFactor) KVSO_PARAMETER("stretch",KVS_PT_UNSIGNEDINTEGER,0,uStretch) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs("Can't add a non-widget object")); - return true; - } + CHECK_HOBJECT_IS_WIDGET(pObject) if(((KviKvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { c->warning(__tr2qs("The widget must be a child of this hbox")); @@ -184,27 +170,12 @@ KVSO_CLASS_FUNCTION(hbox,setAlignment) KVSO_PARAMETER("alignment",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,alignment) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs("Can't add a non-widget object")); - return true; - } + CHECK_HOBJECT_IS_WIDGET(pObject) if(((KviKvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { c->warning(__tr2qs("The widget must be a child of this hbox")); return true; } - int align,sum=0; for ( QStringList::Iterator it = alignment.begin(); it != alignment.end(); ++it ) { diff --git a/src/modules/objects/class_layout.cpp b/src/modules/objects/class_layout.cpp index b32a72f4b..39c342830 100644 --- a/src/modules/objects/class_layout.cpp +++ b/src/modules/objects/class_layout.cpp @@ -156,21 +156,7 @@ KVSO_CLASS_FUNCTION(layout,addWidget) KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) - { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs_ctx("Can't add a non-widget object","objects")); - return true; - } + CHECK_HOBJECT_IS_WIDGET(pObject) ((QGridLayout *)object())->addWidget(((QWidget *)(pObject->object())),uRow,uCol); return true; } @@ -189,21 +175,7 @@ KVSO_CLASS_FUNCTION(layout,addMultiCellWidget) KVSO_PARAMETER("end_column",KVS_PT_UNSIGNEDINTEGER,0,uEndCol) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) - { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs_ctx("Can't add a non-widget object","objects")); - return true; - } + CHECK_HOBJECT_IS_WIDGET(pObject) // { addWidget(w, fromRow, fromCol, (toRow < 0) ? -1 : toRow - fromRow + 1, (toCol < 0) ? -1 : toCol - fromCol + 1, _align); } ((QGridLayout *)object())->addWidget(((QWidget *)(pObject->object())),uStartRow, uStartCol,(uEndRow < 0) ? -1 : uEndRow - uStartRow + 1, (uEndCol < 0) ? -1 : uEndCol - uStartCol + 1); return true; @@ -308,21 +280,7 @@ KVSO_CLASS_FUNCTION(layout,setAlignment) KVSO_PARAMETER("alignment",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,alignment) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) - { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs_ctx("Can't add a non-widget object","objects")); - return true; - } + CHECK_HOBJECT_IS_WIDGET(pObject) int index=((QGridLayout *)widget())->indexOf(((QWidget *)(pObject->object()))); if(index ==-1) { diff --git a/src/modules/objects/class_multilineedit.cpp b/src/modules/objects/class_multilineedit.cpp index 3b2f9d232..91dbe6301 100644 --- a/src/modules/objects/class_multilineedit.cpp +++ b/src/modules/objects/class_multilineedit.cpp @@ -359,21 +359,7 @@ bool KviKvsObject_textedit::functionAddWidget(KviKvsObjectFunctionCall * c) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!widget())return true; - if (!pObject) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs("Can't add a non-widget object")); - return true; - } + CHECK_HOBJECT_IS_WIDGET(pObject) ((QTextEdit *)object())->addScrollBarWidget(((QWidget *)(pObject->object())),Qt::AlignLeft); return true; } diff --git a/src/modules/objects/class_pixmap.cpp b/src/modules/objects/class_pixmap.cpp index fda7a5bb8..6b1336058 100644 --- a/src/modules/objects/class_pixmap.cpp +++ b/src/modules/objects/class_pixmap.cpp @@ -110,7 +110,7 @@ KVSO_END_CONSTRUCTOR(KviKvsObject_pixmap) KVSO_CLASS_FUNCTION(pixmap,fill) { CHECK_INTERNAL_POINTER(m_pPixmap) - KviKvsObject *ob; + KviKvsObject *pObject; kvs_int_t iXoffset,iYoffset; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) @@ -119,19 +119,10 @@ KVSO_CLASS_FUNCTION(pixmap,fill) KVSO_PARAMETER("y_offset",KVS_PT_INT,0,iYoffset) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if(!ob->object()->isWidgetType()) - { - c->warning(__tr2qs("Widget object required")); - return true; - } + pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + CHECK_HOBJECT_IS_WIDGET(pObject) bPixmapModified=true; - m_pPixmap->fill(((QWidget *)(ob->object())),iXoffset,iYoffset); + m_pPixmap->fill(((QWidget *)(pObject->object())),iXoffset,iYoffset); return true; } diff --git a/src/modules/objects/class_popupmenu.cpp b/src/modules/objects/class_popupmenu.cpp index 66a2eb66c..b54fd03a7 100644 --- a/src/modules/objects/class_popupmenu.cpp +++ b/src/modules/objects/class_popupmenu.cpp @@ -312,22 +312,7 @@ KVSO_CLASS_FUNCTION(popupmenu,exec) KVSO_PARAMETER("y",KVS_PT_UNSIGNEDINTEGER,0,iY) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) - { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs_ctx("Widget parameter is not a widget object","objects")); - return true; - } - + CHECK_HOBJECT_IS_WIDGET(pObject) ((QMenu *)widget())->exec(((QWidget *)(pObject->object()))->mapToGlobal(QPoint(iX,iY)) ); return true; diff --git a/src/modules/objects/class_tabwidget.cpp b/src/modules/objects/class_tabwidget.cpp index dc2c3477c..fb509e97c 100644 --- a/src/modules/objects/class_tabwidget.cpp +++ b/src/modules/objects/class_tabwidget.cpp @@ -30,6 +30,7 @@ #include "kvi_iconmanager.h" #include <QTabWidget> + /* @doc: tabwidget @keyterms: @@ -67,8 +68,8 @@ Sets the index position of the current tab page to <index>. !fn: <integer> $currentPageIndex() Returns the current page index. - !fn: <string> $label(<index:uinteger>) - Retunrs the label to the <index>. + !fn: <string> $tabLabel(<index:uinteger>) + Returns the tab label of the <index>. !fn: <string> $currentTabLabel() Returns the label of the current tab. !fn: $removePage(<tab_widget:object>) @@ -146,23 +147,23 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_tabwidget,"tabwidget","widget") - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"addTab", functionaddTab) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"insertTab", functioninsertTab) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"setTabToolTip", functionsetTabToolTip) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"removeTabToolTip", functionremoveTabToolTip) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"setTabLabel", functionsetTabLabel) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"changeTab", functionchangeTab) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"setCurrentPage", functionsetCurrentPage) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"currentPageIndex", functioncurrentPageIndex) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"label", functiontabLabel) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"currentTabLabel", functioncurrentTabLabel) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,addTab) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,insertTab) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,setTabToolTip) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,removeTabToolTip) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,setTabLabel) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,changeTab) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,setCurrentPage) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,currentPageIndex) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,tabLabel) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,currentTabLabel) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"count", functioncount) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"removePage", functionremovePage) - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"setTabPosition", functionsetTabPosition) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,count) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,removePage) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,setTabPosition) // events - KVSO_REGISTER_HANDLER(KviKvsObject_tabwidget,"currentChangedEvent", functionCurrentChangedEvent) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_tabwidget,currentChangedEvent) @@ -183,9 +184,10 @@ bool KviKvsObject_tabwidget::init(KviKvsRunTimeContext * pContext,KviKvsVariantL connect(widget(),SIGNAL(currentChanged(int)),this,SLOT(slotCurrentChanged(int))); return true; } -bool KviKvsObject_tabwidget::functionaddTab(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,addTab) { - KviKvsObject *ob; + CHECK_INTERNAL_POINTER(widget()) + KviKvsObject *pObject; QString szLabel,szIcon; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) @@ -193,35 +195,21 @@ bool KviKvsObject_tabwidget::functionaddTab(KviKvsObjectFunctionCall *c) KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) KVSO_PARAMETER("icon_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szIcon) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if(!widget())return true; - if (!ob) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!ob->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!ob->object()->isWidgetType()) - { - c->warning(__tr2qs("Can't add a non-widget object")); - return true; - } + pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + CHECK_HOBJECT_IS_WIDGET(pObject) QPixmap * pix = g_pIconManager->getImage(szIcon); if(pix){ - ((QTabWidget *)widget())->addTab(((QWidget *)(ob->object())),QIcon(*pix),szLabel); + ((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())),QIcon(*pix),szLabel); } - else((QTabWidget *)widget())->addTab(((QWidget *)(ob->object())),szLabel); + else((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())),szLabel); return true; } -bool KviKvsObject_tabwidget::functioninsertTab(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,insertTab) { - KviKvsObject *ob; + CHECK_INTERNAL_POINTER(widget()) + KviKvsObject *pObject; QString szLabel,szIcon; kvs_int_t iIndex; kvs_hobject_t hObject; @@ -231,218 +219,148 @@ bool KviKvsObject_tabwidget::functioninsertTab(KviKvsObjectFunctionCall *c) KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIndex) KVSO_PARAMETER("icon_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szIcon) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if(!widget())return true; - if (!ob) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!ob->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!ob->object()->isWidgetType()) - { - c->warning(__tr2qs("Can't add a non-widget object")); - return true; - } + pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + CHECK_HOBJECT_IS_WIDGET(pObject) QPixmap * pix = g_pIconManager->getImage(szIcon); if(pix){ - ((QTabWidget *)widget())->insertTab(iIndex,(QWidget *)(ob->object()),QIcon(*pix),szLabel); + ((QTabWidget *)widget())->insertTab(iIndex,(QWidget *)(pObject->object()),QIcon(*pix),szLabel); } - else ((QTabWidget *)widget())->insertTab(iIndex,((QWidget *)(ob->object())),szLabel); + else ((QTabWidget *)widget())->insertTab(iIndex,((QWidget *)(pObject->object())),szLabel); return true; } -bool KviKvsObject_tabwidget::functionsetCurrentPage(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,setCurrentPage) { + CHECK_INTERNAL_POINTER(widget()) kvs_int_t iIndex; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIndex) KVSO_PARAMETERS_END(c) - if (widget()) ((QTabWidget *)widget())->setCurrentIndex(iIndex); + ((QTabWidget *)widget())->setCurrentIndex(iIndex); return true; } -bool KviKvsObject_tabwidget::functionsetTabToolTip(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,setTabToolTip) { - KviKvsObject *ob; + CHECK_INTERNAL_POINTER(widget()) + KviKvsObject *pObject; QString szTooltip; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject) KVSO_PARAMETER("tooltip",KVS_PT_STRING,0,szTooltip) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if(!widget())return true; - if (!ob) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!ob->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!ob->object()->isWidgetType()) - { - c->warning(__tr2qs("Not a widget object")); - return true; - } - int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(ob->object()))); + pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + CHECK_HOBJECT_IS_WIDGET(pObject) + int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))); if (ctrl == -1) { - c->warning(__tr2qs("Can't find the tab ")); + c->warning(__tr2qs_ctx("Can't find the tab ","objects")); return true; } ((QTabWidget *)widget())->setTabToolTip(ctrl,szTooltip); return true; } -bool KviKvsObject_tabwidget::functionremoveTabToolTip(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,removeTabToolTip) { - KviKvsObject *ob; + CHECK_INTERNAL_POINTER(widget()) + KviKvsObject *pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!ob->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!widget()) return true; - if(!ob->object()->isWidgetType()) - { - c->warning(__tr2qs("Not a widget object")); - return true; - } - int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(ob->object()))) ; + pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + CHECK_HOBJECT_IS_WIDGET(pObject) + int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))) ; if (ctrl==-1) { - c->warning(__tr2qs("Can't find the tab ")); + c->warning(__tr2qs_ctx("Can't find the tab ","objects")); return true; } ((QTabWidget *)widget())->setTabToolTip(ctrl,QString()); return true; } -bool KviKvsObject_tabwidget::functionsetTabLabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,setTabLabel) { - KviKvsObject *ob; + CHECK_INTERNAL_POINTER(widget()) + KviKvsObject *pObject; QString szLabel; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0, hObject) KVSO_PARAMETER("tooltip",KVS_PT_STRING,0,szLabel) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!ob->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!widget())return true; - if(!ob->object()->isWidgetType()) - { - c->warning(__tr2qs("Not a widget object")); - return true; - } - int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(ob->object()))); + pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + CHECK_HOBJECT_IS_WIDGET(pObject) + int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))); if (ctrl == -1) { - c->warning(__tr2qs("Can't find the tab ")); + c->warning(__tr2qs_ctx("Can't find the tab ","objects")); return true; } ((QTabWidget *)widget())->setTabText(ctrl,szLabel); return true; } -bool KviKvsObject_tabwidget::functioncurrentPageIndex(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,currentPageIndex) { + CHECK_INTERNAL_POINTER(widget()) int index=((QTabWidget *)widget())->currentIndex(); - if (widget()) c->returnValue()->setInteger(index); + c->returnValue()->setInteger(index); return true; } -bool KviKvsObject_tabwidget::functiontabLabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,tabLabel) { + CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("index",KVS_PT_INT,0,uIndex) KVSO_PARAMETERS_END(c) - if (!widget()) return true; QString label=((QTabWidget *)widget())->tabText(uIndex); c->returnValue()->setString(label); return true; } -bool KviKvsObject_tabwidget::functioncount(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,count) { - if (!widget()) return true; + CHECK_INTERNAL_POINTER(widget()) int count = ((QTabWidget *)widget())->count(); c->returnValue()->setInteger(count); return true; } -bool KviKvsObject_tabwidget::functioncurrentTabLabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,currentTabLabel) { - if (widget()) - { - int i= ((QTabWidget *)widget())->currentIndex(); - QString label=((QTabWidget *)widget())->tabText(i); - c->returnValue()->setString(label); - } + CHECK_INTERNAL_POINTER(widget()) + int i= ((QTabWidget *)widget())->currentIndex(); + QString label=((QTabWidget *)widget())->tabText(i); + c->returnValue()->setString(label); return true; } -bool KviKvsObject_tabwidget::functionremovePage(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,removePage) { - KviKvsObject *ob; + CHECK_INTERNAL_POINTER(widget()) + KviKvsObject *pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if(!widget())return true; - if (!ob) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!ob->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!ob->object()->isWidgetType()) - { - c->warning(__tr2qs("Not a widget object")); - return true; - } - int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(ob->object()))); + pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + CHECK_HOBJECT_IS_WIDGET(pObject) + int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))); if (ctrl == -1) { - c->warning(__tr2qs("Can't find the tab ")); + c->warning(__tr2qs_ctx("Can't find the tab ","objects")); return true; } ((QTabWidget *)widget())->removeTab(ctrl); return true; } -bool KviKvsObject_tabwidget::functionchangeTab(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,changeTab) { - KviKvsObject *ob; + CHECK_INTERNAL_POINTER(widget()) + KviKvsObject *pObject; QString szLabel,szIcon; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) @@ -450,27 +368,12 @@ bool KviKvsObject_tabwidget::functionchangeTab(KviKvsObjectFunctionCall *c) KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) KVSO_PARAMETER("icon_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szIcon) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!ob->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!widget())return true; - if(!ob->object()->isWidgetType()) - { - c->warning(__tr2qs("Not a widget object")); - return true; - } - int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(ob->object()))); + pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + CHECK_HOBJECT_IS_WIDGET(pObject) + int ctrl = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))); if (ctrl == -1) { - c->warning(__tr2qs("Can't find the tab ")); + c->warning(__tr2qs_ctx("Can't find the tab ","objects")); return true; } QPixmap * pix = g_pIconManager->getImage(szIcon); @@ -478,13 +381,13 @@ bool KviKvsObject_tabwidget::functionchangeTab(KviKvsObjectFunctionCall *c) ((QTabWidget *)widget())->setTabText(ctrl,szLabel); return true; } -bool KviKvsObject_tabwidget::functionsetTabPosition(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,setTabPosition) { + CHECK_INTERNAL_POINTER(widget()) QString szPos; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("tab_position",KVS_PT_STRING,0,szPos) KVSO_PARAMETERS_END(c) - if(!widget())return true; if(KviQString::equalCI(szPos,"Top")) ((QTabWidget *)widget())->setTabPosition(QTabWidget::North); else if(KviQString::equalCI(szPos,"Bottom")) @@ -495,7 +398,7 @@ bool KviKvsObject_tabwidget::functionsetTabPosition(KviKvsObjectFunctionCall *c) -bool KviKvsObject_tabwidget::functionCurrentChangedEvent(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(tabwidget,currentChangedEvent) { emitSignal("valueChanged",c,c->params()); diff --git a/src/modules/objects/class_tabwidget.h b/src/modules/objects/class_tabwidget.h index 95ff95e3e..020f40ca1 100644 --- a/src/modules/objects/class_tabwidget.h +++ b/src/modules/objects/class_tabwidget.h @@ -38,20 +38,20 @@ public: protected: virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool functionaddTab(KviKvsObjectFunctionCall *c); - bool functioninsertTab(KviKvsObjectFunctionCall *c); - bool functionsetTabToolTip(KviKvsObjectFunctionCall *c); - bool functionremoveTabToolTip(KviKvsObjectFunctionCall *c); - bool functionsetTabLabel(KviKvsObjectFunctionCall *c); - bool functionsetCurrentPage(KviKvsObjectFunctionCall *c); - bool functioncurrentPageIndex(KviKvsObjectFunctionCall *c); - bool functiontabLabel(KviKvsObjectFunctionCall *c); - bool functioncurrentTabLabel(KviKvsObjectFunctionCall *c); - bool functioncount(KviKvsObjectFunctionCall *c); - bool functionchangeTab(KviKvsObjectFunctionCall *c); - bool functionCurrentChangedEvent(KviKvsObjectFunctionCall *c); - bool functionremovePage(KviKvsObjectFunctionCall *c); - bool functionsetTabPosition(KviKvsObjectFunctionCall *c); + bool addTab(KviKvsObjectFunctionCall *c); + bool insertTab(KviKvsObjectFunctionCall *c); + bool setTabToolTip(KviKvsObjectFunctionCall *c); + bool removeTabToolTip(KviKvsObjectFunctionCall *c); + bool setTabLabel(KviKvsObjectFunctionCall *c); + bool setCurrentPage(KviKvsObjectFunctionCall *c); + bool currentPageIndex(KviKvsObjectFunctionCall *c); + bool tabLabel(KviKvsObjectFunctionCall *c); + bool currentTabLabel(KviKvsObjectFunctionCall *c); + bool count(KviKvsObjectFunctionCall *c); + bool changeTab(KviKvsObjectFunctionCall *c); + bool currentChangedEvent(KviKvsObjectFunctionCall *c); + bool removePage(KviKvsObjectFunctionCall *c); + bool setTabPosition(KviKvsObjectFunctionCall *c); protected slots: void slotCurrentChanged(int); diff --git a/src/modules/objects/class_tbrowser.cpp b/src/modules/objects/class_tbrowser.cpp index 7bd056d9a..9393e799b 100644 --- a/src/modules/objects/class_tbrowser.cpp +++ b/src/modules/objects/class_tbrowser.cpp @@ -67,12 +67,12 @@ */ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_textbrowser,"textbrowser","multilineedit") - KVSO_REGISTER_HANDLER(KviKvsObject_textbrowser,"setSource",function_setSource) - KVSO_REGISTER_HANDLER(KviKvsObject_textbrowser,"forward",function_forward) - KVSO_REGISTER_HANDLER(KviKvsObject_textbrowser,"backward",function_backward) - KVSO_REGISTER_HANDLER(KviKvsObject_textbrowser,"home",function_home) - KVSO_REGISTER_HANDLER(KviKvsObject_textbrowser,"reload",function_reload) - KVSO_REGISTER_HANDLER(KviKvsObject_textbrowser,"linkClickedEvent",function_linkClickedEvent) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_textbrowser,setSource) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_textbrowser,forward) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_textbrowser,backward) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_textbrowser,home) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_textbrowser,reload) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_textbrowser,linkClickedEvent) KVSO_END_REGISTERCLASS(KviKvsObject_textbrowser) KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_textbrowser,KviKvsObject_textedit) @@ -91,44 +91,49 @@ bool KviKvsObject_textbrowser::init(KviKvsRunTimeContext * pContext,KviKvsVarian return true; } -bool KviKvsObject_textbrowser::function_setSource(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(textbrowser,setSource) { + CHECK_INTERNAL_POINTER(widget()) QString szFile; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("file_name",KVS_PT_STRING,0,szFile) KVSO_PARAMETERS_END(c) if(!QFile::exists(szFile)) { - c->warning(__tr2qs("I can't find the specified file '%Q'."),&szFile); + c->warning(__tr2qs_ctx("I can't find the specified file '%Q'.","objects"),&szFile); return true; } QUrl url; url.setPath(szFile); - if (widget()) ((QTextBrowser *)widget())->setSource(url); + ((QTextBrowser *)widget())->setSource(url); return true; } -bool KviKvsObject_textbrowser::function_forward(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(textbrowser,forward) { - if (widget()) ((QTextBrowser *)widget())->forward(); + CHECK_INTERNAL_POINTER(widget()) + ((QTextBrowser *)widget())->forward(); return true; } -bool KviKvsObject_textbrowser::function_backward(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(textbrowser,backward) { - if (widget()) ((QTextBrowser *)widget())->backward(); + CHECK_INTERNAL_POINTER(widget()) + ((QTextBrowser *)widget())->backward(); return true; } -bool KviKvsObject_textbrowser::function_home(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(textbrowser,home) { - if (widget()) ((QTextBrowser *)widget())->home(); + CHECK_INTERNAL_POINTER(widget()) + ((QTextBrowser *)widget())->home(); return true; } -bool KviKvsObject_textbrowser::function_reload(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(textbrowser,reload) { - if (widget()) ((QTextBrowser *)widget())->reload(); + CHECK_INTERNAL_POINTER(widget()) + ((QTextBrowser *)widget())->reload(); return true; } @@ -138,7 +143,7 @@ void KviKvsObject_textbrowser::anchorClicked(const QUrl &url) callFunction(this,"linkClickedEvent",0,&parms); } -bool KviKvsObject_textbrowser::function_linkClickedEvent(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(textbrowser,linkClickedEvent) { emitSignal("linkClicked",c,c->params()); return true; diff --git a/src/modules/objects/class_tbrowser.h b/src/modules/objects/class_tbrowser.h index 05fc6952a..baf6c42d9 100644 --- a/src/modules/objects/class_tbrowser.h +++ b/src/modules/objects/class_tbrowser.h @@ -39,12 +39,12 @@ public: protected: virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool function_setSource(KviKvsObjectFunctionCall *c); - bool function_forward(KviKvsObjectFunctionCall *c); - bool function_backward(KviKvsObjectFunctionCall *c); - bool function_home(KviKvsObjectFunctionCall *c); - bool function_reload(KviKvsObjectFunctionCall *c); - bool function_linkClickedEvent(KviKvsObjectFunctionCall *c); + bool setSource(KviKvsObjectFunctionCall *c); + bool forward(KviKvsObjectFunctionCall *c); + bool backward(KviKvsObjectFunctionCall *c); + bool home(KviKvsObjectFunctionCall *c); + bool reload(KviKvsObjectFunctionCall *c); + bool linkClickedEvent(KviKvsObjectFunctionCall *c); protected slots: void anchorClicked(const QUrl &); }; diff --git a/src/modules/objects/class_toolbar.cpp b/src/modules/objects/class_toolbar.cpp index 56608a2ea..880878c7b 100644 --- a/src/modules/objects/class_toolbar.cpp +++ b/src/modules/objects/class_toolbar.cpp @@ -61,10 +61,10 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_toolbar,"toolbar","object") - KVSO_REGISTER_HANDLER(KviKvsObject_toolbar,"addSeparator", functionaddSeparator) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbar,"setLabel", functionsetLabel) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbar,"label", functionlabel) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbar,"clear", functionclear) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbar,addSeparator) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbar,setLabel) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbar,label) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbar,clear) KVSO_END_REGISTERCLASS(KviKvsObject_toolbar) KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_toolbar,KviKvsObject_widget) @@ -80,7 +80,7 @@ bool KviKvsObject_toolbar::init(KviKvsRunTimeContext * pContext,KviKvsVariantLis { if (!parentObject()) { - pContext->warning(__tr2qs("the toolbar cannot be a parent-widget!")); + pContext->warning(__tr2qs_ctx("the toolbar cannot be a parent-widget!","objects")); return true; } if(parentObject()->inheritsClass("mainwindow")) @@ -89,35 +89,38 @@ bool KviKvsObject_toolbar::init(KviKvsRunTimeContext * pContext,KviKvsVariantLis } else { - pContext->warning(__tr2qs("The parent-widget isn't a MainWindow.")); + pContext->warning(__tr2qs_ctx("The parent-widget isn't a MainWindow.","objects")); } return true; } -bool KviKvsObject_toolbar::functionaddSeparator(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbar,addSeparator) { - if(widget()) ((KviTalToolBar *)widget())->addSeparator(); + CHECK_INTERNAL_POINTER(widget()) + ((KviTalToolBar *)widget())->addSeparator(); return true; } -bool KviKvsObject_toolbar::functionsetLabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbar,setLabel) { + CHECK_INTERNAL_POINTER(widget()) QString szLabel; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) KVSO_PARAMETERS_END(c) - if (widget()) ((KviTalToolBar *)widget())->setWindowTitle(szLabel); + ((KviTalToolBar *)widget())->setWindowTitle(szLabel); return true; } -bool KviKvsObject_toolbar::functionlabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbar,label) { - if (widget()) c->returnValue()->setString(((KviTalToolBar *)widget())->windowTitle()); + CHECK_INTERNAL_POINTER(widget()) + c->returnValue()->setString(((KviTalToolBar *)widget())->windowTitle()); return true; } -bool KviKvsObject_toolbar::functionclear(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbar,clear) { - if (widget()) - ((KviTalToolBar *)object())->clear(); + CHECK_INTERNAL_POINTER(widget()) + ((KviTalToolBar *)object())->clear(); return true; } diff --git a/src/modules/objects/class_toolbar.h b/src/modules/objects/class_toolbar.h index c4837f448..446dc5e0c 100644 --- a/src/modules/objects/class_toolbar.h +++ b/src/modules/objects/class_toolbar.h @@ -37,11 +37,11 @@ public: protected: virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool functionaddSeparator(KviKvsObjectFunctionCall *c); - bool functionsetLabel(KviKvsObjectFunctionCall *c); - bool functionlabel(KviKvsObjectFunctionCall *c); - bool functionsetStretchableWidget(KviKvsObjectFunctionCall *c); - bool functionclear(KviKvsObjectFunctionCall *c); + bool addSeparator(KviKvsObjectFunctionCall *c); + bool setLabel(KviKvsObjectFunctionCall *c); + bool label(KviKvsObjectFunctionCall *c); + bool setStretchableWidget(KviKvsObjectFunctionCall *c); + bool clear(KviKvsObjectFunctionCall *c); }; diff --git a/src/modules/objects/class_vbox.cpp b/src/modules/objects/class_vbox.cpp index 458e9f691..50db8a8ad 100644 --- a/src/modules/objects/class_vbox.cpp +++ b/src/modules/objects/class_vbox.cpp @@ -141,22 +141,7 @@ KVSO_CLASS_FUNCTION(vbox,setStretchFactor) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!widget())return true; - if (!pObject) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs("Can't add a non-widget object")); - return true; - } - + CHECK_HOBJECT_IS_WIDGET(pObject) if(((KviKvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { c->warning(__tr2qs("The widget must be a child of this vbox")); @@ -186,21 +171,7 @@ KVSO_CLASS_FUNCTION(vbox,setAlignment) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!widget())return true; - if (!pObject) - { - c->warning(__tr2qs("Widget parameter is not an object")); - return true; - } - if (!pObject->object()) - { - c->warning(__tr2qs("Widget parameter is not a valid object")); - return true; - } - if(!pObject->object()->isWidgetType()) - { - c->warning(__tr2qs("Can't add a non-widget object")); - return true; - } + CHECK_HOBJECT_IS_WIDGET(pObject) if(((KviKvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { c->warning(__tr2qs("The widget must be a child of this hbox")); diff --git a/src/modules/objects/object_macros.h b/src/modules/objects/object_macros.h index 634d050e3..15e0cc4da 100644 --- a/src/modules/objects/object_macros.h +++ b/src/modules/objects/object_macros.h @@ -105,4 +105,21 @@ g_pKvs##__className##Class->registerFunctionHandler(#__szName,(KviKvsObjectFunct c->error(__tr2qs_ctx("Internal error: no valid pointer for this object","objects")); \ return false; \ } +#define CHECK_HOBJECT_IS_WIDGET(__pObject)\ +if (__pObject)\ + {\ + c->warning(__tr2qs_ctx("Widget parameter is not an object","objects"));\ + return true;\ + }\ + if (!__pObject->object())\ + {\ + c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects"));\ + return true;\ + }\ + if(!__pObject->object()->isWidgetType())\ + {\ + c->warning(__tr2qs_ctx("Widget object requires","objects"));\ + return true;\ + } #endif + |
