QComboBox clear button in property browser.

--HG--
branch : develop
This commit is contained in:
Roman Telezhynskyi 2015-12-09 13:13:34 +02:00
parent 6f1dcb7592
commit da827ad952
4 changed files with 19 additions and 5 deletions

View file

@ -52,6 +52,7 @@ VFormulaProperty::VFormulaProperty(const QString &name)
VStringProperty* tmpFormula = new VStringProperty(tr("Formula"));
addChild(tmpFormula);
tmpFormula->setClearButtonEnable(true);
tmpFormula->setUpdateBehaviour(true, false);
tmpFormula->setTypeForParent(static_cast<int>(ChildType::Formula));

View file

@ -438,7 +438,8 @@ void VToolOptionsPropertyBrowser::AddPropertyFormula(const QString &propertyName
template<class Tool>
void VToolOptionsPropertyBrowser::AddPropertyPointName(Tool *i, const QString &propertyName)
{
VProperty* itemName = new VProperty(propertyName);
VStringProperty *itemName = new VStringProperty(propertyName);
itemName->setClearButtonEnable(true);
itemName->setValue(i->name());
AddProperty(itemName, AttrName);
}
@ -448,7 +449,8 @@ void VToolOptionsPropertyBrowser::AddPropertyPointName(Tool *i, const QString &p
template<class Tool>
void VToolOptionsPropertyBrowser::AddPropertyPointName1(Tool *i, const QString &propertyName)
{
VProperty* itemName = new VProperty(propertyName);
VStringProperty *itemName = new VStringProperty(propertyName);
itemName->setClearButtonEnable(true);
itemName->setValue(i->nameP1());
AddProperty(itemName, AttrName1);
}
@ -457,7 +459,8 @@ void VToolOptionsPropertyBrowser::AddPropertyPointName1(Tool *i, const QString &
template<class Tool>
void VToolOptionsPropertyBrowser::AddPropertyPointName2(Tool *i, const QString &propertyName)
{
VProperty* itemName = new VProperty(propertyName);
VStringProperty *itemName = new VStringProperty(propertyName);
itemName->setClearButtonEnable(true);
itemName->setValue(i->nameP2());
AddProperty(itemName, AttrName2);
}

View file

@ -29,7 +29,7 @@ using namespace VPE;
VPE::VStringProperty::VStringProperty(const QString &name, const QMap<QString, QVariant> &settings)
: VProperty(name, QVariant::String), readOnly(false), typeForParent(0)
: VProperty(name, QVariant::String), readOnly(false), typeForParent(0), clearButton(false)
{
VProperty::setSettings(settings);
d_ptr->VariantValue.setValue(QString());
@ -37,7 +37,7 @@ VPE::VStringProperty::VStringProperty(const QString &name, const QMap<QString, Q
}
VPE::VStringProperty::VStringProperty(const QString &name)
: VProperty(name), readOnly(false), typeForParent(0)
: VProperty(name), readOnly(false), typeForParent(0), clearButton(false)
{
d_ptr->VariantValue.setValue(QString());
d_ptr->VariantValue.convert(QVariant::String);
@ -52,6 +52,9 @@ QWidget *VPE::VStringProperty::createEditor(QWidget *parent, const QStyleOptionV
QLineEdit* tmpEditor = new QLineEdit(parent);
tmpEditor->setLocale(parent->locale());
tmpEditor->setReadOnly(readOnly);
#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
tmpEditor->setClearButtonEnabled(clearButton);
#endif
tmpEditor->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
tmpEditor->setText(d_ptr->VariantValue.toString());
@ -75,6 +78,11 @@ void VPE::VStringProperty::setReadOnly(bool readOnly)
this->readOnly = readOnly;
}
void VStringProperty::setClearButtonEnable(bool value)
{
this->clearButton = value;
}
void VPE::VStringProperty::setSetting(const QString &key, const QVariant &value)
{
if (key == QLatin1String("ReadOnly"))

View file

@ -49,6 +49,7 @@ public:
virtual QVariant getEditorData(const QWidget* editor) const Q_DECL_OVERRIDE;
void setReadOnly(bool readOnly);
void setClearButtonEnable(bool value);
//! Sets the settings.
virtual void setSetting(const QString& key, const QVariant& value) Q_DECL_OVERRIDE;
@ -77,6 +78,7 @@ public:
protected:
bool readOnly;
int typeForParent;
bool clearButton;
private:
Q_DISABLE_COPY(VStringProperty)