Skip to content
Snippets Groups Projects
Commit 6282d448 authored by Ewan Cook's avatar Ewan Cook
Browse files

refs #22915 add json peak data loading & peak data

parent 2169c9ea
No related branches found
No related tags found
No related merge requests found
from __future__ import print_function, absolute_import
import mantid.simpleapi as mantid
import os
import json
from Muon.GUI.Common import message_box
from Muon.GUI import ElementalAnalysis
class PeriodicTableModel(object):
def __init__(self):
self._peak_data = {}
self._peak_data_file = os.path.join(os.path.dirname(ElementalAnalysis.__file__), "peak_data.json")
self.load_peak_data()
def load_peak_data(self):
# using os.path.isfile allows file modifications to take place before opening:
# we don't want this.
try:
with open(self._peak_data_file, "r") as f:
try:
self.peak_data = json.load(f)
except ValueError as error:
message_box.warning(error)
except IOError as error:
message_box.warning(error)
@property
def peak_data(self):
return self._peak_data
@peak_data.setter
def peak_data(self, peak_data):
self._peak_data = peak_data
# leaves room for change event etc.?
@property
def peak_data_file(self):
return self._peak_data_file
@peak_data_file.setter
def peak_data_file(self, filepath):
self._peak_data_file = filepath
self.load_peak_data()
\ No newline at end of file
class PeriodicTablePresenter(object): class PeriodicTablePresenter(object):
def __init__(self, view): def __init__(self, view, model):
self.view = view self.view = view
self.model = model
@property @property
def widget(self): def widget(self):
......
...@@ -2,6 +2,7 @@ from __future__ import absolute_import ...@@ -2,6 +2,7 @@ from __future__ import absolute_import
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_view import PeriodicTableView from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_view import PeriodicTableView
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_presenter import PeriodicTablePresenter from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_presenter import PeriodicTablePresenter
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_model import PeriodicTableModel
from PyQt4 import QtGui from PyQt4 import QtGui
...@@ -10,7 +11,8 @@ class PeriodicTable(QtGui.QWidget): ...@@ -10,7 +11,8 @@ class PeriodicTable(QtGui.QWidget):
def __init__(self, parent=None): def __init__(self, parent=None):
super(PeriodicTable, self).__init__(parent) super(PeriodicTable, self).__init__(parent)
view = PeriodicTableView(parent) view = PeriodicTableView(parent)
self._presenter = PeriodicTablePresenter(view) model = PeriodicTableModel()
self._presenter = PeriodicTablePresenter(view, model)
@property @property
def presenter(self): def presenter(self):
......
This diff is collapsed.
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