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

mv class GroupBox to GroupBoxes.*

parent dd87e109
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
......@@ -23,7 +23,6 @@
#include "GUI/View/Numeric/NumWidgetUtil.h"
#include "GUI/View/Numeric/SafeSpinBox.h"
#include <QFormLayout>
#include <QLabel>
namespace {
......@@ -47,33 +46,6 @@ DoubleSpinBox* createSpinBox(QFormLayout* parentFormLayout, DoubleProperty& d,
} // namespace
class GroupBox : public QGroupBox {
public:
GroupBox(const QString& title, QLayout* content_layout, QWidget* parent);
};
GroupBox::GroupBox(const QString& title, QLayout* content_layout, QWidget* parent)
: QGroupBox(parent)
{
auto* label = new QLabel(this);
label->setObjectName("GroupBoxToggler");
label->setText(title);
label->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::MinimumExpanding);
auto* contentArea = new QWidget(this);
contentArea->setObjectName("ContentArea");
contentArea->setLayout(content_layout);
auto* mainLayout = new QVBoxLayout;
mainLayout->setSpacing(0);
mainLayout->setContentsMargins(0, 0, 0, 0);
mainLayout->setMenuBar(label);
mainLayout->addWidget(contentArea);
setTitle(""); // title has been read above
setLayout(mainLayout); // overwrites layout that has been read above
}
DetectorEditor::DetectorEditor(QWidget* parent, GISASInstrumentItem* instrItem)
: QGroupBox("Detector parameters", parent)
......
......@@ -15,11 +15,41 @@
#include "GUI/View/Widget/GroupBoxes.h"
#include <QAction>
#include <QBoxLayout>
#include <QGroupBox>
#include <QLabel>
#include <QMenu>
#include <QToolButton>
#include <QVariant>
// ************************************************************************************************
// class GroupBox
// ************************************************************************************************
GroupBox::GroupBox(const QString& title, QLayout* content_layout, QWidget* parent)
: QGroupBox(parent)
{
auto* label = new QLabel(this);
label->setObjectName("GroupBoxToggler");
label->setText(title);
label->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::MinimumExpanding);
auto* contentArea = new QWidget(this);
contentArea->setObjectName("ContentArea");
contentArea->setLayout(content_layout);
auto* mainLayout = new QVBoxLayout;
mainLayout->setSpacing(0);
mainLayout->setContentsMargins(0, 0, 0, 0);
mainLayout->setMenuBar(label);
mainLayout->addWidget(contentArea);
setTitle(""); // title has been read above
setLayout(mainLayout); // overwrites layout that has been read above
}
// ************************************************************************************************
// class GroupBoxCollapser
// ************************************************************************************************
GroupBoxCollapser* GroupBoxCollapser::installIntoGroupBox(QGroupBox* groupBox, bool expanded)
{
auto* p = new GroupBoxCollapser(groupBox);
......
......@@ -15,13 +15,21 @@
#ifndef BORNAGAIN_GUI_VIEW_WIDGET_GROUPBOXES_H
#define BORNAGAIN_GUI_VIEW_WIDGET_GROUPBOXES_H
#include <QGroupBox>
#include <QObject>
class QAction;
class QGroupBox;
class QHBoxLayout;
class QToolButton;
//! A QGroupBox with given title and layout, and some standard styling.
class GroupBox : public QGroupBox {
public:
GroupBox(const QString& title, QLayout* content_layout, QWidget* parent);
};
//! Add-on to group boxes to make them collapsible.
//!
//! Also adds the possibility to show toolbuttons or widgets in the group box's title.
......
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