/* Copyright (C) 1998-2001 Stefan Westerfeld stefan@space.twc.de This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "interfacedlg.h" #include "structureport.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; InterfaceDlg::InterfaceDlg(TQWidget *parent) :TQDialog(parent,"Props", TRUE) { setCaption(i18n("aRts: Structureport View")); TQVBoxLayout *mainlayout = new TQVBoxLayout(this); //TQHBoxLayout *contentslayout = new TQHBoxLayout; // object type /* mainlayout->addSpacing(5); TQLabel *objectlabel = new TQLabel(this); TQFont labelfont(objectlabel->font()); labelfont.setPointSize(labelfont.pointSize()*3/2); objectlabel->setFont(labelfont); objectlabel->setText(TQString(" ")+i18n("Object type: ")+TQString(port->owner->name())+TQString(" ")); objectlabel->setAlignment(AlignCenter); min_size(objectlabel); mainlayout->addWidget(objectlabel); */ // port description /* mainlayout->addSpacing(5); TQLabel *portlabel = new TQLabel(this); labelfont.setPointSize(labelfont.pointSize()*4/5); portlabel->setFont(labelfont); portlabel->setText(i18n("Port description: ")+ port->description); min_size(portlabel); portlabel->setAlignment(AlignCenter); mainlayout->addWidget(portlabel); int labelwidth = imax(portlabel->sizeHint().width(),objectlabel->sizeHint().width()); portlabel->setMinimumWidth(labelwidth); objectlabel->setMinimumWidth(labelwidth); // hruler mainlayout->addSpacing(5); KSeparator *ruler = new KSeparator( KSeparator::HLine, this); mainlayout->addWidget(ruler); mainlayout->addSpacing(5); mainlayout->addLayout(contentslayout); */ // list listbox = new TQListBox(this); update(); listbox->setMinimumSize(340,400); mainlayout->addWidget(listbox); connect( listbox, TQT_SIGNAL( doubleClicked ( TQListBoxItem *)), this, TQT_SLOT(accept())); // hruler mainlayout->addSpacing(5); KSeparator *ruler2 = new KSeparator( KSeparator::HLine, this); mainlayout->addWidget(ruler2); // buttons TQHBoxLayout *buttonlayout = new TQHBoxLayout; mainlayout->addSpacing(5); mainlayout->addLayout(buttonlayout); mainlayout->addSpacing(5); buttonlayout->addSpacing(5); KButtonBox *bbox = new KButtonBox(this); bbox->addButton(KStdGuiItem::help(), TQT_TQOBJECT(this), TQT_SLOT( help() )); bbox->addStretch(1); TQButton *okbutton = bbox->addButton(KStdGuiItem::ok()); connect( okbutton, TQT_SIGNAL( clicked() ), TQT_SLOT(accept() ) ); TQButton *cancelbutton = bbox->addButton(KStdGuiItem::cancel()); connect( cancelbutton, TQT_SIGNAL( clicked() ), TQT_SLOT(reject() ) ); bbox->layout(); //min_size(bbox); buttonlayout->addWidget(bbox); buttonlayout->addSpacing(5); //mainlayout->activate(); mainlayout->freeze(); } string InterfaceDlg::interfaceName() { if(listbox->currentItem() != -1) { string s = listbox->text(listbox->currentItem()).local8Bit().data(); string::iterator j = s.begin(); while(*j == ' ') j++; return string(j, s.end()); } return ""; } void InterfaceDlg::raise() { } void InterfaceDlg::lower() { } void InterfaceDlg::rename() { } void InterfaceDlg::update(const string& interface, const string& indent) { listbox->insertItem((indent + interface).c_str()); vector *children = Arts::Dispatcher::the()->interfaceRepo().queryChildren(interface); for (vector::iterator ci = children->begin(); ci != children->end(); ++ci) update(ci->c_str(), indent+" "); delete children; } void InterfaceDlg::update() { update("Arts::Object", ""); } void InterfaceDlg::help() { TDEApplication::kApplication()->invokeHelp("", "karts"); } #include "interfacedlg.moc"