Skip to content
Snippets Groups Projects
Commit 3f52e5f0 authored by Edward Brown's avatar Edward Brown
Browse files

Re #21167 Add link to help page.

parent 86d757a8
No related branches found
No related tags found
No related merge requests found
......@@ -82,6 +82,7 @@ set ( MOC_FILES
QtReflSaveTabView.h
QtReflSettingsTabView.h
QtReflSettingsView.h
QtReflMainWindowView.h
)
set ( UI_FILES
......
......@@ -40,7 +40,7 @@ public:
/// Destructor
virtual ~IReflMainWindowPresenter(){};
enum class Flag { ConfirmReductionPausedFlag, ConfirmReductionResumedFlag };
enum class Flag { ConfirmReductionPausedFlag, ConfirmReductionResumedFlag, HelpPressed };
virtual void notify(Flag flag) = 0;
/// Pre-processing
......
......@@ -35,11 +35,17 @@ void QtReflMainWindowView::initLayout() {
auto settingsPresenter = createSettingsTab();
auto savePresenter = createSaveTab();
connect(m_ui.helpButton, SIGNAL(clicked()), this, SLOT(helpPressed()));
// Create the presenter
m_presenter.reset(new ReflMainWindowPresenter(
this, runsPresenter, eventPresenter, settingsPresenter, savePresenter));
}
void QtReflMainWindowView::helpPressed() {
m_presenter->notify(IReflMainWindowPresenter::Flag::HelpPressed);
}
/** Creates the 'Runs' tab and returns a pointer to its presenter
* @return :: A pointer to the presenter managing the 'Runs' tab
*/
......
......@@ -44,6 +44,7 @@ Code Documentation is available at: <http://doxygen.mantidproject.org>
*/
class QtReflMainWindowView : public MantidQt::API::UserSubWindow,
public IReflMainWindowView {
Q_OBJECT
public:
/// Constructor
explicit QtReflMainWindowView(QWidget *parent = nullptr);
......@@ -66,6 +67,9 @@ public:
/// Close window handler
void closeEvent(QCloseEvent *event) override;
public slots:
void helpPressed();
private:
/// Initializes the interface
void initLayout() override;
......
......@@ -4,6 +4,7 @@
#include "IReflEventTabPresenter.h"
#include "IReflSettingsTabPresenter.h"
#include "IReflSaveTabPresenter.h"
#include "MantidQtWidgets/Common/HelpWindow.h"
#include <iostream>
using namespace MantidQt::MantidWidgets::DataProcessor;
......@@ -53,11 +54,19 @@ void ReflMainWindowPresenter::notify(IReflMainWindowPresenter::Flag flag) {
case Flag::ConfirmReductionResumedFlag:
m_isProcessing = true;
break;
case Flag::HelpPressed:
showHelp();
break;
}
// Not having a 'default' case is deliberate. gcc issues a warning if there's
// a flag we aren't handling.
}
void ReflMainWindowPresenter::showHelp() {
MantidQt::API::HelpWindow::showCustomInterface(
nullptr, QString("ISIS Reflectometry"));
}
void ReflMainWindowPresenter::settingsChanged(int group) {
m_runsPresenter->settingsChanged(group);
}
......
......@@ -94,6 +94,7 @@ private:
void pauseReduction() const;
/// Resumes reduction in the Runs Tab
void resumeReduction() const;
void showHelp();
/// The view we are handling
IReflMainWindowView *m_view;
/// The presenter of tab 'Runs'
......
......@@ -4,39 +4,48 @@
<widget class="QMainWindow" name="RelMainWindowWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>959</width>
<height>346</height>
<x>0</x>
<y>0</y>
<width>975</width>
<height>515</height>
</rect>
</property>
<property name="windowTitle">
<string>ISIS Reflectometry</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>1</number>
</property>
<property name="spacing">
<number>1</number>
</property>
<item row="0" column="0">
<widget class="QTabWidget" name="mainTab">
</widget>/>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="mainTab"/>
</item>
<item>
<widget class="QPushButton" name="helpButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>?</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>
\ No newline at end of file
</ui>
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