subclassesdlg.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <qlistbox.h>
00020 #include <kurlrequester.h>
00021
00022 #include "subclassesdlg.h"
00023 #include "subclassesdlg.moc"
00024 SubclassesDlg::SubclassesDlg(QString form, DomUtil::PairList &config, QString projectDir, QWidget* parent, const char* name, bool modal, WFlags fl)
00025 : SubclassesDlgBase(parent,name, modal,fl), m_form(form), m_config(config), m_projectDir(projectDir)
00026 {
00027 subclass_url->setEnabled(false);
00028
00029 DomUtil::PairList::iterator it;
00030 for ( it = config.begin(); it != config.end(); ++it )
00031 {
00032 if ((*it).second == form)
00033 subclasses_box->insertItem(projectDir + (*it).first);
00034 }
00035 }
00036
00037 SubclassesDlg::~SubclassesDlg()
00038 {
00039 }
00040
00041
00042 void SubclassesDlg::accept()
00043 {
00044 QPtrList<DomUtil::Pair> pairsToRemove;
00045
00046 DomUtil::PairList::iterator it;
00047 for ( it = m_config.begin(); it != m_config.end(); ++it )
00048 {
00049 if ((*it).second == m_form)
00050 {
00051 pairsToRemove.append(&(*it));
00052 }
00053 }
00054
00055 DomUtil::Pair *pair;
00056 for ( pair = pairsToRemove.first(); pair; pair = pairsToRemove.next() )
00057 {
00058 m_config.remove(*pair);
00059 }
00060
00061 for (int i = 0; i < (int)subclasses_box->count(); ++i)
00062 {
00063 m_config << DomUtil::Pair(subclasses_box->text(i).remove(0,m_projectDir.length()), m_form);
00064 }
00065
00066 SubclassesDlgBase::accept();
00067 }
00068
00069
00070 void SubclassesDlg::newRelation()
00071 {
00072 subclasses_box->setFocus();
00073 subclasses_box->insertItem("");
00074 subclasses_box->setCurrentItem(subclasses_box->count()-1);
00075 subclass_url->setEnabled(true);
00076 subclass_url->setURL("");
00077 subclass_url->setFocus();
00078 }
00079
00080 void SubclassesDlg::removeRelation()
00081 {
00082 if (subclasses_box->currentItem() > -1)
00083 {
00084 QListBoxItem *item = subclasses_box->item(subclasses_box->currentItem());
00085 int itemIdx = subclasses_box->currentItem();
00086
00087 if (item->prev())
00088 {
00089 subclasses_box->setCurrentItem(item->prev());
00090 subclass_url->setURL(item->prev()->text());
00091 }
00092 else if (item->next())
00093 {
00094 subclasses_box->setCurrentItem(item->next());
00095 subclass_url->setURL(item->next()->text());
00096 }
00097 else
00098 {
00099 subclass_url->setEnabled(false);
00100 subclass_url->setURL("");
00101 }
00102 subclasses_box->removeItem(itemIdx);
00103 }
00104 }
00105
00106 void SubclassesDlg::changeCurrentURL(const QString &str)
00107 {
00108 if ( subclasses_box->currentItem() > -1 )
00109 {
00110 subclasses_box->changeItem(str, subclasses_box->currentItem());
00111 }
00112 }
00113
00114 void SubclassesDlg::currentRelationChanged( QListBoxItem * item )
00115 {
00116 if (item)
00117 {
00118 subclass_url->setEnabled(true);
00119 subclass_url->setURL(item->text());
00120 }
00121 }
00122
This file is part of the documentation for KDevelop Version 3.1.2.