forked from qt-creator/qt-creator
ProjectExplorer: Add ability to disable Base{Bool,Integer}Aspect
Can be used in MakeStep. Change-Id: I2a49b3071e610be5e29dbcb40f6ab7f283ad5a0b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -60,6 +60,7 @@ public:
|
|||||||
BaseBoolAspect::LabelPlacement m_labelPlacement = BaseBoolAspect::LabelPlacement::AtCheckBox;
|
BaseBoolAspect::LabelPlacement m_labelPlacement = BaseBoolAspect::LabelPlacement::AtCheckBox;
|
||||||
bool m_value = false;
|
bool m_value = false;
|
||||||
bool m_defaultValue = false;
|
bool m_defaultValue = false;
|
||||||
|
bool m_enabled = true;
|
||||||
QString m_label;
|
QString m_label;
|
||||||
QString m_tooltip;
|
QString m_tooltip;
|
||||||
QPointer<QCheckBox> m_checkBox; // Owned by configuration widget
|
QPointer<QCheckBox> m_checkBox; // Owned by configuration widget
|
||||||
@@ -130,10 +131,12 @@ public:
|
|||||||
QVariant m_maximumValue;
|
QVariant m_maximumValue;
|
||||||
int m_displayIntegerBase = 10;
|
int m_displayIntegerBase = 10;
|
||||||
qint64 m_displayScaleFactor = 1;
|
qint64 m_displayScaleFactor = 1;
|
||||||
QString m_label;
|
QString m_labelText;
|
||||||
QString m_prefix;
|
QString m_prefix;
|
||||||
QString m_suffix;
|
QString m_suffix;
|
||||||
|
QPointer<QLabel> m_label;
|
||||||
QPointer<QSpinBox> m_spinBox; // Owned by configuration widget
|
QPointer<QSpinBox> m_spinBox; // Owned by configuration widget
|
||||||
|
bool m_enabled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // Internal
|
} // Internal
|
||||||
@@ -481,6 +484,7 @@ void BaseBoolAspect::addToLayout(LayoutBuilder &builder)
|
|||||||
}
|
}
|
||||||
d->m_checkBox->setChecked(d->m_value);
|
d->m_checkBox->setChecked(d->m_value);
|
||||||
d->m_checkBox->setToolTip(d->m_tooltip);
|
d->m_checkBox->setToolTip(d->m_tooltip);
|
||||||
|
d->m_checkBox->setEnabled(d->m_enabled);
|
||||||
builder.addItem(d->m_checkBox.data());
|
builder.addItem(d->m_checkBox.data());
|
||||||
connect(d->m_checkBox.data(), &QAbstractButton::clicked, this, [this] {
|
connect(d->m_checkBox.data(), &QAbstractButton::clicked, this, [this] {
|
||||||
d->m_value = d->m_checkBox->isChecked();
|
d->m_value = d->m_checkBox->isChecked();
|
||||||
@@ -532,6 +536,13 @@ void BaseBoolAspect::setToolTip(const QString &tooltip)
|
|||||||
d->m_tooltip = tooltip;
|
d->m_tooltip = tooltip;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BaseBoolAspect::setEnabled(bool enabled)
|
||||||
|
{
|
||||||
|
d->m_enabled = enabled;
|
||||||
|
if (d->m_checkBox)
|
||||||
|
d->m_checkBox->setEnabled(enabled);
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\class ProjectExplorer::BaseSelectionAspect
|
\class ProjectExplorer::BaseSelectionAspect
|
||||||
*/
|
*/
|
||||||
@@ -648,16 +659,22 @@ BaseIntegerAspect::~BaseIntegerAspect() = default;
|
|||||||
|
|
||||||
void BaseIntegerAspect::addToLayout(LayoutBuilder &builder)
|
void BaseIntegerAspect::addToLayout(LayoutBuilder &builder)
|
||||||
{
|
{
|
||||||
|
QTC_CHECK(!d->m_label);
|
||||||
|
d->m_label = new QLabel(d->m_labelText);
|
||||||
|
d->m_label->setEnabled(d->m_enabled);
|
||||||
|
|
||||||
QTC_CHECK(!d->m_spinBox);
|
QTC_CHECK(!d->m_spinBox);
|
||||||
d->m_spinBox = new QSpinBox;
|
d->m_spinBox = new QSpinBox;
|
||||||
d->m_spinBox->setValue(int(d->m_value / d->m_displayScaleFactor));
|
d->m_spinBox->setValue(int(d->m_value / d->m_displayScaleFactor));
|
||||||
d->m_spinBox->setDisplayIntegerBase(d->m_displayIntegerBase);
|
d->m_spinBox->setDisplayIntegerBase(d->m_displayIntegerBase);
|
||||||
d->m_spinBox->setPrefix(d->m_prefix);
|
d->m_spinBox->setPrefix(d->m_prefix);
|
||||||
d->m_spinBox->setSuffix(d->m_suffix);
|
d->m_spinBox->setSuffix(d->m_suffix);
|
||||||
|
d->m_spinBox->setEnabled(d->m_enabled);
|
||||||
if (d->m_maximumValue.isValid() && d->m_maximumValue.isValid())
|
if (d->m_maximumValue.isValid() && d->m_maximumValue.isValid())
|
||||||
d->m_spinBox->setRange(int(d->m_minimumValue.toLongLong() / d->m_displayScaleFactor),
|
d->m_spinBox->setRange(int(d->m_minimumValue.toLongLong() / d->m_displayScaleFactor),
|
||||||
int(d->m_maximumValue.toLongLong() / d->m_displayScaleFactor));
|
int(d->m_maximumValue.toLongLong() / d->m_displayScaleFactor));
|
||||||
builder.addItems(d->m_label, d->m_spinBox.data());
|
|
||||||
|
builder.addItems(d->m_label.data(), d->m_spinBox.data());
|
||||||
connect(d->m_spinBox.data(), QOverload<int>::of(&QSpinBox::valueChanged),
|
connect(d->m_spinBox.data(), QOverload<int>::of(&QSpinBox::valueChanged),
|
||||||
this, [this](int value) {
|
this, [this](int value) {
|
||||||
d->m_value = value * d->m_displayScaleFactor;
|
d->m_value = value * d->m_displayScaleFactor;
|
||||||
@@ -695,7 +712,9 @@ void BaseIntegerAspect::setRange(qint64 min, qint64 max)
|
|||||||
|
|
||||||
void BaseIntegerAspect::setLabel(const QString &label)
|
void BaseIntegerAspect::setLabel(const QString &label)
|
||||||
{
|
{
|
||||||
d->m_label = label;
|
d->m_labelText = label;
|
||||||
|
if (d->m_label)
|
||||||
|
d->m_label->setText(label);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BaseIntegerAspect::setPrefix(const QString &prefix)
|
void BaseIntegerAspect::setPrefix(const QString &prefix)
|
||||||
@@ -718,6 +737,15 @@ void BaseIntegerAspect::setDisplayScaleFactor(qint64 factor)
|
|||||||
d->m_displayScaleFactor = factor;
|
d->m_displayScaleFactor = factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BaseIntegerAspect::setEnabled(bool enabled)
|
||||||
|
{
|
||||||
|
d->m_enabled = enabled;
|
||||||
|
if (d->m_label)
|
||||||
|
d->m_label->setEnabled(enabled);
|
||||||
|
if (d->m_spinBox)
|
||||||
|
d->m_spinBox->setEnabled(enabled);
|
||||||
|
}
|
||||||
|
|
||||||
BaseTriStateAspect::BaseTriStateAspect()
|
BaseTriStateAspect::BaseTriStateAspect()
|
||||||
{
|
{
|
||||||
setDisplayStyle(DisplayStyle::ComboBox);
|
setDisplayStyle(DisplayStyle::ComboBox);
|
||||||
|
@@ -66,6 +66,7 @@ public:
|
|||||||
enum class LabelPlacement { AtCheckBox, InExtraLabel };
|
enum class LabelPlacement { AtCheckBox, InExtraLabel };
|
||||||
void setLabel(const QString &label, LabelPlacement labelPlacement);
|
void setLabel(const QString &label, LabelPlacement labelPlacement);
|
||||||
void setToolTip(const QString &tooltip);
|
void setToolTip(const QString &tooltip);
|
||||||
|
void setEnabled(bool enabled);
|
||||||
|
|
||||||
void fromMap(const QVariantMap &map) override;
|
void fromMap(const QVariantMap &map) override;
|
||||||
void toMap(QVariantMap &map) const override;
|
void toMap(QVariantMap &map) const override;
|
||||||
@@ -188,6 +189,7 @@ public:
|
|||||||
void setSuffix(const QString &suffix);
|
void setSuffix(const QString &suffix);
|
||||||
void setDisplayIntegerBase(int base);
|
void setDisplayIntegerBase(int base);
|
||||||
void setDisplayScaleFactor(qint64 factor);
|
void setDisplayScaleFactor(qint64 factor);
|
||||||
|
void setEnabled(bool enabled);
|
||||||
|
|
||||||
void fromMap(const QVariantMap &map) override;
|
void fromMap(const QVariantMap &map) override;
|
||||||
void toMap(QVariantMap &map) const override;
|
void toMap(QVariantMap &map) const override;
|
||||||
|
Reference in New Issue
Block a user