Index: src/sas/qtgui/MainWindow/DataExplorer.py
===================================================================
--- src/sas/qtgui/MainWindow/DataExplorer.py (revision fd7ef366aae1676b62ef944659ae3d38556a61fb)
+++ src/sas/qtgui/MainWindow/DataExplorer.py (revision 339e22b9f5c08262b1d5b0b551ce467bcf83178c)
@@ -42,5 +42,4 @@
# Main model for keeping loaded data
self.model = QtGui.QStandardItemModel(self)
-
# Secondary model for keeping frozen data sets
self.theory_model = QtGui.QStandardItemModel(self)
@@ -98,4 +97,5 @@
self.communicator.plotUpdateSignal.connect(self.updatePlot)
self.communicator.maskEditorSignal.connect(self.showEditDataMask)
+ self.communicator.extMaskEditorSignal.connect(self.extShowEditDataMask)
self.cbgraph.editTextChanged.connect(self.enableGraphCombo)
@@ -1059,15 +1059,36 @@
self.new_plot.show()
+ def extShowEditDataMask(self):
+ self.showEditDataMask()
+
def showEditDataMask(self, data=None):
"""
Mask Editor for 2D plots
"""
- if data is None or not isinstance(data, Data2D):
- index = self.current_view.selectedIndexes()[0]
- proxy = self.current_view.model()
- model = proxy.sourceModel()
- model_item = model.itemFromIndex(proxy.mapToSource(index))
-
- data = GuiUtils.dataFromItem(model_item)
+ try:
+ if data is None or not isinstance(data, Data2D):
+ index = self.current_view.selectedIndexes()[0]
+ proxy = self.current_view.model()
+ model = proxy.sourceModel()
+ model_item = model.itemFromIndex(proxy.mapToSource(index))
+
+ data = GuiUtils.dataFromItem(model_item)
+
+ if data is None or not isinstance(data, Data2D):
+ msg = QtWidgets.QMessageBox()
+ msg.setIcon(QtWidgets.QMessageBox.Information)
+ msg.setText("Error: cannot apply mask. \
+ Please select a 2D dataset.")
+ msg.setStandardButtons(QtWidgets.QMessageBox.Cancel)
+ msg.exec_()
+ return
+ except:
+ msg = QtWidgets.QMessageBox()
+ msg.setIcon(QtWidgets.QMessageBox.Information)
+ msg.setText("Error: No dataset selected. \
+ Please select a 2D dataset.")
+ msg.setStandardButtons(QtWidgets.QMessageBox.Cancel)
+ msg.exec_()
+ return
mask_editor = MaskEditor(self, data)
Index: src/sas/qtgui/MainWindow/GuiManager.py
===================================================================
--- src/sas/qtgui/MainWindow/GuiManager.py (revision f84d793343c420fd47b44c3b601e90f9e82ea451)
+++ src/sas/qtgui/MainWindow/GuiManager.py (revision 339e22b9f5c08262b1d5b0b551ce467bcf83178c)
@@ -422,5 +422,4 @@
self._workspace.actionExcel.triggered.connect(self.actionExcel)
self._workspace.actionLatex.triggered.connect(self.actionLatex)
-
# View
self._workspace.actionShow_Grid_Window.triggered.connect(self.actionShow_Grid_Window)
@@ -452,4 +451,6 @@
self._workspace.actionManage_Custom_Models.triggered.connect(self.actionManage_Custom_Models)
self._workspace.actionAddMult_Models.triggered.connect(self.actionAddMult_Models)
+ self._workspace.actionEditMask.triggered.connect(self.actionEditMask)
+
# Window
self._workspace.actionCascade.triggered.connect(self.actionCascade)
@@ -781,4 +782,8 @@
self.add_mult_editor.show()
+ def actionEditMask(self):
+
+ self.communicate.extMaskEditorSignal.emit()
+
#============ ANALYSIS =================
def actionFitting(self):
Index: src/sas/qtgui/MainWindow/UI/MainWindowUI.ui
===================================================================
--- src/sas/qtgui/MainWindow/UI/MainWindowUI.ui (revision dda8f16d5052858e8e3b59357f178cbd74fe3664)
+++ src/sas/qtgui/MainWindow/UI/MainWindowUI.ui (revision 339e22b9f5c08262b1d5b0b551ce467bcf83178c)
@@ -113,4 +113,6 @@
+
+