Exemplo n.º 1
0
 def __init__(self, screen, title, text):
     self.screen = screen
     self.g = GridForm(self.screen, title, 1, 2)
     self.s = Scale(70, 100)
     self.t = Textbox(70, 12, text)
     self.g.add(self.s, 0, 0)
     self.g.add(self.t, 0, 1, padding=(0, 1, 0, 0))
Exemplo n.º 2
0
    def __init__(self,
                 margin,
                 title,
                 message=None,
                 vendor_text=None,
                 args=None):
        self.debug_mode = args is not None and args.debug

        self.screen = SnackScreen()

        # set usual colors
        for i in colorsets["ROOT"], colorsets["ROOTTEXT"], colorsets[
                "HELPLINE"], colorsets["EMPTYSCALE"]:
            self.screen.setColor(i, "white", "blue") if not self.debug_mode else \
                self.screen.setColor(i, "brightgreen", "black")

        # remove silly default help text
        self.screen.popHelpLine()

        # write static messages
        self.screen.drawRootText((self.screen.width - len(message)) // 2, 4,
                                 message)
        self.screen.drawRootText(-len(vendor_text) - 2, -2, vendor_text)

        if self.debug_mode:
            # write some static debug information
            self.screen.drawRootText(1, 1, _("DEBUG MODE"))
            self.screen.drawRootText(
                2, 2, "screen {}×{}".format(self.screen.width,
                                            self.screen.height))
            self.screen.drawRootText(2, 3, "file {}".format(args.input))

        self.window_width = self.screen.width - margin * 2

        # assemble our progress bar
        self.scale = Scale(self.window_width, 100)
        self.spacer = Label("")
        self.taskbox = Textbox(self.window_width - 2, 1, "")
        self.messagebox = Textbox(self.window_width - 8, 1, " . . . ")

        self.grid = Grid(1, 4)
        self.grid.setField(self.scale, 0, 0)
        self.grid.setField(self.spacer, 0, 1)
        self.grid.setField(self.taskbox, 0, 2)
        self.grid.setField(self.messagebox, 0, 3)
        self.grid.place(1, 1)

        self.screen.gridWrappedWindow(self.grid, title)
        self.form = Form()
        self.form.add(self.scale)
        self.form.add(self.taskbox)
        self.form.add(self.messagebox)
        self.form.draw()
        self.screen.refresh()
Exemplo n.º 3
0
    def __init__(self, screen, title, item_count=0):
        self.screen = screen
        self.title = title
        self.current_item = 0
        self.item_count = item_count

        g = Grid(1, 2)
        self.fnm_label = Textbox(40, 2, 'Downloading...', 0, 0)
        self.scale = Scale(40, 100)
        self.scale.set(0)
        g.setField(self.fnm_label, 0, 1)
        g.setField(self.scale, 0, 0)
        self.screen.gridWrappedWindow(g, title)
        self.f = Form()
        self.f.add(self.scale)
        self.f.add(self.fnm_label)
Exemplo n.º 4
0
    def __init__(self, screen, title, text, total, updpct=0.05, pulse=False):
        self.multiplier = 1
        if total == 1.0:
            self.multiplier = 100
        self.screen = screen
        width = 55
        if (len(text) > width):
            width = len(text)

        t = TextboxReflowed(width, text)

        g = GridForm(self.screen, title, 1, 2)
        g.add(t, 0, 0, (0, 0, 0, 1), anchorLeft=1)

        self.scale = Scale(int(width), int(float(total) * self.multiplier))
        if not pulse:
            g.add(self.scale, 0, 1)

        g.draw()
        self.screen.refresh()