20#include "pstringlistedit.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"
39PStringListEdit::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, TQ_SIGNAL(clicked()),
this, TQ_SLOT(showEditor()));
55TQVariant PStringListEdit::value()
const
57 return TQVariant(m_list);
60void PStringListEdit::setValue(
const TQVariant &value,
bool emitChange)
62 m_list = value.toStringList();
63 edit->setText(value.toStringList().join(
", "));
65 emit propertyChanged(m_property, value);
68void 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, TQ_SIGNAL(clicked()), dia, TQ_SLOT(accept()));
91 connect(pbCancel, TQ_SIGNAL(clicked()), dia, TQ_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(
", "));
106 emit propertyChanged(m_property, m_list);
109void PStringListEdit::drawViewer(TQPainter *p,
const TQColorGroup &cg,
const TQRect &r,
const TQVariant &value)
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.