From 2c0a541b278a85e3533a78008e0ddff49185b61b Mon Sep 17 00:00:00 2001 From: Matthias Puchner <github@mpuchner.de> Date: Mon, 15 Nov 2021 15:35:36 +0100 Subject: [PATCH] simplify ComponentEditor --- GUI/View/PropertyEditor/ComponentEditor.cpp | 40 ++------------------- GUI/View/PropertyEditor/ComponentEditor.h | 26 +++----------- 2 files changed, 8 insertions(+), 58 deletions(-) diff --git a/GUI/View/PropertyEditor/ComponentEditor.cpp b/GUI/View/PropertyEditor/ComponentEditor.cpp index 7b4092422fb..3f0cde8a77f 100644 --- a/GUI/View/PropertyEditor/ComponentEditor.cpp +++ b/GUI/View/PropertyEditor/ComponentEditor.cpp @@ -13,43 +13,9 @@ // ************************************************************************************************ #include "GUI/View/PropertyEditor/ComponentEditor.h" -#include "GUI/View/PropertyEditor/ComponentFlatView.h" -#include "GUI/View/PropertyEditor/ComponentTreeView.h" -#include <QBoxLayout> -ComponentEditor::ComponentEditor(EditorType editorType) : m_componentView(nullptr), m_item(nullptr) +ComponentEditor::ComponentEditor(EditorType editorType) { - if (editorType.testFlag(Tree)) { - auto* view = new ComponentTreeView; - view->setShowHeader(editorType.testFlag(T_Header)); - view->setShowRootItem(editorType.testFlag(T_Root)); - m_componentView = view; - } else - m_componentView = new ComponentFlatView; - - auto* mainLayout = new QVBoxLayout; - mainLayout->setSpacing(0); - mainLayout->setMargin(0); - mainLayout->addWidget(m_componentView); - - setLayout(mainLayout); -} - -void ComponentEditor::setItem(SessionItem* item) -{ - m_item = item; - m_componentView->setItem(item); -} - -void ComponentEditor::clearEditor() -{ - m_item = nullptr; - m_componentView->clearEditor(); -} - -void ComponentEditor::addItem(SessionItem* item) -{ - if (!m_item) - m_item = item; - m_componentView->addItem(item); + setShowHeader(editorType.testFlag(T_Header)); + setShowRootItem(editorType.testFlag(T_Root)); } diff --git a/GUI/View/PropertyEditor/ComponentEditor.h b/GUI/View/PropertyEditor/ComponentEditor.h index b3592d7f01a..88063ba950e 100644 --- a/GUI/View/PropertyEditor/ComponentEditor.h +++ b/GUI/View/PropertyEditor/ComponentEditor.h @@ -15,41 +15,25 @@ #ifndef BORNAGAIN_GUI_VIEW_PROPERTYEDITOR_COMPONENTEDITOR_H #define BORNAGAIN_GUI_VIEW_PROPERTYEDITOR_COMPONENTEDITOR_H -#include <QWidget> - -class ComponentView; -class SessionItem; -class QBoxLayout; +#include "GUI/View/PropertyEditor/ComponentTreeView.h" //! Component editor for SessionItem. Can have various appearance depending //! on EditorFlags -class ComponentEditor : public QWidget { +class ComponentEditor : public ComponentTreeView { Q_OBJECT public: enum EditorFlags { - Tree = 0x1000, - - PlainLayout = 0x0010, // editor embedded in standard box layout - T_Header = 0x0100, // to show QTreeView header (Tree mode only) T_Root = 0x0200, // to show root item (Tree mode only) - FullTree = Tree | PlainLayout | T_Header | T_Root, - HeaderTree = Tree | PlainLayout | T_Header, - MiniTree = Tree | PlainLayout, + FullTree = T_Header | T_Root, + HeaderTree = T_Header, + MiniTree = 0, }; Q_DECLARE_FLAGS(EditorType, EditorFlags) ComponentEditor(EditorType editorType = HeaderTree); - - void setItem(SessionItem* item); - void clearEditor(); - void addItem(SessionItem* item); - -private: - ComponentView* m_componentView; - SessionItem* m_item; }; Q_DECLARE_OPERATORS_FOR_FLAGS(ComponentEditor::EditorType) -- GitLab