Skip to content
Snippets Groups Projects
Commit db2ad260 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

CollapsibleGroupBox works for OffspecDetectorEditor

parent fb743f80
No related branches found
No related tags found
1 merge request!2065+ class CollapsibleGroupBox; use it where possible
......@@ -17,25 +17,12 @@
#include "GUI/Model/Detector/OffspecDetectorItem.h"
#include "GUI/Model/Device/InstrumentItems.h"
#include "GUI/View/Device/AxisPropertyForm.h"
#include "GUI/View/Widget/GroupBoxes.h"
#include <QFormLayout>
OffspecDetectorEditor::OffspecDetectorEditor(QWidget* parent, OffspecInstrumentItem* instrument)
: QGroupBox("Detector parameters", parent)
: CollapsibleGroupBox("Detector parameters", parent, instrument->expandDetector)
, m_instrument(instrument)
{
ASSERT(instrument);
m_formLayout = new QFormLayout(this);
auto* collapser = GroupBoxCollapser::installIntoGroupBox(this);
collapser->setExpanded(instrument->expandDetector);
connect(collapser, &GroupBoxCollapser::toggled, this,
[instrument](bool b) { instrument->expandDetector = b; });
while (m_formLayout->rowCount() > 1)
m_formLayout->removeRow(1);
OffspecDetectorItem* detector_item = m_instrument->detectorItem();
auto* grid = new QGridLayout;
......@@ -57,5 +44,5 @@ OffspecDetectorEditor::OffspecDetectorEditor(QWidget* parent, OffspecInstrumentI
connect(alphaForm, &AxisPropertyForm::dataChanged, this, &OffspecDetectorEditor::dataChanged);
m_formLayout->addRow(grid);
body()->setLayout(grid);
}
......@@ -15,12 +15,12 @@
#ifndef BORNAGAIN_GUI_VIEW_INSTRUMENT_OFFSPECDETECTOREDITOR_H
#define BORNAGAIN_GUI_VIEW_INSTRUMENT_OFFSPECDETECTOREDITOR_H
#include <QGroupBox>
#include "GUI/View/Widget/GroupBoxes.h"
class OffspecInstrumentItem;
class QFormLayout;
class OffspecDetectorEditor : public QGroupBox {
class OffspecDetectorEditor : public CollapsibleGroupBox {
Q_OBJECT
public:
OffspecDetectorEditor(QWidget* parent, OffspecInstrumentItem* item);
......
......@@ -85,11 +85,10 @@ CollapsibleGroupBox::CollapsibleGroupBox(const QString& title, QWidget* parent,
connect(
m_toggleButton, &QAbstractButton::clicked,
[this, &expanded](bool checked) {
this->m_toggleButton->setArrowType(checked ? Qt::ArrowType::DownArrow
[tb=m_toggleButton, bo=m_body, &expanded](bool checked) {
tb->setArrowType(checked ? Qt::ArrowType::DownArrow
: Qt::ArrowType::RightArrow);
this->m_body->setVisible(checked);
bo->setVisible(checked);
expanded = checked;
});
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment