Skip to content

Commit

Permalink
Merge pull request #838 from mantidproject/10578_multifit_resize_columns
Browse files Browse the repository at this point in the history
Ability to resize columns in FunctionBrowser.
  • Loading branch information
DanNixon committed Jun 3, 2015
2 parents 6d19154 + 16dbce4 commit a45cadb
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 0 deletions.
Expand Up @@ -78,6 +78,7 @@ void MultiDatasetFit::initLayout()
QSplitter* splitter = new QSplitter(Qt::Vertical,this);

m_functionBrowser = new MantidQt::MantidWidgets::FunctionBrowser(NULL, true);
m_functionBrowser->setColumnSizes(100, 100, 45);
splitter->addWidget( m_functionBrowser );
connect(m_functionBrowser,SIGNAL(localParameterButtonClicked(const QString&)),this,SLOT(editLocalParameterValues(const QString&)));
connect(m_functionBrowser,SIGNAL(functionStructureChanged()),this,SLOT(reset()));
Expand Down
Expand Up @@ -137,6 +137,9 @@ class EXPORT_OPT_MANTIDQT_MANTIDWIDGETS FunctionBrowser: public QWidget
/// Update parameter values in the browser to match those of a function.
void updateMultiDatasetParameters(const Mantid::API::IFunction& fun);

/// Resize the browser's columns
void setColumnSizes(int s0, int s1, int s2 = -1);

signals:
/// User selects a different function (or one of it's sub-properties)
void currentFunctionChanged();
Expand Down
10 changes: 10 additions & 0 deletions Code/Mantid/MantidQt/MantidWidgets/src/FunctionBrowser.cpp
Expand Up @@ -2180,5 +2180,15 @@ void FunctionBrowser::updateMultiDatasetParameters(const Mantid::API::IFunction&
}
}

/// Resize the browser's columns
/// @param s0 :: New size for the first column (Parameter).
/// @param s1 :: New size for the second column (Value).
/// @param s2 :: New size for the third optional column (Global).
void FunctionBrowser::setColumnSizes(int s0, int s1, int s2)
{
m_browser->setColumnSizes(s0, s1, s2);
}


} // MantidWidgets
} // MantidQt
19 changes: 19 additions & 0 deletions Code/Mantid/QtPropertyBrowser/src/qttreepropertybrowser.cpp
Expand Up @@ -185,6 +185,7 @@ class QtTreePropertyBrowserPrivate
QTreeWidgetItem *editedItem() const;

const QStringList& options() const {return m_options;}
void setColumnSizes(int s0, int s1, int s2);

private:
void updateItem(QTreeWidgetItem *item);
Expand Down Expand Up @@ -833,6 +834,19 @@ void QtTreePropertyBrowserPrivate::editItem(QtBrowserItem *browserItem)
}
}

void QtTreePropertyBrowserPrivate::setColumnSizes(int s0, int s1, int s2)
{
m_treeWidget->header()->setResizeMode(QHeaderView::Interactive);
m_treeWidget->header()->setStretchLastSection(false);
m_treeWidget->header()->resizeSection(0, s0);
m_treeWidget->header()->resizeSection(1, s1);
if (!m_options.isEmpty())
{
if (s2 < 0) s2 = s1;
m_treeWidget->header()->resizeSection(2, s2);
}
}

/**
\class QtTreePropertyBrowser
Expand Down Expand Up @@ -1192,6 +1206,11 @@ void QtTreePropertyBrowser::editItem(QtBrowserItem *item)
d_ptr->editItem(item);
}

void QtTreePropertyBrowser::setColumnSizes(int s0, int s1, int s2)
{
d_ptr->setColumnSizes(s0, s1, s2);
}

#if QT_VERSION >= 0x040400
QT_END_NAMESPACE
#endif
Expand Down
1 change: 1 addition & 0 deletions Code/Mantid/QtPropertyBrowser/src/qttreepropertybrowser.h
Expand Up @@ -153,6 +153,7 @@ class QT_QTPROPERTYBROWSER_EXPORT QtTreePropertyBrowser : public QtAbstractPrope
bool propertiesWithoutValueMarked() const;

void editItem(QtBrowserItem *item);
void setColumnSizes(int s0, int s1, int s2 = -1);

Q_SIGNALS:

Expand Down

0 comments on commit a45cadb

Please sign in to comment.