def saveToFile(self): pixmap = self.grab() filename = scope.window.getSaveFile("Images (*.png *.jpg)") if filename == None: return result = pixmap.save(filename) if result: scope.log("Render saved successfully to " + filename) else: scope.log("Render save failec to " + filename)
def rescale(self, oldscale=1): if self._scale == oldscale: # If scaling is not needed don't do it return scope.log("scaled serie " + str(self.property("number")) + " by " + str(self._scale)) scaledData = self.pointsVector() for point in scaledData: # The division is to set the scale to exactly the newscale instead of scalin an already scaled line point.setY(point.y()/oldscale * self._scale) self.replace(scaledData)
def export(self, filename, useRange, exportSeries=None): if useRange: startRange, endRange = scope.chart.getZoomRange() scope.log("Export " + str(startRange) + " : " + str(endRange)) if startRange == None or endRange == None: useRange = False else: exportData = [self._XData[startRange:endRange]] if not useRange: exportData = [self._XData] exportHeaders = [self._xColumnName] if exportSeries == None: exportHeaders += self._columnNames if useRange: exportData += [ serie[startRange:endRange] for serie in self._YData ] else: exportData += self._YData else: for i in exportSeries: exportHeaders.append(self._columnNames[i]) if useRange: exportData.append(self._YData[i][startRange:endRange]) else: exportData.append(self._YData[i]) pandasObject = DataFrame(list(zip(*exportData))) filename = open(filename, "w") filename.write("Reading exported from Alames " + QApplication.applicationVersion() + ";\n") pandasObject.to_csv(filename, sep=getattr(scope.settings, "ExportCSVDelimiter", ";"), header=exportHeaders, index=False, line_terminator=getattr(scope.settings, "ExportCSVLineTerminator", ";\n"))
def test(): scope.log(getattr(scope.settings, "Debug", True))
def show(self): if self.property("number") != None and not len(self.pointsVector()): self.needsData.emit(self.property("number")) scope.log("loaded in show(): %d" % self.property("number")) super(ChartLineSeries, self).show()
def setVisible(self, state): if self.property("number") != None and state == True and not len(self.pointsVector()): self.needsData.emit(self.property("number")) scope.log("loaded in setVisible(True): %d" % self.property("number")) super(ChartLineSeries, self).setVisible(state)
def dragEnterEvent(self, event): super(Window, self).dragEnterEvent(event) fileType = ".".join(event.mimeData().text().lower().split(".")[-2:]) scope.log("File of type '" + str(fileType) + "' dragged over window") if fileType == "csv" or fileType == "csv.xz": event.acceptProposedAction()