예제 #1
0
 def findPoints(self):
     try:
         points, key, color, axis = DataActions.findPoints(
             self.compositeDataWrapper)
         self.compositeDataWrapper.add_points(points, key)
         self.plotTabWidget.currentWidget(
         ).vCollection.points[key].setSettings(color, axis)
     except ActionCancelledError:
         pass
예제 #2
0
 def importPoints(self):
     try:
         setOfPoints = DataActions.loadPoints(
             self.compositeDataWrapper.points.keys())
         for pointsTuple in setOfPoints:
             points, key, color, axis = pointsTuple
             self.compositeDataWrapper.add_points(points, key)
             self.plotTabWidget.currentWidget(
             ).vCollection.points[key].setSettings(color, axis)
     except ActionCancelledError:
         pass
예제 #3
0
 def importWave(self):
     try:
         setOfWaves = DataActions.loadWave(
             self.compositeDataWrapper.waves.keys())
         for waveTuple in setOfWaves:
             wave, key, color, axis = waveTuple
             self.compositeDataWrapper.add_wave(wave, key)
             self.plotTabWidget.currentWidget(
             ).vCollection.waves[key].setSettings(color, axis)
     except ActionCancelledError:
         pass
예제 #4
0
 def executeMacros(self, macroName):
     try:
         setOfPoints, setOfWaves = DataActions.executeMacro(
             self.compositeDataWrapper, macroName)
         for i in range(len(setOfPoints)):
             self.compositeDataWrapper.add_points(setOfPoints[i][0],
                                                  setOfPoints[i][1])
             self.plotTabWidget.currentWidget().vCollection.points[
                 setOfPoints[i][1]].setSettings(setOfPoints[i][2],
                                                setOfPoints[i][3])
         for i in range(len(setOfWaves)):
             self.compositeDataWrapper.add_wave(setOfWaves[i][0],
                                                setOfWaves[i][1])
             self.plotTabWidget.currentWidget().vCollection.waves[
                 setOfWaves[i][1]].setSettings(setOfWaves[i][2],
                                               setOfWaves[i][3])
     except:
         QW.QMessageBox.warning(self, "Unhandled macro error",
                                traceback.format_exc())
예제 #5
0
    def importModelflow(self):
        try:
            modelflowPoints, modelflowData = DataActions.loadModelflow(
                self.compositeDataWrapper)

            for i in range(len(modelflowPoints)):
                wave = modelflowPoints[i]
                key = modelflowData[i]
                color = DefaultColors.getColor(key)
                axis = -1
                try:
                    self.compositeDataWrapper.add_points(wave, key)
                except ValueError:
                    QW.QMessageBox.warning(self, "Error",
                                           ("Key " + key + " already taken. "
                                            "Cannot import."))
                    raise ActionCancelledError
                self.plotTabWidget.currentWidget(
                ).vCollection.points[key].setSettings(color, axis)
        except ActionCancelledError:
            pass
예제 #6
0
    def contextMenuEvent(self, event):
        #TODO: Hacks
        self.menu = QW.QMenu(self)
        row = []
        items = [
            self.itemWidget(self.item(index)) for index in range(self.count())
        ]  #TODO: hack
        for i in self.selectionModel().selection().indexes():
            row, column = i.row(), i.column()
        allNames = [item.typeLabel.text() for item in items]
        metaFunction = _generateFunction(self.metaFunction, items[row].vObject,
                                         items[row].typeLabel.text(), allNames)

        renameAction = QW.QAction('Change metadata', self)
        renameAction.triggered.connect(metaFunction)
        self.menu.addAction(renameAction)

        saveAction = QW.QAction('Save data', self)
        saveAction.triggered.connect(lambda: DataActions.saveData(
            items[row].vObject.data, items[row].typeLabel.text()))
        self.menu.addAction(saveAction)

        self.menu.popup(QtGui.QCursor.pos())
예제 #7
0
 def modifyWave(self):
     try:
         DataActions.modifyWave(self.compositeDataWrapper)
     except ActionCancelledError:
         pass
예제 #8
0
 def loadCompositeData(self):
     try:
         compData = DataActions.loadCompositeData()
         self.compositeDataWrapper.replace(compData)
     except ActionCancelledError:
         pass
예제 #9
0
 def saveCompositeData(self):
     try:
         DataActions.saveCompositeData(self.compositeDataWrapper)
     except ActionCancelledError:
         pass