19 #include <tqlistbox.h> 20 #include <kurlrequester.h> 22 #include "subclassesdlg.h" 23 #include "subclassesdlg.moc" 24 SubclassesDlg::SubclassesDlg(TQString form, DomUtil::PairList &config, TQString projectDir, TQWidget* parent,
const char* name,
bool modal, WFlags fl)
25 : SubclassesDlgBase(parent,name, modal,fl), m_form(form), m_config(config), m_projectDir(projectDir)
27 subclass_url->setEnabled(
false);
29 DomUtil::PairList::iterator it;
30 for ( it = config.begin(); it != config.end(); ++it )
32 if ((*it).second == form)
33 subclasses_box->insertItem(projectDir + (*it).first);
37 SubclassesDlg::~SubclassesDlg()
42 void SubclassesDlg::accept()
44 TQPtrList<DomUtil::Pair> pairsToRemove;
46 DomUtil::PairList::iterator it;
47 for ( it = m_config.begin(); it != m_config.end(); ++it )
49 if ((*it).second == m_form)
51 pairsToRemove.append(&(*it));
56 for ( pair = pairsToRemove.first(); pair; pair = pairsToRemove.next() )
58 m_config.remove(*pair);
61 for (
int i = 0; i < (int)subclasses_box->count(); ++i)
63 m_config << DomUtil::Pair(subclasses_box->text(i).remove(0,m_projectDir.length()), m_form);
66 SubclassesDlgBase::accept();
70 void SubclassesDlg::newRelation()
72 subclasses_box->setFocus();
73 subclasses_box->insertItem(
"");
74 subclasses_box->setCurrentItem(subclasses_box->count()-1);
75 subclass_url->setEnabled(
true);
76 subclass_url->setURL(
"");
77 subclass_url->setFocus();
80 void SubclassesDlg::removeRelation()
82 if (subclasses_box->currentItem() > -1)
84 TQListBoxItem *item = subclasses_box->item(subclasses_box->currentItem());
85 int itemIdx = subclasses_box->currentItem();
89 subclasses_box->setCurrentItem(item->prev());
90 subclass_url->setURL(item->prev()->text());
92 else if (item->next())
94 subclasses_box->setCurrentItem(item->next());
95 subclass_url->setURL(item->next()->text());
99 subclass_url->setEnabled(
false);
100 subclass_url->setURL(
"");
102 subclasses_box->removeItem(itemIdx);
106 void SubclassesDlg::changeCurrentURL(
const TQString &str)
108 if ( subclasses_box->currentItem() > -1 )
110 subclasses_box->changeItem(str, subclasses_box->currentItem());
114 void SubclassesDlg::currentRelationChanged( TQListBoxItem * item )
118 subclass_url->setEnabled(
true);
119 subclass_url->setURL(item->text());