diff --git a/GUI/View/Setup/AxesPanel.cpp b/GUI/View/Setup/AxesPanel.cpp index 256ae9e367180bdb63cf46840ab2683873ed6556..5965b0143793798ec8f32aba1c3612232fd6f6a6 100644 --- a/GUI/View/Setup/AxesPanel.cpp +++ b/GUI/View/Setup/AxesPanel.cpp @@ -29,22 +29,15 @@ #include <QLineEdit> AxesPanel::AxesPanel(QObject* item) - : m_main_layout(new QFormLayout(this)) - , m_data_source(std::make_unique<DataSource>(item)) + : m_data_source(std::make_unique<DataSource>(item)) { setWindowTitle("Properties"); + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding); - m_main_layout->setContentsMargins(8, 20, 8, 8); - m_main_layout->setSpacing(5); - - createPanelElements(); -} - -AxesPanel::~AxesPanel() = default; + auto* main_layout = new QFormLayout(this); -void AxesPanel::createPanelElements() -{ - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding); + main_layout->setContentsMargins(8, 20, 8, 8); + main_layout->setSpacing(5); if (m_data_source->allData2DItems().empty()) return; @@ -52,11 +45,11 @@ void AxesPanel::createPanelElements() for (auto* item : m_data_source->allData2DItems()) disconnect(item, nullptr, this, nullptr); - GUI::Util::Layout::clearLayout(m_main_layout); + GUI::Util::Layout::clearLayout(main_layout); m_updaters.clear(); /* - m_main_layout->addRow("Axes units:", + main_layout->addRow("Axes units:", GUI::Util::createUnitsComboBox( axesUnitsList(), [this] { return currentData2DItem()->currentAxesUnits(); }, @@ -69,17 +62,17 @@ void AxesPanel::createPanelElements() &m_updaters)); */ - m_main_layout->addRow( - "Color scheme:", GUI::Util::createComboBox( - [this] { return m_data_source->currentData2DItem()->gradientCombo(); }, - [this](const QString& newVal) { - for (auto* item : m_data_source->allData2DItems()) - item->setCurrentGradient(newVal); - gDoc->setModified(); - }, - false, &m_updaters)); + main_layout->addRow("Color scheme:", + GUI::Util::createComboBox( + [this] { return m_data_source->currentData2DItem()->gradientCombo(); }, + [this](const QString& newVal) { + for (auto* item : m_data_source->allData2DItems()) + item->setCurrentGradient(newVal); + gDoc->setModified(); + }, + false, &m_updaters)); - m_main_layout->addRow(GUI::Util::createCheckBox( + main_layout->addRow(GUI::Util::createCheckBox( "Interpolate", [this] { return m_data_source->currentData2DItem()->isInterpolated(); }, [this](bool b) { for (auto* item : m_data_source->allData2DItems()) @@ -114,7 +107,7 @@ void AxesPanel::createPanelElements() }, &m_updaters)); - m_main_layout->addRow(xGroup); + main_layout->addRow(xGroup); // -- y-axis auto* yGroup = new StaticGroupBox("Y axis", this); @@ -142,7 +135,7 @@ void AxesPanel::createPanelElements() }, &m_updaters)); - m_main_layout->addRow(yGroup); + main_layout->addRow(yGroup); // -- color-axis auto* zGroup = new StaticGroupBox("Color legend", this); @@ -208,7 +201,7 @@ void AxesPanel::createPanelElements() }, &m_updaters)); - m_main_layout->addRow(zGroup); + main_layout->addRow(zGroup); updateUIValues(); @@ -224,6 +217,8 @@ void AxesPanel::createPanelElements() */ } +AxesPanel::~AxesPanel() = default; + void AxesPanel::updateItemCoords(DataItem* item) { if (!item) diff --git a/GUI/View/Setup/AxesPanel.h b/GUI/View/Setup/AxesPanel.h index 5e3a91766a7349d3264a55f8d7989febfe66a183..a8035edc16a6c033a27043b471a0e6bb60954b1d 100644 --- a/GUI/View/Setup/AxesPanel.h +++ b/GUI/View/Setup/AxesPanel.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_GUI_VIEW_SETUP_AXESPANEL_H #define BORNAGAIN_GUI_VIEW_SETUP_AXESPANEL_H -#include <QFormLayout> #include <QWidget> class DataItem; @@ -31,9 +30,7 @@ public: private: void updateItemCoords(DataItem* item); void updateUIValues(); - void createPanelElements(); - QFormLayout* m_main_layout; QList<std::function<void()>> m_updaters; std::unique_ptr<DataSource> m_data_source; diff --git a/GUI/View/Setup/AxisPanel.cpp b/GUI/View/Setup/AxisPanel.cpp index cd2c4255b2f41d8c25a244e066bc31eeb518831c..be69a5f6b9ebe35300fde5d190356cffa8727875 100644 --- a/GUI/View/Setup/AxisPanel.cpp +++ b/GUI/View/Setup/AxisPanel.cpp @@ -35,29 +35,22 @@ #include <QLineEdit> AxisPanel::AxisPanel(QObject* item) - : m_main_layout(new QFormLayout(this)) - , m_data_source(std::make_unique<DataSource>(item)) + : m_data_source(std::make_unique<DataSource>(item)) { setWindowTitle("Properties"); - - m_main_layout->setContentsMargins(8, 20, 8, 8); - m_main_layout->setSpacing(5); - createPanelElements(); -} - -AxisPanel::~AxisPanel() = default; - -void AxisPanel::createPanelElements() -{ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding); + auto* main_layout = new QFormLayout(this); + main_layout->setContentsMargins(8, 20, 8, 8); + main_layout->setSpacing(5); + if (m_data_source->allData1DItems().empty()) return; for (auto* item : m_data_source->allData1DItems()) disconnect(item, nullptr, this, nullptr); - GUI::Util::Layout::clearLayout(m_main_layout); + GUI::Util::Layout::clearLayout(main_layout); m_updaters.clear(); // -- x-axis @@ -86,7 +79,7 @@ void AxisPanel::createPanelElements() }, &m_updaters)); - m_main_layout->addRow(xGroup); + main_layout->addRow(xGroup); // -- y-axis auto* yGroup = new StaticGroupBox("Y axis", this); @@ -143,7 +136,7 @@ void AxisPanel::createPanelElements() yFormLayout->addRow("Log range:", logRangeSpinBox); - m_main_layout->addRow(yGroup); + main_layout->addRow(yGroup); updateUIValues(); @@ -157,6 +150,8 @@ void AxisPanel::createPanelElements() Qt::UniqueConnection); } +AxisPanel::~AxisPanel() = default; + void AxisPanel::updateItemCoords(DataItem* item) { if (!item) diff --git a/GUI/View/Setup/AxisPanel.h b/GUI/View/Setup/AxisPanel.h index ebb52506743c1fe25a18f66ca975037d675aa217..0e6440bbc12ebd47698f201ac78dd3e593f38e41 100644 --- a/GUI/View/Setup/AxisPanel.h +++ b/GUI/View/Setup/AxisPanel.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_GUI_VIEW_SETUP_AXISPANEL_H #define BORNAGAIN_GUI_VIEW_SETUP_AXISPANEL_H -#include <QFormLayout> #include <QWidget> class DataItem; @@ -31,9 +30,7 @@ public: private: void updateItemCoords(DataItem* item); void updateUIValues(); - void createPanelElements(); - QFormLayout* m_main_layout; QList<std::function<void()>> m_updaters; std::unique_ptr<DataSource> m_data_source;