diff --git a/GUI/View/PropertyEditor/ComponentEditor.cpp b/GUI/View/PropertyEditor/ComponentEditor.cpp index 7b4092422fbd784707af7b475b67a68f36a9a4da..3f0cde8a77fcd1fc5ba086023d5ab08342c02495 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 b3592d7f01a1cbab88a86a4b6758f6d5c700bc16..88063ba950e1f7204ab7bcf7d3580daa101d48d8 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)