reimplemented UI for combobox

This commit is contained in:
itsmattkc
2019-03-13 00:45:18 +11:00
parent d6e62c5ef9
commit df2c5be7a7
2 changed files with 27 additions and 2 deletions
+21 -1
View File
@@ -1,5 +1,7 @@
#include "combofield.h"
#include <QComboBox>
ComboField::ComboField(EffectRow* parent, const QString& id) :
EffectField(parent, id, EFFECT_FIELD_COMBO)
{}
@@ -9,7 +11,25 @@ void ComboField::AddItem(const QString &text, const QVariant &data)
ComboFieldItem item;
item.name = text;
item.data.append(data);
item.data = data;
items_.append(item);
}
QWidget *ComboField::CreateWidget()
{
QComboBox* cb = new QComboBox();
for (int i=0;i<items_.size();i++) {
cb->addItem(items_.at(i).name);
}
connect(cb, SIGNAL(activated(int)), this, SLOT(UpdateFromWidget(int)));
return cb;
}
void ComboField::UpdateFromWidget(int index)
{
SetValueAt(Now(), items_.at(index).data);
}
+6 -1
View File
@@ -5,7 +5,7 @@
struct ComboFieldItem {
QString name;
QVector<QVariant> data;
QVariant data;
};
class ComboField : public EffectField
@@ -16,11 +16,16 @@ public:
void AddItem(const QString& text, const QVariant& data);
virtual QWidget *CreateWidget() override;
signals:
void IndexChanged(int i);
private:
QVector<ComboFieldItem> items_;
private slots:
void UpdateFromWidget(int index);
};
#endif // COMBOFIELD_H