aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/classeditor/classeditor.cpp
diff options
context:
space:
mode:
authorGravatar Noldor2010-06-02 14:25:26 +0000
committerGravatar Noldor2010-06-02 14:25:26 +0000
commitc15c0df97de7f4ee678716c1c8fee1abcee4b0df (patch)
treec66ba4be5d8f593aae7f13d9a60891b26b006f1b /src/modules/classeditor/classeditor.cpp
parentfixed multiline toggle shortcut (diff)
downloadKVIrc-c15c0df97de7f4ee678716c1c8fee1abcee4b0df.tar.gz
KVIrc-c15c0df97de7f4ee678716c1c8fee1abcee4b0df.tar.bz2
KVIrc-c15c0df97de7f4ee678716c1c8fee1abcee4b0df.zip
Some fixes in classeditor + code improvements in tablewidget kvs class
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4416 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/classeditor/classeditor.cpp')
-rw-r--r--src/modules/classeditor/classeditor.cpp80
1 files changed, 43 insertions, 37 deletions
diff --git a/src/modules/classeditor/classeditor.cpp b/src/modules/classeditor/classeditor.cpp
index 2342784b2..cae703fa8 100644
--- a/src/modules/classeditor/classeditor.cpp
+++ b/src/modules/classeditor/classeditor.cpp
@@ -69,6 +69,7 @@ KviClassEditorTreeWidgetItem::KviClassEditorTreeWidgetItem(QTreeWidget * pTreeWi
: QTreeWidgetItem(pTreeWidget), KviHeapObject(), m_eType(eType)
{
setName(szName);
+ m_szInheritsClassName="";
m_cPos=0;
m_bInternal=false;
if(eType==KviClassEditorTreeWidgetItem::Namespace) setIcon(0,QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_NAMESPACE))));
@@ -80,6 +81,7 @@ KviClassEditorTreeWidgetItem::KviClassEditorTreeWidgetItem(KviClassEditorTreeWid
: QTreeWidgetItem(pParentItem), m_eType(eType)
{
setName(szName);
+ m_szInheritsClassName="";
m_bInternal=false;
m_cPos=0;
setFlags(Qt::ItemIsEditable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);
@@ -472,10 +474,11 @@ void KviClassEditor::renameFunction()
pFunction->setName(szNewFunctionName);
pFunction->setInternalFunction(bInternal);
pParentClass->setClassNotBuilt(true);
- KviPointerList<KviClassEditorTreeWidgetItem> pInheritedClasses;
- searchInheritedClasses(szClassName,pInheritedClasses);
- for(unsigned int i=0;i<pInheritedClasses.count();i++)
- pInheritedClasses.at(i)->setClassNotBuilt(true);
+ KviPointerList<KviClassEditorTreeWidgetItem> lInheritedClasses;
+ lInheritedClasses.setAutoDelete(false);
+ searchInheritedClasses(szClassName,lInheritedClasses);
+ for(unsigned int i=0;i<lInheritedClasses.count();i++)
+ lInheritedClasses.at(i)->setClassNotBuilt(true);
activateItem(pFunction);
}
@@ -547,13 +550,13 @@ void KviClassEditor::renameClass(KviClassEditorTreeWidgetItem *pClassItem)
m_pClasses->insert(szNewClassName,pClassItem);
pClassItem->setInheritsClass(szNewInheritsClassName);
pClassItem->setClassNotBuilt(true);
- KviPointerList<KviClassEditorTreeWidgetItem> pInheritedClasses;
- searchInheritedClasses(szClassName,pInheritedClasses);
- for(unsigned int i=0;i<pInheritedClasses.count();i++)
+ KviPointerList<KviClassEditorTreeWidgetItem> lInheritedClasses;
+ searchInheritedClasses(szClassName,lInheritedClasses);
+ for(unsigned int i=0;i<lInheritedClasses.count();i++)
{
- pInheritedClasses.at(i)->setClassNotBuilt(true);
- pInheritedClasses.at(i)->setExpanded(true);
- pInheritedClasses.at(i)->setInheritsClass(szNewClassName);
+ lInheritedClasses.at(i)->setClassNotBuilt(true);
+ lInheritedClasses.at(i)->setExpanded(true);
+ lInheritedClasses.at(i)->setInheritsClass(szNewClassName);
}
if (pNewItem)
{
@@ -625,15 +628,15 @@ void KviClassEditor::renameNamespace(KviClassEditorTreeWidgetItem *pOldNamespace
KviPointerHashTableEntry<QString,KviClassEditorTreeWidgetItem> *entry=m_pClasses->findRef(pList.at(i));
if (entry)
{
- KviPointerList<KviClassEditorTreeWidgetItem> pInheritedClasses;
+ KviPointerList<KviClassEditorTreeWidgetItem> lInheritedClasses;
QString szOldName = entry->key();
QString szNewName = buildFullClassName(pList.at(i));
- searchInheritedClasses(szOldName,pInheritedClasses);
- for(unsigned int j=0;j<pInheritedClasses.count();j++)
+ searchInheritedClasses(szOldName,lInheritedClasses);
+ for(unsigned int j=0;j<lInheritedClasses.count();j++)
{
- pInheritedClasses.at(j)->setClassNotBuilt(true);
- pInheritedClasses.at(j)->setExpanded(true);
- pInheritedClasses.at(j)->setInheritsClass(szNewName);
+ lInheritedClasses.at(j)->setClassNotBuilt(true);
+ lInheritedClasses.at(j)->setExpanded(true);
+ lInheritedClasses.at(j)->setInheritsClass(szNewName);
}
m_pClasses->removeRef(pList.at(i));
m_pClasses->insert(szNewName,pList.at(i));
@@ -1147,13 +1150,13 @@ void KviClassEditor::removeItemChildren(KviClassEditorTreeWidgetItem *it)
{
if(it->isClass())
{
- KviPointerList<KviClassEditorTreeWidgetItem> pInheritedClasses;
- searchInheritedClasses(buildFullClassName(it),pInheritedClasses);
- for(unsigned int i=0;i<pInheritedClasses.count();i++)
+ KviPointerList<KviClassEditorTreeWidgetItem> lInheritedClasses;
+ searchInheritedClasses(buildFullClassName(it),lInheritedClasses);
+ for(unsigned int i=0;i<lInheritedClasses.count();i++)
{
- pInheritedClasses.at(i)->setClassNotBuilt(true);
- pInheritedClasses.at(i)->setExpanded(true);
- pInheritedClasses.at(i)->setInheritsClass("object");
+ lInheritedClasses.at(i)->setClassNotBuilt(true);
+ lInheritedClasses.at(i)->setExpanded(true);
+ lInheritedClasses.at(i)->setInheritsClass("object");
}
}
@@ -1180,8 +1183,9 @@ bool KviClassEditor::removeItem(KviClassEditorTreeWidgetItem *it,bool * pbYesToA
QString szMsg;
QString szName = it->name();
- if(!*pbYesToAll)saveLastEditedItem();
+ if(!*pbYesToAll)
{
+ saveLastEditedItem();
if(it->isClass())
{
KviQString::sprintf(szMsg,__tr2qs_ctx("Do you really want to remove the class \"%Q\" ?","editor"),&szName);
@@ -1241,12 +1245,14 @@ bool KviClassEditor::removeItem(KviClassEditorTreeWidgetItem *it,bool * pbYesToA
{
KviClassEditorTreeWidgetItem* pClass = (KviClassEditorTreeWidgetItem*)it->parent();
pClass->setClassNotBuilt(true);
- KviPointerList<KviClassEditorTreeWidgetItem> pInheritedClasses;
- searchInheritedClasses(pClass->name(),pInheritedClasses);
- for(unsigned int i=0;i<pInheritedClasses.count();i++)
+ KviPointerList<KviClassEditorTreeWidgetItem> lInheritedClasses;
+ debug("class name %s",pClass->name().toUtf8().data());
+ searchInheritedClasses(pClass->name(),lInheritedClasses);
+ for(unsigned int i=0;i<lInheritedClasses.count();i++)
{
- pInheritedClasses.at(i)->setClassNotBuilt(true);
- pInheritedClasses.at(i)->setExpanded(true);
+ lInheritedClasses.at(i)->setClassNotBuilt(true);
+ lInheritedClasses.at(i)->setInheritsClass(pClass->name());
+ lInheritedClasses.at(i)->setExpanded(true);
}
}
delete it;
@@ -1487,17 +1493,17 @@ void KviClassEditor::build()
bErrorWhilecompiling=true;
QString szError=__tr2qs_ctx("Unable to compile class: ","editor");
szError+=szFullClassName+"\n";
- KviPointerList<KviClassEditorTreeWidgetItem> pInheritedClasses;
- searchInheritedClasses(szFullClassName,pInheritedClasses);
- if (pInheritedClasses.count())
+ KviPointerList<KviClassEditorTreeWidgetItem> lInheritedClasses;
+ searchInheritedClasses(szFullClassName,lInheritedClasses);
+ if (lInheritedClasses.count())
{
szError+=__tr2qs_ctx("These Inherited classes will be not compiled too:","editor");
szError+="\n";
- for(unsigned int j=0;j<pInheritedClasses.count();j++)
+ for(unsigned int j=0;j<lInheritedClasses.count();j++)
{
- szError+=buildFullClassName(pInheritedClasses.at(j))+"\n";
- pInheritedClasses.at(j)->setClassNotBuilt(true);
- pSkipClasses.append(pInheritedClasses.at(j));
+ szError+=buildFullClassName(lInheritedClasses.at(j))+"\n";
+ lInheritedClasses.at(j)->setClassNotBuilt(true);
+ pSkipClasses.append(lInheritedClasses.at(j));
}
}
QMessageBox::critical(this,__tr2qs_ctx("Compilation error - KVIrc","editor"),szError,
@@ -1600,12 +1606,12 @@ void KviClassEditor::saveNotBuiltClasses()
cfg.sync();
}
-void KviClassEditor::searchInheritedClasses(const QString szClass,KviPointerList<KviClassEditorTreeWidgetItem> & pInheritedClasses)
+void KviClassEditor::searchInheritedClasses(const QString szClass,KviPointerList<KviClassEditorTreeWidgetItem> & lInheritedClasses)
{
KviPointerHashTableIterator<QString,KviClassEditorTreeWidgetItem> it (*m_pClasses);
while(it.current())
{
- if (KviQString::equalCI(szClass,it.current()->InheritsClass())) pInheritedClasses.append(it.current());
+ if (KviQString::equalCI(szClass,it.current()->InheritsClass())) lInheritedClasses.append(it.current());
++it;
}
}