aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects
diff options
context:
space:
mode:
authorGravatar Noldor2007-04-12 17:20:52 +0000
committerGravatar Noldor2007-04-12 17:20:52 +0000
commitb1b069b5e5bfd50b62054501944a378e6449b74d (patch)
tree4171dff99db009e6fe5cf50a38d2492fa8ec581e /src/modules/objects
parentgit-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@482 17fca916-40b9-46aa-a4ea-... (diff)
downloadKVIrc-b1b069b5e5bfd50b62054501944a378e6449b74d.tar.gz
KVIrc-b1b069b5e5bfd50b62054501944a378e6449b74d.tar.bz2
KVIrc-b1b069b5e5bfd50b62054501944a378e6449b74d.zip
added setAttribute to widget classes (QT4 only)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@483 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects')
-rw-r--r--src/modules/objects/class_widget.cpp51
-rw-r--r--src/modules/objects/class_widget.h5
2 files changed, 54 insertions, 2 deletions
diff --git a/src/modules/objects/class_widget.cpp b/src/modules/objects/class_widget.cpp
index 0026eb102..3076d92ed 100644
--- a/src/modules/objects/class_widget.cpp
+++ b/src/modules/objects/class_widget.cpp
@@ -69,6 +69,22 @@ const char * const widgettypes_tbl[] = {
"NoAutoErase"
};
#ifdef COMPILE_USE_QT4
+const Qt::WidgetAttribute widgetattributes_cod[]= {
+ Qt::WA_OpaquePaintEvent,
+ Qt::WA_NoSystemBackground,
+ Qt::WA_PaintOnScreen,
+ Qt::WA_NoMousePropagation,
+};
+
+const char * const widgetattributes_tbl[] = {
+ "opaquePaintEvent",
+ "noSystemBackground",
+ "paintOnScreen",
+ "noMousePropagation",
+};
+#define widgetattributes_num (sizeof(widgetattributes_tbl) / sizeof(widgetattributes_tbl[0]))
+
+
const Qt::WindowType widgettypes_cod[] = {
#else
const int widgettypes_cod[] = {
@@ -87,13 +103,13 @@ const int widgettypes_cod[] = {
};
-
-
#ifdef COMPILE_USE_QT4
+
#define QT_WIDGET_TABFOCUS Qt::TabFocus
#define QT_WIDGET_CLICKFOCUS Qt::ClickFocus
#define QT_WIDGET_STRONGFOCUS Qt::StrongFocus
#define QT_WIDGET_NOFOCUS Qt::NoFocus
+
#else
#define QT_WIDGET_TABFOCUS QWidget::TabFocus
#define QT_WIDGET_CLICKFOCUS QWidget::ClickFocus
@@ -598,6 +614,11 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_widget,"widget","object")
KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setDynamicToolTip",function_setDynamicToolTip)
KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setMask",function_setMask)
+ // QT4 only
+#ifdef COMPILE_USE_QT4
+ KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setAttribute",function_setAttribute)
+#endif
+
// events
KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_widget,"mousePressEvent")
KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_widget,"mouseReleaseEvent")
@@ -1704,4 +1725,30 @@ bool KviKvsObject_widget::function_setMask(KviKvsObjectFunctionCall *c)
widget()->setMask(mask);
return true;
}
+#ifdef COMPILE_USE_QT4
+bool KviKvsObject_widget::function_setAttribute(KviKvsObjectFunctionCall *c)
+{
+ QString attribute;
+ bool bFlag;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("widget_atribute",KVS_PT_STRING,0,attribute)
+ KVSO_PARAMETER("bool_flag",KVS_PT_BOOLEAN,0,bFlag)
+ KVSO_PARAMETERS_END(c)
+ if (!widget()) return true;
+ bool found=false;
+ unsigned int j = 0;
+ for(; j < widgetattributes_num; j++)
+ {
+ if(KviQString::equalCI(attribute, widgetattributes_tbl[j]))
+ {
+ found=true;
+ break;
+ }
+ }
+ if(found)widget()->setAttribute(widgetattributes_cod[j],bFlag);
+ else c->warning(__tr2qs("Unknown widget attribute '%Q'"),&attribute);
+ return true;
+}
+#endif
+
#include "m_class_widget.moc"
diff --git a/src/modules/objects/class_widget.h b/src/modules/objects/class_widget.h
index c0d222206..76d13d8d0 100644
--- a/src/modules/objects/class_widget.h
+++ b/src/modules/objects/class_widget.h
@@ -101,6 +101,11 @@ protected:
bool function_y(KviKvsObjectFunctionCall *);
bool function_setDynamicToolTip(KviKvsObjectFunctionCall *c);
bool function_setMask(KviKvsObjectFunctionCall *c);
+
+
+#ifdef COMPILE_USE_QT4
+bool function_setAttribute(KviKvsObjectFunctionCall *c);
+#endif
signals:
void aboutToDie();