diff options
| author | 2010-01-17 15:37:01 +0000 | |
|---|---|---|
| committer | 2010-01-17 15:37:01 +0000 | |
| commit | 5f471198b7ba6f85d085cd3feffa873cc2f18d73 (patch) | |
| tree | 36a91990576c153047b1017e284d9ce96a46a62f | |
| parent | Some fixes in object module (diff) | |
| download | KVIrc-5f471198b7ba6f85d085cd3feffa873cc2f18d73.tar.gz KVIrc-5f471198b7ba6f85d085cd3feffa873cc2f18d73.tar.bz2 KVIrc-5f471198b7ba6f85d085cd3feffa873cc2f18d73.zip | |
Some fixes in KVS listview(treewidget) class
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3846 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | src/modules/objects/class_treewidgetitem.cpp | 75 | ||||
| -rw-r--r-- | src/modules/objects/class_treewidgetitem.h | 1 |
2 files changed, 33 insertions, 43 deletions
diff --git a/src/modules/objects/class_treewidgetitem.cpp b/src/modules/objects/class_treewidgetitem.cpp index 80593a7e7..67e129900 100644 --- a/src/modules/objects/class_treewidgetitem.cpp +++ b/src/modules/objects/class_treewidgetitem.cpp @@ -92,14 +92,17 @@ const char * const itemflags_tbl[] = { !fn: $setItemEditable(<bEnabled:boolean>) If bEnabled is TRUE (1), this item can be in-place editable by the user; otherwise it cannot be editable in-place. + !fn: $isItemEditable() + Returns $true if this item is editable and $false otherwise. + !fn: $setEnabled(<bEnabled:boolean>) - Enables or disables the item + Enables or disables the item. !fn: $isEnabled() - Returns $true if this item is enabled and $false otherwise + Returns $true if this item is enabled and $false otherwise. !fn: $setOpen(<bOpen:boolean>) - Opens or closes the item to show its children items + Opens or closes the item to show its children items. !fn: $isOpen() Returns the open state of this item @@ -137,12 +140,14 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_treewidgetitem,"listviewitem","object") KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,text) KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,setPixmap); KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,setItemEditable); - //KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,"setEnabled",function_setEnabled); - //KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,"isEnabled",function_isEnabled); + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,isItemEditable); + + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,setEnabled); + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,isEnabled); KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,setOpen); KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,isOpen); - //KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,"setCheckable",function_setCheckable); - //KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,"isCheckable",function_isCheckable); + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,setCheckable); + KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,isCheckable); KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,setChecked); KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,isChecked); KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidgetitem,firstChild); @@ -258,7 +263,16 @@ KVSO_CLASS_FUNCTION(treewidgetitem,setItemEditable) m_pTreeWidgetItem->setFlags(bEnabled?m_pTreeWidgetItem->flags()|Qt::ItemIsEditable:m_pTreeWidgetItem->flags()&~Qt::ItemIsEditable); return true; } - +KVSO_CLASS_FUNCTION(treewidgetitem,isItemEditable) +{ + if(!m_pTreeWidgetItem) + { + c->returnValue()->setBoolean(false); + return true; + } + c->returnValue()->setBoolean(m_pTreeWidgetItem->flags()&Qt::ItemIsEditable); + return true; +} KVSO_CLASS_FUNCTION(treewidgetitem,setFlags) { QStringList itemflags; @@ -290,7 +304,7 @@ KVSO_CLASS_FUNCTION(treewidgetitem,setFlags) return true; } -/* + KVSO_CLASS_FUNCTION(treewidgetitem,setEnabled) { bool bEnabled; @@ -298,7 +312,7 @@ KVSO_CLASS_FUNCTION(treewidgetitem,setEnabled) KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) if(m_pTreeWidgetItem) - m_pTreeWidgetItem->setEnabled(bEnabled); + m_pTreeWidgetItem->setFlags(bEnabled?m_pTreeWidgetItem->flags()|Qt::ItemIsEnabled:m_pTreeWidgetItem->flags()&~Qt::ItemIsEnabled); return true; } @@ -309,10 +323,10 @@ KVSO_CLASS_FUNCTION(treewidgetitem,isEnabled) c->returnValue()->setBoolean(false); return true; } - c->returnValue()->setBoolean(m_pTreeWidgetItem->isEnabled()); + c->returnValue()->setBoolean(m_pTreeWidgetItem->flags()&Qt::ItemIsEnabled); return true; } -*/ + KVSO_CLASS_FUNCTION(treewidgetitem,setOpen) { bool bEnabled; @@ -363,40 +377,15 @@ KVSO_CLASS_FUNCTION(treewidgetitem,isChecked) c->returnValue()->setBoolean(((QTreeWidgetItem *)m_pTreeWidgetItem)->checkState(0)==Qt::Checked?1:0); return true; } -/* + KVSO_CLASS_FUNCTION(treewidgetitem,setCheckable) { - bool bCheckable; + bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bCheckable",KVS_PT_BOOL,0,bCheckable) + KVSO_PARAMETER("bCheckable",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) if(!m_pTreeWidgetItem)return true; - if(bCheckable) - { - if(m_pTreeWidgetItem->rtti() == 1)return true; // a QCheckListItem already - QTreeWidgetItem * pParent = m_pTreeWidgetItem->parent(); - QTreeWidget * pLV = (QTreeWidget *)m_pTreeWidgetItem->listView(); - // swap the items, so we don't die now - QTreeWidgetItem * pThis = m_pTreeWidgetItem; - m_pTreeWidgetItem = 0; - delete pThis; - if(pParent) - m_pTreeWidgetItem = new KviKvsCheckTreeWidgetItem(this,pParent); - else - m_pTreeWidgetItem = new KviKvsCheckTreeWidgetItem(this,pLV); - } else { - if(m_pTreeWidgetItem->rtti() != 1)return true; // not a QCheckListItem yet - QTreeWidgetItem * pParent = m_pTreeWidgetItem->parent(); - QTreeWidget * pLV = (QTreeWidget *)m_pTreeWidgetItem->listView(); - // swap the items, so we don't die now - QTreeWidgetItem * pThis = m_pTreeWidgetItem; - m_pTreeWidgetItem = 0; - delete pThis; - if(pParent) - m_pTreeWidgetItem = new KviKvsStandardTreeWidgetItem(this,pParent); - else - m_pTreeWidgetItem = new KviKvsStandardTreeWidgetItem(this,pLV); - } + m_pTreeWidgetItem->setFlags(bEnabled?m_pTreeWidgetItem->flags()|Qt::ItemIsUserCheckable:m_pTreeWidgetItem->flags()&~Qt::ItemIsUserCheckable); return true; } @@ -407,10 +396,10 @@ KVSO_CLASS_FUNCTION(treewidgetitem,isCheckable) c->returnValue()->setBoolean(false); return true; } - c->returnValue()->setBoolean(m_pTreeWidgetItem->rtti() == 1); + c->returnValue()->setBoolean(m_pTreeWidgetItem->flags()&Qt::ItemIsUserCheckable); return true; } -*/ + KVSO_CLASS_FUNCTION(treewidgetitem,text) { kvs_uint_t uCol; diff --git a/src/modules/objects/class_treewidgetitem.h b/src/modules/objects/class_treewidgetitem.h index e15c3bea9..5e1f0502b 100644 --- a/src/modules/objects/class_treewidgetitem.h +++ b/src/modules/objects/class_treewidgetitem.h @@ -45,6 +45,7 @@ protected: bool insertItem(KviKvsObjectFunctionCall *c); bool setPixmap(KviKvsObjectFunctionCall *c); bool setItemEditable(KviKvsObjectFunctionCall *c); + bool isItemEditable(KviKvsObjectFunctionCall *c); bool setEnabled(KviKvsObjectFunctionCall *c); bool isEnabled(KviKvsObjectFunctionCall *c); bool setOpen(KviKvsObjectFunctionCall *c); |
