20 #include "pstringlistedit.h" 24 #include <tqpainter.h> 25 #include <klineedit.h> 28 #include <keditlistbox.h> 29 #include <kpushbutton.h> 30 #include <kstdguiitem.h> 32 #include "tqeditlistbox.h" 33 #include <tqpushbutton.h> 34 #include "compat_tools.h" 39 PStringListEdit::PStringListEdit(MultiProperty *property, TQWidget *parent,
const char *name)
40 :PropertyWidget(property, parent, name)
42 l =
new TQHBoxLayout(
this);
44 edit =
new KLineEdit(
this);
45 edit->setReadOnly(
true);
46 edit->setSizePolicy(TQSizePolicy::MinimumExpanding, TQSizePolicy::MinimumExpanding);
48 pbSelect =
new TQPushButton(
"...",
this);
49 pbSelect->setSizePolicy(TQSizePolicy::Maximum, TQSizePolicy::MinimumExpanding);
50 l->addWidget(pbSelect);
52 connect(pbSelect, TQT_SIGNAL(clicked()),
this, TQT_SLOT(showEditor()));
57 return TQVariant(m_list);
62 m_list = value.toStringList();
63 edit->setText(value.toStringList().join(
", "));
68 void PStringListEdit::showEditor()
70 TQDialog* dia =
new TQDialog(
this,
"stringlist_dialog",
true);
71 TQVBoxLayout *dv =
new TQVBoxLayout(dia, 2);
74 TQEditListBox *select =
new TQEditListBox(dia,
"select_char");
76 KEditListBox *select =
new KEditListBox(dia,
"select_char");
78 dv->addWidget(select);
80 TQHBoxLayout *dh =
new TQHBoxLayout(dv, 6);
82 KPushButton *pbOk =
new KPushButton(KStdGuiItem::ok(), dia);
83 KPushButton *pbCancel =
new KPushButton(KStdGuiItem::cancel(), dia);
85 TQPushButton *pbOk =
new TQPushButton(i18n(
"Ok"), dia);
86 TQPushButton *pbCancel =
new TQPushButton(i18n(
"Cancel"), dia);
88 TQSpacerItem *si =
new TQSpacerItem(30, 0, TQSizePolicy::Expanding, TQSizePolicy::Expanding);
90 connect(pbOk, TQT_SIGNAL(clicked()), dia, TQT_SLOT(accept()));
91 connect(pbCancel, TQT_SIGNAL(clicked()), dia, TQT_SLOT(reject()));
95 dh->addWidget(pbCancel);
97 select->insertStringList(m_list);
99 if (dia->exec() == TQDialog::Accepted)
101 m_list = select->items();
102 edit->setText(select->items().join(
", "));
111 p->setPen(TQt::NoPen);
112 p->setBrush(cg.background());
114 p->drawText(r, TQt::AlignLeft | TQt::AlignVCenter | TQt::SingleLine, value.toStringList().join(
", "));
120 #include "pstringlistedit.moc" Namespace which contain property editing classes.
virtual TQVariant value() const
virtual TQVariant value() const
virtual void drawViewer(TQPainter *p, const TQColorGroup &cg, const TQRect &r, const TQVariant &value)
Function to draw a property viewer when the editor isn't shown.
virtual void setValue(const TQVariant &value, bool emitChange=true)
Sets the value shown in the editor widget.