diff options
| author | 2008-09-05 01:41:51 +0000 | |
|---|---|---|
| committer | 2008-09-05 01:41:51 +0000 | |
| commit | 87a1b80f5a51fc639058eb554669bca58b3ce011 (patch) | |
| tree | 4890acb4a595de6dbf3aca4fdeed7de6af66d8c6 /src/modules | |
| parent | updated italian translation (diff) | |
| download | KVIrc-87a1b80f5a51fc639058eb554669bca58b3ce011.tar.gz KVIrc-87a1b80f5a51fc639058eb554669bca58b3ce011.tar.bz2 KVIrc-87a1b80f5a51fc639058eb554669bca58b3ce011.zip | |
added $loadInterface to object class, please test
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2402 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/objects/class_widget.cpp | 37 | ||||
| -rw-r--r-- | src/modules/objects/class_widget.h | 4 |
2 files changed, 35 insertions, 6 deletions
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 <QMetaObject>
#include <QIcon>
#include <QStatusBar>
+#include <QUiLoader>
+#include <QFile>
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(<string:filename>)
+ Loads the interface file "<filename>.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
diff --git a/src/modules/objects/class_widget.h b/src/modules/objects/class_widget.h index 35521612f..850dc82d2 100644 --- a/src/modules/objects/class_widget.h +++ b/src/modules/objects/class_widget.h @@ -1,6 +1,5 @@ #ifndef _CLASS_WIDGET_H_
#define _CLASS_WIDGET_H_
-//vim: ts=8
// File : class_widget.h
// Creation date : Mon 11 Sep 16:34:36 CET 2000 by Krzysztof Godlewski
//
@@ -68,6 +67,7 @@ protected: bool function_isEnabled(KviKvsObjectFunctionCall *c);
bool function_isTopLevel(KviKvsObjectFunctionCall *c);
bool function_isVisible(KviKvsObjectFunctionCall *c);
+ bool function_loadInterface(KviKvsObjectFunctionCall *c);
bool function_lower(KviKvsObjectFunctionCall *);
bool function_mapFromGlobal(KviKvsObjectFunctionCall *c);
bool function_mapToGlobal(KviKvsObjectFunctionCall *c);
@@ -126,4 +126,4 @@ protected: public:
QSize sizeHint() const;
};
-#endif // !_CLASS_WIDGET_H_
+#endif //_CLASS_WIDGET_H_
|
