From a94f85f169ef00d552d3fa4e2706fd8ccbf4c708 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Wed, 7 Dec 2005 15:11:02 +0000 Subject: introduce the movingPixmap and use it to position the arrow in the start-wizard (but with some redrawing-problems :)) --- lib/python/Components/Pixmap.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'lib/python/Components') diff --git a/lib/python/Components/Pixmap.py b/lib/python/Components/Pixmap.py index 5f4b9691..fc7bfe27 100644 --- a/lib/python/Components/Pixmap.py +++ b/lib/python/Components/Pixmap.py @@ -25,3 +25,36 @@ class PixmapConditional(ConditionalWidget, Pixmap): ConditionalWidget.__init__(self) Pixmap.__init__(self) +class MovingPixmap(Pixmap): + def __init__(self): + Pixmap.__init__(self) + + self.moving = False + + # TODO: get real values + self.x = 0.0 + self.y = 0.0 + + self.moveTimer = eTimer() + self.moveTimer.timeout.get().append(self.doMove) + + def moveTo(self, x, y, time = 20): + self.time = time + self.destX = x + self.destY = y + self.stepX = (self.destX - self.x) / float(time) + self.stepY = (self.destY - self.y) / float(time) + + def startMoving(self): + if not self.moving: + self.moving = True + self.moveTimer.start(10) + + def doMove(self): + self.x += self.stepX + self.y += self.stepY + self.time -= 1 + self.move(int(self.x), int(self.y)) + if (self.time == 0): + self.moveTimer.stop() + self.moving = False \ No newline at end of file -- cgit v1.2.3