Mal wieder n kleines Ding:
| Galerie 140712 | |
|
|
|
Code:
class ProgressBar(ui.Window): __progress = None __barGreen = None __barRed = None __text = None __width = None __height = None __preText = None def __init__(self, width, height, preText = ""): ui.Window.__init__(self) self.__progress = 0.00 self.__width = width self.__height = height self.__preText = preText == "" and "" or preText + ": " self.__BuildGUI() def __BuildGUI(self): self.__barGreen = ui.Bar() self.__barGreen.SetParent(self) self.__barGreen.SetColor(grp.GenerateColor(0.0, 1.0, 0.0, 0.2)) self.__barGreen.Show() self.__barRed = ui.Bar() self.__barRed.SetParent(self) self.__barRed.SetColor(grp.GenerateColor(1.0, 0.0, 0.0, 0.2)) self.__barRed.Show() self.__text = ui.TextLine() self.__text.SetParent(self) self.__text.Show() self.SetSize(self.__width, self.__height) self.__UpdateGUI() def __UpdateGUI(self): self.__UpdateBar() self.__UpdateText() def __UpdateBar(self): widthGreen = self.__width * self.__progress / 100 widthRed = self.__width - widthGreen self.__barGreen.SetSize(widthGreen, self.__height) self.__barGreen.SetPosition(0, 0) self.__barRed.SetSize(widthRed , self.__height) self.__barRed.SetPosition(widthGreen, 0) def __UpdateText(self): self.__text.SetText(self.__preText + ((self.__progress < 10 and "0" or "") + str(self.__progress) + "00")[0:5] + "%") self.__text.SetPosition((self.__width / 2) - (self.__text.GetTextSize()[0] / 2), (self.__height / 2) - (self.__text.GetTextSize()[1] / 2)) def SetProgress(self, progress): self.__progress = float(progress) self.__UpdateGUI() def SetPreText(self, text): self.__preText = text + ": " self.__UpdateText() def SetSize(self, width, height): self.__width = width self.__height = height ui.Window.SetSize(self, width, height) self.__UpdateGUI()