Skip to content
Snippets Groups Projects
Commit 70df9bf4 authored by Tom Perkins's avatar Tom Perkins
Browse files

Add a splitter to separate extra widgets from browser

This enables you to give more space to the fit function

re #18059
parent c2990e20
No related merge requests found
......@@ -113,8 +113,8 @@ private:
/// workspaces
void finishAfterSimultaneousFit(const Mantid::API::IAlgorithm *fitAlg,
const int nWorkspaces) const;
/// Splitter for additional widgets
QSplitter *m_widgetSplitter;
/// Splitter for additional widgets and splitter between this and browser
QSplitter *m_widgetSplitter, *m_mainSplitter;
/// Names of workspaces to fit
std::vector<std::string> m_workspacesToFit;
/// Label to use for simultaneous fits
......
......@@ -61,7 +61,8 @@ const std::string MuonFitPropertyBrowser::SIMULTANEOUS_PREFIX{"MuonSimulFit_"};
*/
MuonFitPropertyBrowser::MuonFitPropertyBrowser(QWidget *parent,
QObject *mantidui)
: FitPropertyBrowser(parent, mantidui), m_widgetSplitter(nullptr) {}
: FitPropertyBrowser(parent, mantidui), m_widgetSplitter(nullptr),
m_mainSplitter(nullptr) {}
/**
* Initialise the muon fit property browser.
......@@ -156,16 +157,23 @@ void MuonFitPropertyBrowser::init() {
initLayout(w);
// Create an empty splitter that can hold extra widgets
// and add it after the buttons but before the browser
m_widgetSplitter = new QSplitter(w);
m_widgetSplitter->setOrientation(Qt::Vertical);
m_widgetSplitter = new QSplitter(Qt::Vertical, w);
m_widgetSplitter->setSizePolicy(QSizePolicy::Policy::Expanding,
QSizePolicy::Policy::Expanding);
// This splitter separates the "extra widgets" region from the browser
m_mainSplitter = new QSplitter(Qt::Vertical, w);
m_mainSplitter->insertWidget(0, m_widgetSplitter);
m_mainSplitter->insertWidget(1, m_browser);
m_mainSplitter->setStretchFactor(0, 1);
m_mainSplitter->setStretchFactor(1, 0);
// Insert after the buttons
auto parentLayout = qobject_cast<QVBoxLayout *>(w->layout());
if (parentLayout) {
const int index = parentLayout->count() - 2;
const int index = parentLayout->count() - 1;
constexpr int stretchFactor = 10; // so these widgets get any extra space
parentLayout->insertWidget(index, m_widgetSplitter, stretchFactor);
parentLayout->insertWidget(index, m_mainSplitter, stretchFactor);
parentLayout->setSpacing(0);
parentLayout->setMargin(0);
parentLayout->setContentsMargins(0, 0, 0, 0);
......
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