From 62d9d54390dbe55d72a8a88e1007ad8f550f07a6 Mon Sep 17 00:00:00 2001
From: Anthony Lim <anthony.lim@stfc.ac.uk>
Date: Fri, 10 Aug 2018 16:07:19 +0100
Subject: [PATCH] refs #23232 restructure of main muon analysis 2 py file for
 saving

---
 scripts/Muon/GUI/Common/dummy/dummy_widget.py |  8 ++--
 .../Muon/GUI/MuonAnalysis/dock/dock_widget.py |  3 ++
 scripts/Muon_Analysis_2.py                    | 43 +++++++++++++++----
 3 files changed, 41 insertions(+), 13 deletions(-)

diff --git a/scripts/Muon/GUI/Common/dummy/dummy_widget.py b/scripts/Muon/GUI/Common/dummy/dummy_widget.py
index b3a3cfcb49e..fcd80808556 100644
--- a/scripts/Muon/GUI/Common/dummy/dummy_widget.py
+++ b/scripts/Muon/GUI/Common/dummy/dummy_widget.py
@@ -11,16 +11,16 @@ class DummyWidget(object):
     def __init__(self,name,parent=None):
         view=DummyView(name,parent)
         model=None
-        self.presenter = DummyPresenter(view,model)
+        self._presenter = DummyPresenter(view,model)
 
     @property
     def presenter(self):
-        return self.presenter
+        return self._presenter
 
     @property
     def widget(self):
-        return self.presenter.widget
+        return self._presenter.widget
 
     def setButtonConnection(self,slot):
-        view=self.presenter.widget
+        view=self._presenter.widget
         view.buttonSignal.connect(slot)
diff --git a/scripts/Muon/GUI/MuonAnalysis/dock/dock_widget.py b/scripts/Muon/GUI/MuonAnalysis/dock/dock_widget.py
index 28ccae93e6c..8f3fa4717a2 100644
--- a/scripts/Muon/GUI/MuonAnalysis/dock/dock_widget.py
+++ b/scripts/Muon/GUI/MuonAnalysis/dock/dock_widget.py
@@ -43,6 +43,9 @@ class DockWidget(QtGui.QWidget):
 
         self.dockWidget.setLayout(QHbox)
 
+    def loadFromProject(self, project):
+        self.label.updateLabel(project)
+
     def handleButton(self, message):
         self.label.updateLabel(message)
 
diff --git a/scripts/Muon_Analysis_2.py b/scripts/Muon_Analysis_2.py
index 74284382f74..ae7146a7d32 100644
--- a/scripts/Muon_Analysis_2.py
+++ b/scripts/Muon_Analysis_2.py
@@ -9,6 +9,7 @@ import PyQt4.QtCore as QtCore
 from Muon.GUI.Common.dummy_label.dummy_label_widget import DummyLabelWidget
 from Muon.GUI.MuonAnalysis.dock.dock_widget import DockWidget
 
+muonGUI = None
 
 class MuonAnalysis2Gui(QtGui.QMainWindow):
 
@@ -41,12 +42,36 @@ def qapp():
     return _app
 
 
-app = qapp()
-try:
-    ex = MuonAnalysis2Gui()
-    ex.resize(700, 700)
-    ex.show()
-    app.exec_()
-except RuntimeError as error:
-    ex = QtGui.QWidget()
-    QtGui.QMessageBox.warning(ex, "Muon Analysis version 2", str(error))
+def main():
+    app = qapp()
+    try:
+        muonGUI = MuonAnalysis2Gui()
+        muonGUI.resize(700, 700)
+        muonGUI.show()
+        app.exec_()
+        return muonGUI
+    except RuntimeError as error:
+        muonGUI = QtGui.QWidget()
+        QtGui.QMessageBox.warning(muonGUI, "Muon Analysis version 2", str(error))
+        return muonGUI
+
+def saveToProject():
+    if muonGUI is None:
+        return ""
+    project = "test"
+    return project	
+
+def loadFromProject(project):
+    muonGUI = main()
+    muonGUI.dockWidget.loadFromProject(project)
+    return muonGUI
+
+if __name__ == '__main__':
+    muonGUI = main()
+    #test 2
+	#muonGUI = loadFromProject("Test basic load")
+	#test 3
+    #muonGUI = main()
+    #print("test 3: ",saveToProject())
+    #test 4
+    #print("test 4: ",saveToProject())
\ No newline at end of file
-- 
GitLab