示例#1
0
class PlotImage(Qwt.QwtPlotItem):
    def __init__(self, logger):
        Qwt.QwtPlotItem.__init__(self)
        self.canvasscaledspectrogram = CanvasScaledSpectrogram(logger)

    def addData(self, freq, xyzs, logfreqscale):
        self.canvasscaledspectrogram.setlogfreqscale(logfreqscale)
        self.canvasscaledspectrogram.addData(freq, xyzs)

    def draw(self, painter, xMap, yMap, rect):
        # update the spectrogram according to possibly new canvas dimensions
        self.canvasscaledspectrogram.setcanvas_height(rect.height())
        self.canvasscaledspectrogram.setcanvas_width(rect.width())

        pixmap = self.canvasscaledspectrogram.getpixmap()
        offset = self.canvasscaledspectrogram.getpixmapoffset()

        rolling = True
        if rolling:
            # draw the whole canvas with a selected portion of the pixmap
            painter.drawPixmap(rect.left(), rect.top(), pixmap, offset, 0, 0,
                               0)
        else:
            # draw one single line of the pixmap at a moving position
            painter.drawPixmap(rect.left() + offset, rect.top(), pixmap,
                               offset - 1, 0, 1, 0)

        #print painter
        #print xMap.p1(), xMap.p2(), xMap.s1(), xMap.s2()
        #print yMap.p1(), yMap.p2(), yMap.s1(), yMap.s2()
        #print rect

    def settimerange(self, timerange_seconds):
        self.canvasscaledspectrogram.setT(timerange_seconds)

    def setfreqrange(self, minfreq, maxfreq):
        self.canvasscaledspectrogram.setfreqrange(minfreq, maxfreq)

    def erase(self):
        self.canvasscaledspectrogram.erase()
示例#2
0
class PlotImage(Qwt.QwtPlotItem):
	def __init__(self, logger):
		Qwt.QwtPlotItem.__init__(self)
		self.canvasscaledspectrogram = CanvasScaledSpectrogram(logger)

	def addData(self, freq, xyzs, logfreqscale):
		self.canvasscaledspectrogram.setlogfreqscale(logfreqscale)
		self.canvasscaledspectrogram.addData(freq, xyzs)

	def draw(self, painter, xMap, yMap, rect):
		# update the spectrogram according to possibly new canvas dimensions
		self.canvasscaledspectrogram.setcanvas_height(rect.height())
		self.canvasscaledspectrogram.setcanvas_width(rect.width())

		pixmap = self.canvasscaledspectrogram.getpixmap()
		offset = self.canvasscaledspectrogram.getpixmapoffset()
		
		rolling = True
		if rolling:
			# draw the whole canvas with a selected portion of the pixmap
			painter.drawPixmap(rect.left(), rect.top(), pixmap,  offset,  0,  0,  0)
		else:
			# draw one single line of the pixmap at a moving position
			painter.drawPixmap(rect.left() + offset, rect.top(), pixmap,  offset-1,  0,  1,  0)
		
		#print painter
		#print xMap.p1(), xMap.p2(), xMap.s1(), xMap.s2()
		#print yMap.p1(), yMap.p2(), yMap.s1(), yMap.s2()
		#print rect

	def settimerange(self, timerange_seconds):
		self.canvasscaledspectrogram.setT(timerange_seconds)

	def setfreqrange(self, minfreq, maxfreq):
		self.canvasscaledspectrogram.setfreqrange(minfreq, maxfreq)

	def erase(self):
		self.canvasscaledspectrogram.erase()