From 87a1b80f5a51fc639058eb554669bca58b3ce011 Mon Sep 17 00:00:00 2001 From: Elvio Basello Date: Fri, 5 Sep 2008 01:41:51 +0000 Subject: added $loadInterface to object class, please test git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2402 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/objects/class_widget.cpp | 37 ++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'src/modules/objects/class_widget.cpp') diff --git a/src/modules/objects/class_widget.cpp b/src/modules/objects/class_widget.cpp index 90aea125e..aa94a737b 100644 --- a/src/modules/objects/class_widget.cpp +++ b/src/modules/objects/class_widget.cpp @@ -47,6 +47,8 @@ #include #include #include +#include +#include KviKvsWidget::KviKvsWidget(KviKvsObject_widget * object,QWidget * par) :QWidget(par), m_pObject(object) @@ -512,6 +514,10 @@ const Qt::WindowType widgettypes_cod[] = { See also [classfnc]$removeFromStatusBar[/classfnc](). !fn: $removeFromStatusBar() Remove the widget from statusbar. + + !fn: $loadInterface() + Loads the interface file ".ui". + The UI file must be created in the proper way using a tool like Qt Designer or KDevelop Designer. @examples: [example] %Widget = $new(widget) @@ -631,6 +637,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_widget,"widget","object") KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setToolTip",function_setToolTip) KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setWFlags",function_setWFlags) KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setIcon",function_setWindowIcon) + KVSO_REGISTER_HANDLER(KviKvsObject_widget,"loadInterface",function_loadInterface) // fonts KVSO_REGISTER_HANDLER(KviKvsObject_widget,"fontDescent",function_fontDescent) KVSO_REGISTER_HANDLER(KviKvsObject_widget,"fontAscent",function_fontAscent) @@ -697,11 +704,8 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_widget,"widget","object") KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_widget,"sizeHintRequestEvent") KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_widget,"maybeTipEvent") KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_widget,"shortCutEvent") - - KVSO_END_REGISTERCLASS(KviKvsObject_widget) - KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_widget,KviKvsObject) KVSO_END_CONSTRUCTOR(KviKvsObject_widget) @@ -1735,7 +1739,7 @@ bool KviKvsObject_widget::function_addWidgetToWrappedLayout(KviKvsObjectFunction QLayout *lay=widget()->layout(); if (!lay) { - c->warning(__tr2qs("No Layout associated to the widget ")); + c->warning(__tr2qs("No Layout associated to the widget")); return true; } if(!ob->object()->isWidgetType()) @@ -1949,6 +1953,31 @@ bool KviKvsObject_widget::function_removeFromStatusBar(KviKvsObjectFunctionCall return true; } +bool KviKvsObject_widget::function_loadInterface(KviKvsObjectFunctionCall *c) +{ + QString szFileName; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("interface_file",KVS_PT_STRING,0,szFileName) + KVSO_PARAMETERS_END(c) + + QUiLoader loader; + QFile file(szFileName); + file.open(QFile::ReadOnly); + QWidget * pWidget = loader.load(&file,(QWidget *)this); + file.close(); + + QLayout * pLayout = widget()->layout(); + if(!pLayout) + { + c->warning(__tr2qs("No layout associated to the widget")); + return true; + } + + pLayout->addWidget(pWidget); + + return true; +} + #ifndef COMPILE_USE_STANDALONE_MOC_SOURCES #include "m_class_widget.moc" #endif //!COMPILE_USE_STANDALONE_MOC_SOURCES -- cgit v1.3.1-10-gc9f91