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

connect collapser in GroupBoxCollapser::installIntoGroupBox2

parent 5f9d546f
No related branches found
No related tags found
1 merge request!2059Move code in GUI/View; expose "expand" bit w/o getter and setter; let GroupBoxCollapser take care of boilerplate set and connect statements
Pipeline #117493 failed
...@@ -54,10 +54,7 @@ DetectorEditor::DetectorEditor(QWidget* parent, GISASInstrumentItem* instrItem) ...@@ -54,10 +54,7 @@ DetectorEditor::DetectorEditor(QWidget* parent, GISASInstrumentItem* instrItem)
auto* formLayout = new QFormLayout(this); auto* formLayout = new QFormLayout(this);
auto* collapser = GroupBoxCollapser::installIntoGroupBox(this); GroupBoxCollapser::installIntoGroupBox2(this, instrItem->expandDetector);
collapser->setExpanded(instrItem->expandDetector);
connect(collapser, &GroupBoxCollapser::toggled, this,
[instrItem](bool b) { instrItem->expandDetector = b; });
DetectorItem* detectorItem = instrItem->detectorItem(); DetectorItem* detectorItem = instrItem->detectorItem();
ASSERT(detectorItem); ASSERT(detectorItem);
......
...@@ -64,6 +64,14 @@ GroupBoxCollapser* GroupBoxCollapser::installIntoGroupBox(QGroupBox* groupBox, b ...@@ -64,6 +64,14 @@ GroupBoxCollapser* GroupBoxCollapser::installIntoGroupBox(QGroupBox* groupBox, b
return p; return p;
} }
GroupBoxCollapser* GroupBoxCollapser::installIntoGroupBox2(QGroupBox* groupBox, bool& expanded)
{
auto* result = new GroupBoxCollapser(groupBox);
result->setExpanded(expanded);
connect(result, &GroupBoxCollapser::toggled, [&expanded](bool b) { expanded = b; });
return result;
}
GroupBoxCollapser* GroupBoxCollapser::findInstalledCollapser(QGroupBox* groupBox) GroupBoxCollapser* GroupBoxCollapser::findInstalledCollapser(QGroupBox* groupBox)
{ {
if (groupBox == nullptr) if (groupBox == nullptr)
......
...@@ -43,6 +43,7 @@ class GroupBoxCollapser : public QObject { ...@@ -43,6 +43,7 @@ class GroupBoxCollapser : public QObject {
Q_OBJECT Q_OBJECT
public: public:
static GroupBoxCollapser* installIntoGroupBox(QGroupBox* groupBox, bool expanded = true); static GroupBoxCollapser* installIntoGroupBox(QGroupBox* groupBox, bool expanded = true);
static GroupBoxCollapser* installIntoGroupBox2(QGroupBox* groupBox, bool& expanded);
static GroupBoxCollapser* findInstalledCollapser(QGroupBox* groupBox); static GroupBoxCollapser* findInstalledCollapser(QGroupBox* groupBox);
//! Set the title of the group box. Do not use the method groupBox->setTitle() any more once the //! Set the title of the group box. Do not use the method groupBox->setTitle() any more once the
......
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