From 6eb30b09566a53ef510532f2a1705d7fc22985a8 Mon Sep 17 00:00:00 2001 From: Tony Anderson Date: Mon, 22 Jun 2009 14:04:24 +0000 Subject: initial commit --- (limited to 'pgu/gui/misc.py') diff --git a/pgu/gui/misc.py b/pgu/gui/misc.py new file mode 100644 index 0000000..afb10c5 --- /dev/null +++ b/pgu/gui/misc.py @@ -0,0 +1,43 @@ +from const import * +import widget +import pguglobals + +class ProgressBar(widget.Widget): + """A progress bar. + +
ProgressBar(value,min,max)
+ +
+
value
starting value +
min
minimum value rendered on the screen (usually 0) +
max
maximum value +
+ + Example + + w = gui.ProgressBar(0,0,100) + w.value = 25 + + """ + + def __init__(self,value,min,max,**params): + params.setdefault('cls','progressbar') + widget.Widget.__init__(self,**params) + self.min,self.max,self.value = min,max,value + + def paint(self,s): + r = pygame.rect.Rect(0,0,self.rect.w,self.rect.h) + r.w = r.w*(self.value-self.min)/(self.max-self.min) + self.bar = r + pguglobals.app.theme.render(s,self.style.bar,r) + + def __setattr__(self,k,v): + if k == 'value': + v = int(v) + v = max(v,self.min) + v = min(v,self.max) + _v = self.__dict__.get(k,NOATTR) + self.__dict__[k]=v + if k == 'value' and _v != NOATTR and _v != v: + self.send(CHANGE) + self.repaint() -- cgit v0.9.1