From 1bcbc98c4c0e4fa1327e8a7017e8691d342192c3 Mon Sep 17 00:00:00 2001 From: Noldor Date: Tue, 20 Jul 2010 05:53:20 +0000 Subject: Tablewidget kvs class code improvements git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4680 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/objects/class_tablewidget.cpp | 59 ++++++++++++++++++++++++++++++- src/modules/objects/class_tablewidget.h | 7 ++++ 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/src/modules/objects/class_tablewidget.cpp b/src/modules/objects/class_tablewidget.cpp index af695e34f..9e0e1e8e2 100644 --- a/src/modules/objects/class_tablewidget.cpp +++ b/src/modules/objects/class_tablewidget.cpp @@ -111,7 +111,15 @@ const char * const itemflags_tbl[] = { !fn: $currentRow() Returns the current row. Useful in the [classfnc]customContextMenuRequestedEvent[/classfnc]. - !fn: $setColumnCount() + !fn: $insertRow() + Insert an empty row at . + !fn: $removeRow() + Remove the row at and all its items from the table. + !fn: $insertColumn() + Insert an empty column at . + !fn: $removeColumn() + Remove the column at and all its items from the table. + !fn: $setColumnCount() Sets the number of columns in the table. !fn: $columnCount() Returns the number of columns in the table. @@ -178,6 +186,11 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_tablewidget,"tablewidget","widget") // Rows-Columns KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setRowCount) + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,insertRow) + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,insertColumn) + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,removeRow) + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,removeColumn) + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,rowCount) KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,currentRow) KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setColumnCount) @@ -312,6 +325,50 @@ KVSO_CLASS_FUNCTION(tablewidget,setNumber) return true; } +KVSO_CLASS_FUNCTION(tablewidget,insertRow) +{ + CHECK_INTERNAL_POINTER(widget()) + kvs_uint_t uRow; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) + KVSO_PARAMETERS_END(c) + ((QTableWidget *)widget())->insertRow(uRow); + return true; +} + +KVSO_CLASS_FUNCTION(tablewidget,insertColumn) +{ + CHECK_INTERNAL_POINTER(widget()) + kvs_uint_t uCol; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETERS_END(c) + ((QTableWidget *)widget())->insertColumn(uCol); + return true; +} +KVSO_CLASS_FUNCTION(tablewidget,removeRow) +{ + CHECK_INTERNAL_POINTER(widget()) + kvs_uint_t uRow; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) + KVSO_PARAMETERS_END(c) + ((QTableWidget *)widget())->removeRow(uRow); + return true; +} + +KVSO_CLASS_FUNCTION(tablewidget,removeColumn) +{ + CHECK_INTERNAL_POINTER(widget()) + kvs_uint_t uCol; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETERS_END(c) + ((QTableWidget *)widget())->removeColumn(uCol); + return true; +} + + KVSO_CLASS_FUNCTION(tablewidget,setIcon) { kvs_uint_t uCol,uRow; diff --git a/src/modules/objects/class_tablewidget.h b/src/modules/objects/class_tablewidget.h index f188be39b..f2bf20fc6 100644 --- a/src/modules/objects/class_tablewidget.h +++ b/src/modules/objects/class_tablewidget.h @@ -81,6 +81,13 @@ protected: bool itemRowColAt(KviKvsObjectFunctionCall *c); bool rowCount(KviKvsObjectFunctionCall *c); + + bool insertRow(KviKvsObjectFunctionCall *c); + bool insertColumn(KviKvsObjectFunctionCall *c); + bool removeRow(KviKvsObjectFunctionCall *c); + bool removeColumn(KviKvsObjectFunctionCall *c); + + bool setHorizontalHeaderLabels(KviKvsObjectFunctionCall *c); bool setVerticalHeaderLabels(KviKvsObjectFunctionCall *c); bool setCellWidget(KviKvsObjectFunctionCall *c); -- cgit v1.3.1-10-gc9f91