diff options
| author | 2010-03-22 20:07:34 +0000 | |
|---|---|---|
| committer | 2010-03-22 20:07:34 +0000 | |
| commit | 42c8c7861e7c6498d0b68c9883cf3415d5b67a39 (patch) | |
| tree | 866736292bbff163259a1b618c20ccd0802e1188 /src/modules/classeditor/classeditor.cpp | |
| parent | More work on classeditor (diff) | |
| download | KVIrc-42c8c7861e7c6498d0b68c9883cf3415d5b67a39.tar.gz KVIrc-42c8c7861e7c6498d0b68c9883cf3415d5b67a39.tar.bz2 KVIrc-42c8c7861e7c6498d0b68c9883cf3415d5b67a39.zip | |
More work on classeditor
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4202 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/classeditor/classeditor.cpp')
| -rw-r--r-- | src/modules/classeditor/classeditor.cpp | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/src/modules/classeditor/classeditor.cpp b/src/modules/classeditor/classeditor.cpp index 36f2e1c9d..31295074d 100644 --- a/src/modules/classeditor/classeditor.cpp +++ b/src/modules/classeditor/classeditor.cpp @@ -311,6 +311,33 @@ KviClassEditorTreeWidgetItem * KviClassEditor::createFullItem(const QString & sz } return new KviClassEditorTreeWidgetItem(pItem,KviClassEditorTreeWidgetItem::Class,lNamespaces.at(i)); } +KviClassEditorTreeWidgetItem * KviClassEditor::createFullNamespace(const QString & szFullName) +{ + QStringList lNamespaces=szFullName.split("::"); + debug("createfullnamespace %s",szFullName.toUtf8().data()); + if(!lNamespaces.count()) return 0; + KviClassEditorTreeWidgetItem *pItem=findTopLevelItem(lNamespaces.at(0)); + if (!pItem) pItem=new KviClassEditorTreeWidgetItem(m_pTreeWidget,KviClassEditorTreeWidgetItem::Namespace,lNamespaces.at(0)); + if (lNamespaces.count()==1) return pItem; + bool bFound; + int i; + for(i=1;i<lNamespaces.count()-1;i++) + { + bFound=false; + for(int j=0;j<pItem->childCount();j++) + { + if (KviQString::equalCI(pItem->child(j)->text(0),lNamespaces.at(i))) + { + pItem=( KviClassEditorTreeWidgetItem *)pItem->child(j); + bFound=true; + break; + } + } + if (!bFound) + pItem=new KviClassEditorTreeWidgetItem(pItem,KviClassEditorTreeWidgetItem::Namespace,lNamespaces.at(i)); + } + return new KviClassEditorTreeWidgetItem(pItem,KviClassEditorTreeWidgetItem::Namespace,lNamespaces.at(i)); +} void KviClassEditor::oneTimeSetup() { @@ -559,8 +586,7 @@ void KviClassEditor::renameClass(KviClassEditorTreeWidgetItem *pClassItem) cutItem(pClassItem); if(szNewClassName.contains("::")) { - pNewItem=createFullItem(szNewClassName.left(szNewClassName.lastIndexOf("::"))); - pNewItem->setType(KviClassEditorTreeWidgetItem::Namespace); + pNewItem=createFullNamespace(szNewClassName.left(szNewClassName.lastIndexOf("::"))); pClassItem->setName(szNewClassName.section("::",-1,-1)); pNewItem->addChild(pClassItem); m_pClasses->insert(szNewClassName,pNewItem); @@ -571,9 +597,6 @@ void KviClassEditor::renameClass(KviClassEditorTreeWidgetItem *pClassItem) m_pTreeWidget->addTopLevelItem(pClassItem); m_pClasses->insert(szNewClassName,pClassItem); } - //KviKvsObjectClass *pClass; - //pClass = KviKvsKernel::instance()->objectController()->lookupClass(szClassName); - //if (pClass) KviKvsKernel::instance()->objectController()->deleteClass(pClass); pClassItem->setInheritsClass(szNewInheritsClassName); pClassItem->setClassNotBuilt(true); KviPointerList<KviClassEditorTreeWidgetItem> pInheritedClasses; @@ -630,8 +653,7 @@ void KviClassEditor::renameNamespace(KviClassEditorTreeWidgetItem *pOldNamespace cutItem(pOldNamespaceItem); if(szNewNameSpaceName.contains("::")) { - pNewItem=createFullItem(szNewNameSpaceName.left(szNewNameSpaceName.lastIndexOf("::"))); - pNewItem->setType(KviClassEditorTreeWidgetItem::Namespace); + pNewItem=createFullNamespace(szNewNameSpaceName.left(szNewNameSpaceName.lastIndexOf("::"))); pOldNamespaceItem->setName(szNewNameSpaceName.section("::",-1,-1)); pNewItem->addChild(pOldNamespaceItem); } |
