From 8da2529bda16f16f16c415d0d1ee5930762ebce2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Mon, 2 Nov 2015 10:00:01 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@40 a8b55f48-bf90-11e4-a774-851b48703e85 --- qad_blockview/blockitem.cpp | 1 - qad_widgets/qvariantedit.cpp | 44 ++++++++++++++++++++++++++++++++++++ qad_widgets/qvariantedit.h | 12 +++++----- 3 files changed, 50 insertions(+), 7 deletions(-) diff --git a/qad_blockview/blockitem.cpp b/qad_blockview/blockitem.cpp index a4c55f5..7442dab 100644 --- a/qad_blockview/blockitem.cpp +++ b/qad_blockview/blockitem.cpp @@ -188,7 +188,6 @@ void BlockItem::addDecor(QGraphicsItem & item) { qgraphicsitem_cast(&item)->setData(1010, qgraphicsitem_cast(&item)->text()); item.setData(1002, true); item.setData(1011, "decor"); - item.setData(1011, "decor"); //decors_ << &item; item.setParentItem(this); } diff --git a/qad_widgets/qvariantedit.cpp b/qad_widgets/qvariantedit.cpp index f8d771d..77bf626 100644 --- a/qad_widgets/qvariantedit.cpp +++ b/qad_widgets/qvariantedit.cpp @@ -6,6 +6,50 @@ __QVariantEditRegistrator__ __registrator__; +StringListEdit::~StringListEdit() { + delete combo; + delete butt_add; + delete butt_del; + delete butt_clear; +} + + +QStringList StringListEdit::value() const { + QStringList l; + for (int i = 0; i < combo->count(); ++i) l << combo->itemText(i); + return l; +} + + +void StringListEdit::setValue(const QStringList & v) { + combo->clear(); + if (!v.isEmpty()) { + combo->addItems(v); + combo->setCurrentIndex(0); + } +} + + +void StringListEdit::addItem() { + combo->addItem(combo->currentText()); + emit valueChanged(); +} + + +void StringListEdit::delItem() { + if (combo->currentIndex() < 0) return; + combo->removeItem(combo->currentIndex()); + emit valueChanged(); +} + + +void StringListEdit::clear() { + if (combo->count() == 0) return; + combo->clear(); + emit valueChanged(); +} + + StringListEdit::StringListEdit(QWidget * parent): QWidget(parent), lay(QBoxLayout::LeftToRight, this) { combo = new EComboBox(this); combo->setEditable(true); diff --git a/qad_widgets/qvariantedit.h b/qad_widgets/qvariantedit.h index ef94413..55fd472 100644 --- a/qad_widgets/qvariantedit.h +++ b/qad_widgets/qvariantedit.h @@ -15,9 +15,9 @@ class StringListEdit: public QWidget Q_OBJECT public: StringListEdit(QWidget * parent = 0); - ~StringListEdit() {delete combo; delete butt_add; delete butt_del; delete butt_clear;} + ~StringListEdit(); - QStringList value() const {QStringList l; for (int i = 0; i < combo->count(); ++i) l << combo->itemText(i); return l;} + QStringList value() const; private: virtual void changeEvent(QEvent * e); @@ -27,13 +27,13 @@ private: QPushButton * butt_add, * butt_del, * butt_clear; public slots: - void setValue(const QStringList & v) {combo->clear(); combo->addItems(v); combo->setCurrentIndex(0);} + void setValue(const QStringList & v); private slots: void editItem(); - void addItem() {combo->addItem(combo->currentText()); emit valueChanged();} - void delItem() {if (combo->currentIndex() < 0) return; combo->removeItem(combo->currentIndex()); emit valueChanged();} - void clear() {if (combo->count() == 0) return; combo->clear(); emit valueChanged();} + void addItem(); + void delItem(); + void clear(); signals: void valueChanged();