def on_actionChangeCurveStyle_triggered(self): """ Signal handler called to edit a curve. @return None """ pos = self.sender().data().toPoint() index = self.controlsTree.indexAt(pos) if index.isValid(): item = self.controlsTreeModel.itemFromIndex(index) indexZero = self.controlsTreeModel.sibling(index.row(), 0, index) first = self.controlsTreeModel.itemFromIndex(indexZero) try: curve = first.curve color = first.color except (AttributeError, ): return else: item = first if not curve.settingsLoaded: self.loadCurve(self.itemName(item), curve) cplot = curve.plot() if cplot is None: curve.attach(self.plot) dlg = PlotItemDialog(curve, self) if dlg.exec_() == dlg.Accepted: dlg.applyToCurve(curve) item.setColor(curve.pen().color()) self.saveCurve(self.itemName(item), curve) self.enableCurve(item, enable=item.checkState()==Qt.Checked) if cplot is None: curve.detach()
def on_actionChangeCurveStyle_triggered(self): """ Signal handler called to edit a curve. @return None """ pos = self.sender().data().toPoint() index = self.controlsTree.indexAt(pos) if index.isValid(): item = self.controlsTreeModel.itemFromIndex(index) indexZero = self.controlsTreeModel.sibling(index.row(), 0, index) first = self.controlsTreeModel.itemFromIndex(indexZero) try: curve = first.curve color = first.color except (AttributeError, ): return else: item = first if not curve.settingsLoaded: self.loadCurve(self.itemName(item), curve) cplot = curve.plot() if cplot is None: curve.attach(self.plot) dlg = PlotItemDialog(curve, self) if dlg.exec_() == dlg.Accepted: dlg.applyToCurve(curve) item.setColor(curve.pen().color()) self.saveCurve(self.itemName(item), curve) self.enableCurve(item, enable=item.checkState() == Qt.Checked) if cplot is None: curve.detach()
def changePen(getr, setr, parent): """ Allow the user to change a pen with a PlotItemDialog. @param getr callable that returns current pen @param setr callable to set selected pen if dialog is accepted @param parent ancestor of dialog @return new pen if dialog is accepted, otherwise None """ oldpen = getr() dlg = PlotItemDialog(oldpen, parent) if dlg.exec_() == dlg.Accepted: newpen = QPen(dlg.selectedPen) setr(newpen) return newpen
def on_actionChangeDataMarker_triggered(self): """ Signal handler called to edit data marker. @return None """ pos = self.sender().data().toPoint() index = self.controlsTree.indexAt(pos) if index.isValid(): item = self.controlsTreeModel.itemFromIndex(index) curve = item.curve if not curve.settingsLoaded: self.loadCurve(self.itemName(item), curve) cplot = curve.plot() if cplot is None: curve.attach(self.plot) dlg = PlotItemDialog(curve, marker=curve.dataMarker, parent=self) if dlg.exec_() == dlg.Accepted: dlg.applyToMarker(curve.dataMarker) self.saveMarker(self.itemName(item), curve.dataMarker) for marker in self.highlightMarkers: marker.restyleFrom(curve.dataMarker) self.plot.replot() if cplot is None: curve.detach()