aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects/class_tablewidget.cpp
diff options
context:
space:
mode:
authorGravatar Noldor2009-02-17 16:39:30 +0000
committerGravatar Noldor2009-02-17 16:39:30 +0000
commit363260b05b3f6edb1a6a9e2244fd8c7b8c559652 (patch)
tree70258362129d962852b4f9b8a25ae26ded004c1c /src/modules/objects/class_tablewidget.cpp
parentfix for #368 (diff)
downloadKVIrc-363260b05b3f6edb1a6a9e2244fd8c7b8c559652.tar.gz
KVIrc-363260b05b3f6edb1a6a9e2244fd8c7b8c559652.tar.bz2
KVIrc-363260b05b3f6edb1a6a9e2244fd8c7b8c559652.zip
More work on objects module (w.i.p.)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3079 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects/class_tablewidget.cpp')
-rw-r--r--src/modules/objects/class_tablewidget.cpp75
1 files changed, 68 insertions, 7 deletions
diff --git a/src/modules/objects/class_tablewidget.cpp b/src/modules/objects/class_tablewidget.cpp
index 00f00c2d8..571ad871c 100644
--- a/src/modules/objects/class_tablewidget.cpp
+++ b/src/modules/objects/class_tablewidget.cpp
@@ -31,8 +31,15 @@
#include "class_tablewidget.h"
#include "class_pixmap.h"
#include "class_sql.h"
- #include <QTableWidget>
+#include <QTableWidget>
+#include <QHeaderView>
+
+#include <QPainter>
+#include <QPrinter>
+#include <QApplication>
+#include <QPoint>
+#include <QPaintEvent>
/*
@doc:tablewidget
@title:
@@ -48,7 +55,11 @@
This widget provides a table widget.
@functions:
!fn: $setText([<text:string>])
- @signals:
+ !fn: $text()
+ !fn: $setHorizontalHeaderLabels
+ !fn: $hideHorizontalHeaderLabels
+ !fn: $setHorizontalHeaderLabels
+ @signals:
!sg: $clicked()
This signal is emitted by the default implementation of [classfnc]$clickEvent[/classfnc]().
@@ -57,15 +68,27 @@
KVSO_BEGIN_REGISTERCLASS(KviKvsObject_tablewidget,"tablewidget","widget")
- KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setText)
- KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,text)
- KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setIcon)
+ // Horizontal Header
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setHorizontalHeaderLabels)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,hideHorizontalHeader)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,hideVerticalHeader)
+
+ // Vertical Header
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setVerticalHeaderLabels)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,showHorizontalHeader)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,showVerticalHeader)
+
+ // Rows-Columns
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setRowCount)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,rowCount)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setColumnCount)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,columnCount)
- KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setHorizontalHeaderLabels)
- KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setVerticalHeaderLabels)
+
+ // Item (text. icon, widget)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setText)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,text)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setCellWidget)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setIcon)
KVSO_END_REGISTERCLASS(KviKvsObject_tablewidget)
@@ -216,6 +239,44 @@ KVSO_CLASS_FUNCTION(tablewidget,setVerticalHeaderLabels)
return true;
}
+KVSO_CLASS_FUNCTION(tablewidget,setCellWidget)
+{
+ CHECK_INTERNAL_POINTER(widget())
+ KviKvsObject * pObject;
+ kvs_hobject_t hObject;
+ kvs_uint_t uRow,uCol;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow)
+ KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol)
+ KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject)
+ KVSO_PARAMETERS_END(c)
+ pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
+ CHECK_HOBJECT_IS_WIDGET(pObject)
+ ((QTableWidget *)object())->setCellWidget(uRow,uCol,((QWidget *)(pObject->object())));
+ return true;
+}
+KVSO_CLASS_FUNCTION(tablewidget,hideHorizontalHeader)
+{
+ ((QTableWidget *)widget())->horizontalHeader()->hide();
+ return true;
+}
+KVSO_CLASS_FUNCTION(tablewidget,hideVerticalHeader)
+{
+ ((QTableWidget *)widget())->verticalHeader()->hide();
+ return true;
+}
+
+KVSO_CLASS_FUNCTION(tablewidget,showHorizontalHeader)
+{
+ ((QTableWidget *)widget())->horizontalHeader()->show();
+ return true;
+}
+KVSO_CLASS_FUNCTION(tablewidget,showVerticalHeader)
+{
+ ((QTableWidget *)widget())->verticalHeader()->show();
+ return true;
+}
+
#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
#include "m_class_tablewidget.moc"