From 32abb49a4448baa921e702ba1e06ace3c3241b5b Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Wed, 6 Dec 2017 17:04:55 +0100 Subject: [PATCH] Obsolete GroupProperty_t removed --- GUI/coregui/Models/GroupItem.cpp | 4 - GUI/coregui/Models/SessionXML.cpp | 20 ---- GUI/coregui/Models/item_constants.h | 1 - .../Views/PropertyEditor/CustomEditors.cpp | 98 +++++-------------- .../Views/PropertyEditor/CustomEditors.h | 47 ++------- .../PropertyEditor/PropertyEditorFactory.cpp | 15 --- 6 files changed, 30 insertions(+), 155 deletions(-) diff --git a/GUI/coregui/Models/GroupItem.cpp b/GUI/coregui/Models/GroupItem.cpp index 570eaa64dce..0d9bbaf6dec 100644 --- a/GUI/coregui/Models/GroupItem.cpp +++ b/GUI/coregui/Models/GroupItem.cpp @@ -18,7 +18,6 @@ #include "GUIHelpers.h" #include "GroupItemController.h" #include "ComboProperty.h" -#include <QDebug> #include "GUIHelpers.h" namespace { @@ -89,11 +88,8 @@ void GroupItem::onValueChange() if (!value().canConvert<ComboProperty>()) throw GUIHelpers::Error("GroupItem::onValueChange() -> Error. Wrong property type"); - qDebug() << "GroupItem::onValueChange()"; - ComboProperty property = value().value<ComboProperty>(); if (property.currentIndex() != m_controller->currentIndex()) { - qDebug() << "GroupItem::onValueChange() -> setting index" << property.currentIndex(); m_controller->setCurrentIndex(property.currentIndex()); // because of the delay between ComboProperty change and the change in GroupItem here, // we have to emit signals once again to inform other views (i.e. views other than the view diff --git a/GUI/coregui/Models/SessionXML.cpp b/GUI/coregui/Models/SessionXML.cpp index 7d6defcc325..18116c7530e 100644 --- a/GUI/coregui/Models/SessionXML.cpp +++ b/GUI/coregui/Models/SessionXML.cpp @@ -118,11 +118,6 @@ void SessionXML::writeVariant(QXmlStreamWriter* writer, QVariant variant, int ro } - else if (type_name == Constants::ObsoleteGroupPropertyType) { - QString ff_name = variant.value<ObsoleteGroupProperty_t>()->currentType(); - writer->writeAttribute(SessionXML::ParameterValueAttribute, ff_name); - } - else { throw GUIHelpers::Error("SessionModel::writeProperty: Parameter type not supported " + type_name); @@ -235,21 +230,6 @@ QString SessionXML::readProperty(QXmlStreamReader* reader, SessionItem* item, variant = combo_property.variant(); } - else if (parameter_type == Constants::ObsoleteGroupPropertyType) { - QString parameter_value - = reader->attributes().value(SessionXML::ParameterValueAttribute).toString(); - - QVariant v = item->value(); - if (!v.canConvert<ObsoleteGroupProperty_t>()) { - report_error(messageService, item, SET_ITEM_PROPERTY_ERROR, - QStringLiteral("GroupProperty conversion failed")); - } else { - ObsoleteGroupProperty_t group_property = v.value<ObsoleteGroupProperty_t>(); - group_property->setCurrentTypeName(parameter_value); - variant = QVariant::fromValue<ObsoleteGroupProperty_t>(group_property); - } - } - else { throw GUIHelpers::Error("SessionModel::readProperty: " "Parameter type not supported" diff --git a/GUI/coregui/Models/item_constants.h b/GUI/coregui/Models/item_constants.h index c202334aaec..c603af6f79c 100644 --- a/GUI/coregui/Models/item_constants.h +++ b/GUI/coregui/Models/item_constants.h @@ -270,7 +270,6 @@ const QString MaskEditorPresentation = "Mask Editor"; const ModelType ExternalPropertyType = "ExternalProperty"; const ModelType ComboPropertyType = "ComboProperty"; -const ModelType ObsoleteGroupPropertyType = "ObsoleteGroupProperty_t"; // --- Custom editors for variant propertues --- const ModelType DefaultEditorType = "Default"; diff --git a/GUI/coregui/Views/PropertyEditor/CustomEditors.cpp b/GUI/coregui/Views/PropertyEditor/CustomEditors.cpp index 5b2085fc9d2..df0896689a0 100644 --- a/GUI/coregui/Views/PropertyEditor/CustomEditors.cpp +++ b/GUI/coregui/Views/PropertyEditor/CustomEditors.cpp @@ -120,7 +120,7 @@ void ExternalPropertyEditor::initEditor() // --- CustomComboEditor --- -CustomComboEditor::CustomComboEditor(QWidget* parent) +ComboPropertyEditor::ComboPropertyEditor(QWidget* parent) : CustomEditor(parent) , m_box(new QComboBox) , m_wheel_event_filter(new WheelEventEater(this)) @@ -139,21 +139,28 @@ CustomComboEditor::CustomComboEditor(QWidget* parent) setConnected(true); } -QSize CustomComboEditor::sizeHint() const +QSize ComboPropertyEditor::sizeHint() const { return m_box->sizeHint(); } -QSize CustomComboEditor::minimumSizeHint() const +QSize ComboPropertyEditor::minimumSizeHint() const { return m_box->minimumSizeHint(); } -void CustomComboEditor::onIndexChanged(int) +void ComboPropertyEditor::onIndexChanged(int index) { + ComboProperty comboProperty = m_data.value<ComboProperty>(); + + if (comboProperty.currentIndex() != index) { + comboProperty.setCurrentIndex(index); + setDataIntern(QVariant::fromValue<ComboProperty>(comboProperty)); + currentIndexChanged(index); + } } -void CustomComboEditor::initEditor() +void ComboPropertyEditor::initEditor() { setConnected(false); @@ -166,89 +173,30 @@ void CustomComboEditor::initEditor() //! Returns list of labels for QComboBox -QStringList CustomComboEditor::internLabels() +QStringList ComboPropertyEditor::internLabels() { - return QStringList(); + Q_ASSERT(m_data.canConvert<ComboProperty>()); + ComboProperty comboProperty = m_data.value<ComboProperty>(); + return comboProperty.getValues(); } //! Returns index for QComboBox. -int CustomComboEditor::internIndex() +int ComboPropertyEditor::internIndex() { - return -1; + Q_ASSERT(m_data.canConvert<ComboProperty>()); + ComboProperty comboProperty = m_data.value<ComboProperty>(); + return comboProperty.currentIndex(); } -void CustomComboEditor::setConnected(bool isConnected) +void ComboPropertyEditor::setConnected(bool isConnected) { if (isConnected) connect(m_box, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), - this, &CustomComboEditor::onIndexChanged, Qt::UniqueConnection); + this, &ComboPropertyEditor::onIndexChanged, Qt::UniqueConnection); else disconnect(m_box, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), - this, &CustomComboEditor::onIndexChanged); -} - -// --- GroupPropertyEditor --- - -GroupPropertyEditor::GroupPropertyEditor(QWidget* parent) - : CustomComboEditor(parent) -{ -} - -void GroupPropertyEditor::onIndexChanged(int index) -{ - ObsoleteGroupProperty_t groupProperty = m_data.value<ObsoleteGroupProperty_t>(); - - if (groupProperty->currentIndex() != index) { - groupProperty->setCurrentIndex(index); - setDataIntern(QVariant::fromValue<ObsoleteGroupProperty_t>(groupProperty)); - } -} - -QStringList GroupPropertyEditor::internLabels() -{ - Q_ASSERT(m_data.canConvert<ObsoleteGroupProperty_t>()); - ObsoleteGroupProperty_t groupProperty = m_data.value<ObsoleteGroupProperty_t>(); - return groupProperty->itemLabels(); -} - -int GroupPropertyEditor::internIndex() -{ - Q_ASSERT(m_data.canConvert<ObsoleteGroupProperty_t>()); - ObsoleteGroupProperty_t groupProperty = m_data.value<ObsoleteGroupProperty_t>(); - return groupProperty->currentIndex(); -} - -// --- ComboPropertyEditor --- - -ComboPropertyEditor::ComboPropertyEditor(QWidget* parent) - : CustomComboEditor(parent) -{ -} - -void ComboPropertyEditor::onIndexChanged(int index) -{ - ComboProperty comboProperty = m_data.value<ComboProperty>(); - - if (comboProperty.currentIndex() != index) { - comboProperty.setCurrentIndex(index); - setDataIntern(QVariant::fromValue<ComboProperty>(comboProperty)); - currentIndexChanged(index); - } -} - -QStringList ComboPropertyEditor::internLabels() -{ - Q_ASSERT(m_data.canConvert<ComboProperty>()); - ComboProperty comboProperty = m_data.value<ComboProperty>(); - return comboProperty.getValues(); -} - -int ComboPropertyEditor::internIndex() -{ - Q_ASSERT(m_data.canConvert<ComboProperty>()); - ComboProperty comboProperty = m_data.value<ComboProperty>(); - return comboProperty.currentIndex(); + this, &ComboPropertyEditor::onIndexChanged); } // --- ScientificDoublePropertyEditor --- diff --git a/GUI/coregui/Views/PropertyEditor/CustomEditors.h b/GUI/coregui/Views/PropertyEditor/CustomEditors.h index ff800133fdf..bf2f143b47b 100644 --- a/GUI/coregui/Views/PropertyEditor/CustomEditors.h +++ b/GUI/coregui/Views/PropertyEditor/CustomEditors.h @@ -71,17 +71,21 @@ private: QString m_extDialogType; //!< Type of the dialog which will be created on button click }; -//! Common editor for QComboBox-like custom editors. +//! Editor for ComboProperty variant. -class BA_CORE_API_ CustomComboEditor : public CustomEditor +class BA_CORE_API_ ComboPropertyEditor : public CustomEditor { Q_OBJECT public: - explicit CustomComboEditor(QWidget *parent = nullptr); + explicit ComboPropertyEditor(QWidget *parent = nullptr); QSize sizeHint() const; QSize minimumSizeHint() const; +signals: + //! Signal which is used only in the context of ComponentFlatView + void currentIndexChanged(int); + protected slots: virtual void onIndexChanged(int index); @@ -95,43 +99,6 @@ protected: class WheelEventEater* m_wheel_event_filter; }; -//! Editor for GroupProperty variant. - -class BA_CORE_API_ GroupPropertyEditor : public CustomComboEditor -{ - Q_OBJECT -public: - explicit GroupPropertyEditor(QWidget *parent = nullptr); - -protected slots: - virtual void onIndexChanged(int index); - -protected: - QStringList internLabels(); - int internIndex(); -}; - -//! Editor for ComboProperty variant. - -class BA_CORE_API_ ComboPropertyEditor : public CustomComboEditor -{ - Q_OBJECT -public: - explicit ComboPropertyEditor(QWidget *parent = nullptr); - - -signals: - //! Signal which is used only in the context of ComponentFlatView - void currentIndexChanged(int); - -protected slots: - void onIndexChanged(int index); - -protected: - QStringList internLabels(); - int internIndex(); -}; - //! Editor for ScientificDoubleProperty variant. class BA_CORE_API_ ScientificDoublePropertyEditor : public CustomEditor diff --git a/GUI/coregui/Views/PropertyEditor/PropertyEditorFactory.cpp b/GUI/coregui/Views/PropertyEditor/PropertyEditorFactory.cpp index 0039b950468..ec234cebafb 100644 --- a/GUI/coregui/Views/PropertyEditor/PropertyEditorFactory.cpp +++ b/GUI/coregui/Views/PropertyEditor/PropertyEditorFactory.cpp @@ -55,11 +55,6 @@ bool isExternalProperty(const QVariant& variant) return variant.canConvert<ExternalProperty>(); } -bool isGroupProperty(const QVariant& variant) -{ - return variant.canConvert<ObsoleteGroupProperty_t>(); -} - bool isComboProperty(const QVariant& variant) { return variant.canConvert<ComboProperty>(); @@ -81,8 +76,6 @@ bool PropertyEditorFactory::IsCustomVariant(const QVariant& variant) { if (isExternalProperty(variant)) return true; - if (isGroupProperty(variant)) - return true; if (isComboProperty(variant)) return true; if (isBoolProperty(variant)) @@ -96,8 +89,6 @@ QString PropertyEditorFactory::ToString(const QVariant& variant) { if (isExternalProperty(variant)) return variant.value<ExternalProperty>().text(); - if (isGroupProperty(variant)) - return variant.value<ObsoleteGroupProperty_t>()->currentLabel(); if (isComboProperty(variant)) return variant.value<ComboProperty>().getValue(); if (isBoolProperty(variant)) @@ -143,12 +134,6 @@ QWidget* PropertyEditorFactory::CreateEditor(const SessionItem& item, QWidget* p result = editor; } - else if(isGroupProperty(item.value())) { - auto editor = new GroupPropertyEditor; - editor->setData(item.value()); - result = editor; - } - else if(isComboProperty(item.value())) { auto editor = new ComboPropertyEditor; editor->setData(item.value()); -- GitLab