def __init__(self, parent=None):
     '''
     Constructor
     '''
     super(PlateManagerWidget, self).__init__(parent)
     self.plateManager = PlateManager(self)
     self.plateManager.signalPlateListUpdated.connect(self.updatePlateList)
     layout = QtGui.QVBoxLayout()
     self.plateListWidget = QtGui.QListWidget()
     self.plateListWidget.setEnabled(False)
     self.plateListWidget.currentRowChanged.connect(
         self.plateManager.setCurrentPlate)
     self.plateListWidget.currentRowChanged.connect(
         self.plateSelectionChange)
     self.plateManager.signalCurrentIndexChanged.connect(
         self.plateListWidget.setCurrentRow)
     layout.addWidget(self.plateListWidget)
     self.setLayout(layout)
     # Actions
     openPlateAction = createAction(self, 'Open plate(s)...',
                                    QtGui.QKeySequence.Open,
                                    'document-open', '')
     openPlateAction.triggered.connect(self.openPlate)
     savePlateAction = createAction(self, 'Save plate',
                                    QtGui.QKeySequence.Save,
                                    'document-save', '')
     savePlateAction.triggered.connect(self.plateManager.savePlate)
     savePlateAsAction = createAction(self, 'Save plate As...',
                                      QtGui.QKeySequence.SaveAs,
                                      'document-save-as', '')
     savePlateAsAction.triggered.connect(self.savePlateAs)
     saveAllPlatesAction = createAction(self, 'Save All plates', '',
                                        'document-save-all', '')
     saveAllPlatesAction.triggered.connect(self.plateManager.saveAllPlates)
     closePlateAction = createAction(self, 'Close plate',
                                     QtGui.QKeySequence.Close,
                                     'dialog-close', '')
     closePlateAction.triggered.connect(self.closePlate)
     self.actions = (openPlateAction, None, savePlateAction,
                     savePlateAsAction, saveAllPlatesAction, None,
                     closePlateAction, None)
     self.saveActions = (savePlateAction, savePlateAsAction,
                         saveAllPlatesAction, closePlateAction)
     self.lastDirectory = '.'
     self.plateSelectionChange(-1)
 def __init__(self, parent=None):
     '''
     Constructor
     '''
     super(MainWindow, self).__init__(parent)
     self.setObjectName("esMainWindow") 
     self.setWindowTitle(applicationName+' '+str(applicationVersion))
     self.plateWidget=PlateWidget()
     #
     mainWindow=QtGui.QWidget()
     layout = QtGui.QGridLayout()
     typeLabel = QtGui.QLabel('Approximation type:')
     layout.addWidget(typeLabel,0,0)
     self.typeComboBox = QtGui.QComboBox()
     self.typeComboBox.addItems([approximation.name for approximation in approximations])
     
     layout.addWidget(self.typeComboBox,0,1)
     layout.addWidget(self.plateWidget,1,0,1,2)
     mainWindow.setLayout(layout)
     
     
     self.setCentralWidget(mainWindow)
     #
     self.plateManagerWidget = PlateManagerWidget(self)
     plateManagerPanel = QtGui.QDockWidget('Plates', self)
     plateManagerPanel.setObjectName('plateManagerPanel')
     plateManagerPanel.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea)
     plateManagerPanel.setFeatures(QtGui.QDockWidget.DockWidgetMovable | QtGui.QDockWidget.DockWidgetFloatable)
     self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, plateManagerPanel) 
     plateManagerPanel.setWidget(self.plateManagerWidget)
     self.plateManagerWidget.plateManager.signalCurrentPlateSet.connect(self.plateWidget.setPlate)
     self.typeComboBox.currentIndexChanged.connect(self.plateManagerWidget.plateManager.setApproximation)
     self.plateManagerWidget.plateManager.signalApproximationSelected.connect(self.typeComboBox.setCurrentIndex)
     # Menu
     
     projectMenu = self.menuBar().addMenu("&File")
     addActions(projectMenu, self.plateManagerWidget.actions)
     quitAction = createAction(self,'Exit...', QtGui.QKeySequence.Quit, 
                                       'application-exit', 'Exit program')
     projectMenu.addAction(quitAction)
     quitAction.triggered.connect(self.close) 
     
     plateMenu = self.menuBar().addMenu('&Plate')
     addActions(plateMenu, self.plateWidget.actions)
     referenceMenu = self.menuBar().addMenu('&Reference')
     addActions(referenceMenu, self.plateWidget.referenceActions)
     # Restore window settings
     settings = QtCore.QSettings()
     self.restoreGeometry(settings.value('esMainWindow/Geometry').toByteArray())
     self.restoreState(settings.value('esMainWindow/State').toByteArray())
     self.plateManagerWidget.lastDirectory = settings.value('lastDirectory').toString()
     self.plateWidget.lastDirectory = settings.value('referenceLastDirectory').toString()
     index, isOK = settings.value('defaultApproximationIndex').toInt()
     if isOK :
         self.typeComboBox.setCurrentIndex(index)
 def __init__(self, parent=None):
     '''
     Constructor
     '''
     super(PlateManagerWidget, self).__init__(parent)
     self.plateManager = PlateManager(self)
     self.plateManager.signalPlateListUpdated.connect(self.updatePlateList)
     layout = QtGui.QVBoxLayout()
     self.plateListWidget = QtGui.QListWidget()
     self.plateListWidget.setEnabled(False)
     self.plateListWidget.currentRowChanged.connect(self.plateManager.setCurrentPlate)
     self.plateListWidget.currentRowChanged.connect(self.plateSelectionChange)
     self.plateManager.signalCurrentIndexChanged.connect(self.plateListWidget.setCurrentRow)
     layout.addWidget(self.plateListWidget)
     self.setLayout(layout)
     # Actions
     openPlateAction = createAction(self, 'Open plate(s)...', QtGui.QKeySequence.Open,
                                       'document-open', '')
     openPlateAction.triggered.connect(self.openPlate)
     savePlateAction = createAction(self, 'Save plate', QtGui.QKeySequence.Save,
                                       'document-save', '')
     savePlateAction.triggered.connect(self.plateManager.savePlate)
     savePlateAsAction = createAction(self, 'Save plate As...', QtGui.QKeySequence.SaveAs,
                                       'document-save-as', '')
     savePlateAsAction.triggered.connect(self.savePlateAs)
     saveAllPlatesAction = createAction(self, 'Save All plates', '',
                                       'document-save-all', '')
     saveAllPlatesAction.triggered.connect(self.plateManager.saveAllPlates)
     closePlateAction = createAction(self, 'Close plate', QtGui.QKeySequence.Close,
                                       'dialog-close', '')
     closePlateAction.triggered.connect(self.closePlate)
     self.actions = (openPlateAction, None, savePlateAction, savePlateAsAction,
                     saveAllPlatesAction, None, closePlateAction, None)
     self.saveActions = (savePlateAction, savePlateAsAction,
                     saveAllPlatesAction, closePlateAction)
     self.lastDirectory = '.'
     self.plateSelectionChange(-1)
    def __init__(self, parent=None):
        '''
        Constructor
        '''
        super(PlateWidget, self).__init__(Plate.plateSizeRows,
                                          Plate.plateSizeColumns, parent)
        self.plate = None
        self.lastDirectory = '.'
        self.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
        self.horizontalHeader().setResizeMode(QtGui.QHeaderView.Stretch)
        header = self.verticalHeader()
        header.setClickable(True)
        #header.sectionClicked.connect(self.chamberSelectionChanged)
        header.setResizeMode(QtGui.QHeaderView.Stretch)
        self.setVerticalHeaderLabels(ascii_uppercase[:self.columnCount()])
        self.itemDoubleClicked.connect(self.editWell)
        self.fitCoefficientsAction = createAction(self, "Fit Coefficients", '',
                                                  "accessories-calculator", "")
        self.fitCoefficientsAction.triggered.connect(self.fitCoefficients)
        self.calculateConcentrationsAction = createAction(
            self, "Calculate Concentrations", '', "run-build-install", "")
        self.calculateConcentrationsAction.triggered.connect(
            self.calculateConcentrations)
        setWellTypeAction = createAction(self, "Set well(s) type...", '',
                                         "story-editor", "")
        setWellTypeAction.triggered.connect(self.editMultipleWels)

        #
        openReferenceAction = createAction(self, 'Open reference...', '',
                                           'document-open', '')
        openReferenceAction.triggered.connect(self.openReference)
        saveReferenceAction = createAction(self, 'Save reference...', '',
                                           'document-save', '')
        saveReferenceAction.triggered.connect(self.saveReference)
        applyToAllAction = createAction(self, 'Apply to all', '', 'edit-copy',
                                        '')
        applyToAllAction.triggered.connect(self.applyToAll)
        #
        self.actions = (self.fitCoefficientsAction,
                        self.calculateConcentrationsAction, setWellTypeAction)
        self.referenceActions = (openReferenceAction, saveReferenceAction,
                                 applyToAllAction)
        self.addAction(setWellTypeAction)
        self.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
        self.setPlate(None)
        self.plot = None
 def __init__(self, parent=None):
     '''
     Constructor
     '''
     super(PlateWidget, self).__init__(Plate.plateSizeRows, Plate.plateSizeColumns, parent)
     self.plate=None
     self.lastDirectory = '.'
     self.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers);
     self.horizontalHeader().setResizeMode(QtGui.QHeaderView.Stretch)
     header = self.verticalHeader()
     header.setClickable(True)
     #header.sectionClicked.connect(self.chamberSelectionChanged)
     header.setResizeMode(QtGui.QHeaderView.Stretch)
     self.setVerticalHeaderLabels(ascii_uppercase[:self.columnCount()])
     self.itemDoubleClicked.connect(self.editWell)
     self.fitCoefficientsAction = createAction(self,"Fit Coefficients", '', 
                                       "accessories-calculator", "")
     self.fitCoefficientsAction.triggered.connect(self.fitCoefficients)
     self.calculateConcentrationsAction = createAction(self,"Calculate Concentrations", '', 
                                       "run-build-install", "")
     self.calculateConcentrationsAction.triggered.connect(self.calculateConcentrations)
     setWellTypeAction = createAction(self,"Set well(s) type...", '', 
                                       "story-editor", "")
     setWellTypeAction.triggered.connect(self.editMultipleWels)
     
     #
     openReferenceAction = createAction(self, 'Open reference...', '',
                                       'document-open', '')
     openReferenceAction.triggered.connect(self.openReference)
     saveReferenceAction = createAction(self, 'Save reference...', '',
                                       'document-save', '')
     saveReferenceAction.triggered.connect(self.saveReference)
     applyToAllAction = createAction(self, 'Apply to all', '',
                                       'edit-copy', '')
     applyToAllAction.triggered.connect(self.applyToAll)
     #
     self.actions=(self.fitCoefficientsAction,self.calculateConcentrationsAction, 
                   setWellTypeAction)
     self.referenceActions=(openReferenceAction,saveReferenceAction,applyToAllAction)
     self.addAction(setWellTypeAction)
     self.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
     self.setPlate(None)
     self.plot = None
Example #6
0
    def __init__(self, parent=None):
        '''
        Constructor
        '''
        super(MainWindow, self).__init__(parent)
        self.setObjectName("esMainWindow")
        self.setWindowTitle(applicationName + ' ' + str(applicationVersion))
        self.plateWidget = PlateWidget()
        #
        mainWindow = QtGui.QWidget()
        layout = QtGui.QGridLayout()
        typeLabel = QtGui.QLabel('Approximation type:')
        layout.addWidget(typeLabel, 0, 0)
        self.typeComboBox = QtGui.QComboBox()
        self.typeComboBox.addItems(
            [approximation.name for approximation in approximations])

        layout.addWidget(self.typeComboBox, 0, 1)
        layout.addWidget(self.plateWidget, 1, 0, 1, 2)
        mainWindow.setLayout(layout)

        self.setCentralWidget(mainWindow)
        #
        self.plateManagerWidget = PlateManagerWidget(self)
        plateManagerPanel = QtGui.QDockWidget('Plates', self)
        plateManagerPanel.setObjectName('plateManagerPanel')
        plateManagerPanel.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea)
        plateManagerPanel.setFeatures(QtGui.QDockWidget.DockWidgetMovable
                                      | QtGui.QDockWidget.DockWidgetFloatable)
        self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, plateManagerPanel)
        plateManagerPanel.setWidget(self.plateManagerWidget)
        self.plateManagerWidget.plateManager.signalCurrentPlateSet.connect(
            self.plateWidget.setPlate)
        self.typeComboBox.currentIndexChanged.connect(
            self.plateManagerWidget.plateManager.setApproximation)
        self.plateManagerWidget.plateManager.signalApproximationSelected.connect(
            self.typeComboBox.setCurrentIndex)
        # Menu

        projectMenu = self.menuBar().addMenu("&File")
        addActions(projectMenu, self.plateManagerWidget.actions)
        quitAction = createAction(self, 'Exit...', QtGui.QKeySequence.Quit,
                                  'application-exit', 'Exit program')
        projectMenu.addAction(quitAction)
        quitAction.triggered.connect(self.close)

        plateMenu = self.menuBar().addMenu('&Plate')
        addActions(plateMenu, self.plateWidget.actions)
        referenceMenu = self.menuBar().addMenu('&Reference')
        addActions(referenceMenu, self.plateWidget.referenceActions)
        # Restore window settings
        settings = QtCore.QSettings()
        self.restoreGeometry(
            settings.value('esMainWindow/Geometry').toByteArray())
        self.restoreState(settings.value('esMainWindow/State').toByteArray())
        self.plateManagerWidget.lastDirectory = settings.value(
            'lastDirectory').toString()
        self.plateWidget.lastDirectory = settings.value(
            'referenceLastDirectory').toString()
        index, isOK = settings.value('defaultApproximationIndex').toInt()
        if isOK:
            self.typeComboBox.setCurrentIndex(index)