Changeset 1042dba in sasview for src/sas/qtgui/DataExplorer.py


Ignore:
Timestamp:
Jun 17, 2016 9:56:01 AM (8 years ago)
Author:
Piotr Rozyczko <piotr.rozyczko@…>
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:
9e426c1
Parents:
a281ab8
Message:

Plottables support in the data object. Additional menu items.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/DataExplorer.py

    ra281ab8 r1042dba  
    1111# SAS 
    1212from GuiUtils import * 
     13from Plotter import Plotter 
    1314from sas.sascalc.dataloader.loader import Loader 
    1415from sas.sasgui.guiframe.data_manager import DataManager 
     
    4142        self.cmdDelete.clicked.connect(self.deleteFile) 
    4243        self.cmdSendTo.clicked.connect(self.sendData) 
     44        self.cmdNew.clicked.connect(self.newPlot) 
    4345 
    4446        # Connect the comboboxes 
     
    5456        # The Data viewer is QTreeView showing the proxy model 
    5557        self.treeView.setModel(self.proxy) 
     58 
     59        # Debug view on the model 
     60        self.listView.setModel(self.model) 
    5661 
    5762 
     
    163168        self._perspective.setData(data_item=data) 
    164169 
     170    def newPlot(self): 
     171        """ 
     172        Create a new matplotlib chart from selected data 
     173        """ 
     174 
     175        plots = plotsFromCheckedItems(self.model) 
     176 
     177        # Call show on requested plots 
     178        new_plot = Plotter() 
     179        for plot_set in plots: 
     180            new_plot.data(plot_set) 
     181            new_plot.plot() 
     182 
     183        new_plot.show() 
    165184 
    166185    def chooseFiles(self): 
     
    415434 
    416435        # Add "Info" item 
    417         info_item = QtGui.QStandardItem("Info") 
     436        # info_item = QtGui.QStandardItem("Info") 
    418437 
    419438        # Add the actual Data1D/Data2D object 
     
    424443 
    425444        # Add rows for display in the view 
    426         self.addExtraRows(info_item, data) 
     445        # self.addExtraRows(info_item, data) 
     446        info_item = infoFromData(data) 
    427447 
    428448        # Set info_item as the only child 
     
    444464            msg = "Wrong data type returned from calculations." 
    445465            raise AttributeError, msg 
    446         # Assert other properties 
    447  
    448         # Remove the original item         
    449  
    450         # Add the current item 
    451         # self.model.insertRow(model_item) 
     466 
     467        # TODO: Assert other properties 
    452468 
    453469        # Reset the view 
    454470        self.model.reset() 
     471 
    455472        # Pass acting as a debugger anchor 
    456473        pass 
    457  
    458     def addExtraRows(self, info_item, data): 
    459         """ 
    460         Extract relevant data to include in the Info ModelItem 
    461         """ 
    462         title_item   = QtGui.QStandardItem("Title: "      + data.title) 
    463         run_item     = QtGui.QStandardItem("Run: "        + str(data.run)) 
    464         type_item    = QtGui.QStandardItem("Type: "       + str(data.__class__.__name__)) 
    465         path_item    = QtGui.QStandardItem("Path: "       + data.path) 
    466         instr_item   = QtGui.QStandardItem("Instrument: " + data.instrument) 
    467         process_item = QtGui.QStandardItem("Process") 
    468         if isinstance(data.process, list) and data.process: 
    469             for process in data.process: 
    470                 process_date = process.date 
    471                 process_date_item = QtGui.QStandardItem("Date: " + process_date) 
    472                 process_item.appendRow(process_date_item) 
    473  
    474                 process_descr = process.description 
    475                 process_descr_item = QtGui.QStandardItem("Description: " + process_descr) 
    476                 process_item.appendRow(process_descr_item) 
    477  
    478                 process_name = process.name 
    479                 process_name_item = QtGui.QStandardItem("Name: " + process_name) 
    480                 process_item.appendRow(process_name_item) 
    481  
    482         info_item.appendRow(title_item) 
    483         info_item.appendRow(run_item) 
    484         info_item.appendRow(type_item) 
    485         info_item.appendRow(path_item) 
    486         info_item.appendRow(instr_item) 
    487         info_item.appendRow(process_item) 
    488474        
    489475 
Note: See TracChangeset for help on using the changeset viewer.