Changeset 630155bd in sasview for src/sas/qtgui
- Timestamp:
- Oct 5, 2016 4:40:30 PM (8 years ago)
- Branches:
- ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
- Children:
- 2366fb2, e207c3f
- Parents:
- d0ccd80f
- Location:
- src/sas/qtgui
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/DataExplorer.py
r1af348e r630155bd 30 30 # for the gui and providing an interface to the data model. 31 31 32 def __init__(self, parent=None, guimanager=None ):32 def __init__(self, parent=None, guimanager=None, manager=None): 33 33 super(DataExplorerWindow, self).__init__(parent, guimanager) 34 34 … … 43 43 self.parent = guimanager 44 44 self.loader = Loader() 45 self.manager = DataManager()45 self.manager = manager if manager is not None else DataManager() 46 46 self.txt_widget = QtGui.QTextEdit(None) 47 47 # self.txt_widget = GuiUtils.DisplayWindow() … … 164 164 165 165 self.loadFromURL(path_str) 166 167 def loadProject(self): 168 """ 169 Called when the "Open Project" menu item chosen. 170 """ 171 kwargs = { 172 'parent' : self, 173 'caption' : 'Open Project', 174 'filter' : 'Project (*.json);;All files (*.*)', 175 'options' : QtGui.QFileDialog.DontUseNativeDialog 176 } 177 filename = str(QtGui.QFileDialog.getOpenFileName(**kwargs)) 178 if filename: 179 load_thread = threads.deferToThread(self.readProject, filename) 180 load_thread.addCallback(self.readProjectComplete) 181 182 def readProject(self, filename): 183 self.communicator.statusBarUpdateSignal.emit("Loading Project... %s" % os.path.basename(filename)) 184 try: 185 manager = DataManager() 186 with open(filename, 'r') as infile: 187 manager.load_from_readable(infile) 188 189 self.communicator.statusBarUpdateSignal.emit("Loaded Project: %s" % os.path.basename(filename)) 190 return manager 191 192 except: 193 self.communicator.statusBarUpdateSignal.emit("Failed: %s" % os.path.basename(filename)) 194 raise 195 196 def readProjectComplete(self, manager): 197 self.model.clear() 198 199 self.manager.assign(manager) 200 for id, item in self.manager.get_all_data().iteritems(): 201 self.updateModel(item.data, item.path) 202 203 self.model.reset() 204 205 def saveProject(self): 206 """ 207 Called when the "Save Project" menu item chosen. 208 """ 209 kwargs = { 210 'parent' : self, 211 'caption' : 'Save Project', 212 'filter' : 'Project (*.json)', 213 'options' : QtGui.QFileDialog.DontUseNativeDialog 214 } 215 filename = str(QtGui.QFileDialog.getSaveFileName(**kwargs)) 216 if filename: 217 self.communicator.statusBarUpdateSignal.emit("Saving Project... %s\n" % os.path.basename(filename)) 218 with open(filename, 'w') as outfile: 219 self.manager.save_to_writable(outfile) 166 220 167 221 def deleteFile(self, event): -
src/sas/qtgui/GuiManager.py
rf51ed67 r630155bd 111 111 """ 112 112 # Add FileDialog widget as docked 113 self.filesWidget = DataExplorerWindow(self._parent, self )113 self.filesWidget = DataExplorerWindow(self._parent, self, manager=self._data_manager) 114 114 115 115 self.dockedFilesWidget = QtGui.QDockWidget("Data Explorer", self._workspace) … … 391 391 def actionOpen_Project(self): 392 392 """ 393 """394 print("actionOpen_Project TRIGGERED")395 pass393 Menu Open Project 394 """ 395 self.filesWidget.loadProject() 396 396 397 397 def actionOpen_Analysis(self): … … 403 403 def actionSave(self): 404 404 """ 405 """406 print("actionSave TRIGGERED")407 pass405 Menu Save Project 406 """ 407 self.filesWidget.saveProject() 408 408 409 409 def actionSave_Analysis(self):
Note: See TracChangeset
for help on using the changeset viewer.