Skip to content

Commit

Permalink
Refs #9051. Move the option retrieval stuff to settings tab code
Browse files Browse the repository at this point in the history
Plus make it's value auto-saveable
  • Loading branch information
arturbekasov committed Mar 6, 2014
1 parent f3ff602 commit 35a4a06
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 31 deletions.
Expand Up @@ -246,9 +246,6 @@ private slots:
/// Types of periods
enum PeriodType { First, Second };

/// Types of new plot policies
enum NewPlotPolicy { NewWindow, PreviousWindow };

/// Initialize local Python environment
void initLocalPython();

Expand Down Expand Up @@ -508,9 +505,6 @@ private slots:
/// When data loaded set various buttons etc to active
void nowDataAvailable();

/// Return currently selected new plot policy
NewPlotPolicy newPlotPolicy();

/// handles option tab work
MantidQt::CustomInterfaces::Muon::MuonAnalysisOptionTab* m_optionTab;
/// handles fit data work
Expand Down
Expand Up @@ -48,6 +48,9 @@ class MuonAnalysisOptionTab : public QWidget
{
Q_OBJECT
public:
/// Types of new plot policies
enum NewPlotPolicy { NewWindow, PreviousWindow };

/// Constructor
MuonAnalysisOptionTab(Ui::MuonAnalysis& uiForm, const QString& settingsGroup);

Expand All @@ -57,6 +60,9 @@ class MuonAnalysisOptionTab : public QWidget
/// Get plot style parameters from widgets
QMap<QString, QString> parsePlotStyleParams() const;

/// Return currently selected new plot policy
NewPlotPolicy newPlotPolicy();

signals:
/// Update the plot because something has changed.
void settingsTabUpdatePlot();
Expand All @@ -65,6 +71,7 @@ class MuonAnalysisOptionTab : public QWidget
void plotStyleChanged();

private:

/// The Muon Analysis UI file.
Ui::MuonAnalysis& m_uiForm;

Expand Down
29 changes: 4 additions & 25 deletions Code/Mantid/MantidQt/CustomInterfaces/src/MuonAnalysis.cpp
Expand Up @@ -2043,15 +2043,15 @@ void MuonAnalysis::plotSpectrum(const QString& wsName, bool logScale)
// variable named 'w';'
QStringList acquireWindowScript;

NewPlotPolicy policy = newPlotPolicy();
MuonAnalysisOptionTab::NewPlotPolicy policy = m_optionTab->newPlotPolicy();

// Hide all the previous plot windows, if creating a new one
if ( policy == NewWindow && m_uiForm.hideGraphs->isChecked())
if ( policy == MuonAnalysisOptionTab::NewWindow && m_uiForm.hideGraphs->isChecked())
{
hideAllPlotWindows();
}

if ( policy == PreviousWindow )
if ( policy == MuonAnalysisOptionTab::PreviousWindow )
{
QStringList& s = acquireWindowScript; // To keep short

Expand All @@ -2069,7 +2069,7 @@ void MuonAnalysis::plotSpectrum(const QString& wsName, bool logScale)
s << "w.show()";
s << "w.setFocus()";
}
else if ( policy == NewWindow )
else if ( policy == MuonAnalysisOptionTab::NewWindow )
{
QStringList& s = acquireWindowScript; // To keep short

Expand Down Expand Up @@ -3579,27 +3579,6 @@ void MuonAnalysis::nowDataAvailable()
m_uiForm.guessAlphaButton->setEnabled(true);
}

/**
* @return Currently selected new plot policy
*/
MuonAnalysis::NewPlotPolicy MuonAnalysis::newPlotPolicy()
{
QMap<QString, NewPlotPolicy> policyMap;
policyMap["Create new window"] = NewWindow;
policyMap["Use previous window"] = PreviousWindow;

QString selectedPolicy = m_uiForm.newPlotPolicy->currentText();
if ( !policyMap.contains(selectedPolicy) )
{
throw std::runtime_error("Unknown new plot policy selection");
}
else
{
return policyMap[selectedPolicy];
}
}


void MuonAnalysis::openDirectoryDialog()
{
MantidQt::API::ManageUserDirectories *ad = new MantidQt::API::ManageUserDirectories(this);
Expand Down
Expand Up @@ -53,6 +53,7 @@ void MuonAnalysisOptionTab::initLayout()

m_autoSaver.beginGroup("GeneralOptions");
m_autoSaver.registerWidget(m_uiForm.plotCreation, "plotCreation", 0);
m_autoSaver.registerWidget(m_uiForm.newPlotPolicy, "newPlotPolicy", 0);
m_autoSaver.registerWidget(m_uiForm.hideToolbars, "toolbars", true);
m_autoSaver.registerWidget(m_uiForm.hideGraphs, "hiddenGraphs", true);
m_autoSaver.endGroup();
Expand Down Expand Up @@ -216,6 +217,28 @@ QMap<QString, QString> MuonAnalysisOptionTab::parsePlotStyleParams() const
return(params);
}

/**
* @return Currently selected new plot policy
*/
MuonAnalysisOptionTab::NewPlotPolicy MuonAnalysisOptionTab::newPlotPolicy()
{
QMap<QString, NewPlotPolicy> policyMap;
policyMap["Create new window"] = NewWindow;
policyMap["Use previous window"] = PreviousWindow;

QString selectedPolicy = m_uiForm.newPlotPolicy->currentText();
if ( !policyMap.contains(selectedPolicy) )
{
throw std::runtime_error("Unknown new plot policy selection");
}
else
{
return policyMap[selectedPolicy];
}
}



}
}
}

0 comments on commit 35a4a06

Please sign in to comment.