HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
settings_widget_dropdown.cpp
Go to the documentation of this file.
2 
3 #include <QFormLayout>
4 #include <QHBoxLayout>
5 #include <QLabel>
6 #include <QPair>
7 #include <QDebug>
8 #include <QMap>
9 #include <QComboBox>
10 #include <QStringList>
11 #include "gui/gui_globals.h"
13 
14 namespace hal
15 {
17  : SettingsWidget(item, parent), mOptions(item->valueNames())
18  {
19  mComboBox = new QComboBox(this);
20  mComboBox->addItems(mOptions);
21  connect(mComboBox, QOverload<const QString &>::of(&QComboBox::currentIndexChanged), this, &SettingsWidgetDropdown::on_index_changed);
22 
23 
24  mContainer->addWidget(mComboBox);
25  load(item->value());
26  }
27 
29  {
30  int inx = value.toInt();
31  if (inx < 0 || inx >= mOptions.size()) inx = 0;
32  mComboBox->setCurrentText(mOptions.at(inx));
33  QStyle* s = mComboBox->style();
34  s->unpolish(mComboBox);
35  s->polish(mComboBox);
36  }
37 
39  {
40  return mComboBox->currentIndex();
41  }
42 
43  void SettingsWidgetDropdown::on_index_changed(QString text)
44  {
45  Q_UNUSED(text);
47  }
48 }
A SettingsItem that represents a dropdown menu.
virtual QVariant value() const override
virtual void load(const QVariant &value) override
virtual QVariant value() override
SettingsWidgetDropdown(SettingsItemDropdown *item, QWidget *parent=nullptr)
The base class for all specific SettingsWidgets.
QBoxLayout * mContainer
Definition: defines.h:45
void addWidget(QWidget *widget, int stretch, Qt::Alignment alignment)
void addItems(const QStringList &texts)
void currentIndexChanged(int index)
void setCurrentText(const QString &text)
const T & at(int i) const const
int size() const const
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
virtual void polish(QWidget *widget)
virtual void unpolish(QWidget *widget)
int toInt(bool *ok) const const
QStyle * style() const const