Ejemplo n.º 1
0
    def render(self, renderer):
        if not self.visible():
            return 1 if not self.hidden() else 0

        valid_value = self.is_valid()
        required = False if self.inp is None else self.inp.required

        line = Line()

        checked_str = "  " if valid_value else "  "
        required_str = "* " if required else "  "
        name_str = "{}: ".format(self.name)
        name_color = Colors.EDITING_VALUE if self.is_focused() else (Colors.VALID_VALUE if valid_value else Colors.INVALID_VALUE)

        checked_obj = LineObject(checked_str, 0, {'color': Colors.ERROR})
        required_obj = LineObject(required_str, len(checked_obj), {'color': Colors.IMPORTANT})
        name_obj = LineObject(name_str, len(required_obj), {'color': name_color, 'bold': self.is_focused()})

        line.add(checked_obj)
        line.add(required_obj)
        line.add(name_obj)
        line.render(renderer)

        input_renderer = Renderer(0, -(len(name_obj)), 0, len(name_obj), renderer)

        if self.inp is not None:
            self.inp.render(input_renderer)

        return 1
Ejemplo n.º 2
0
    def render(self, renderer):
        height = len(self.options.keys()) + 2
        r2 = Renderer(height, 0,
                      renderer.end_y - renderer.begin_y - height + 1, 0,
                      renderer)
        #r2.render()
        pos_y = 0
        for key in self.options.keys():
            if key == 'b':
                #quit should be the last option
                continue

            pos_y = self.render_option(key, pos_y, r2)

        pos_y = self.render_option('b', height - 3, r2)

        r2.addstr(height - 1, 0, "Choose your option: ")
Ejemplo n.º 3
0
    def render(self):
        cur_time = time.time()
        if not self.force_next_render and (
                self.last_render is not None and
            (cur_time - self.last_render) < self.update_frequency):
            return

        self.force_next_render = False
        Renderer.reset_cursor()
        self.win.clear()

        for w in self.windows:
            w.set_active(w == self.windows[-1])
            w.render()

        self.refresh()

        self.last_render = time.time()
Ejemplo n.º 4
0
    def render(self, renderer=None):
        super().render()

        scrollbar_renderer = Renderer(-1, 1, 0, self.window.width, self.window)
        self.scroll_bar.render(scrollbar_renderer)

        def renderer_provider(index, pos_y, cursor, item):
            if pos_y is None:
                pos_y = 0

            return pos_y, Renderer(1, -2, pos_y, 1,
                                   self.window.internal_renderer)

        self.cursor.render(renderer_provider)

        return 0
Ejemplo n.º 5
0
        def renderer_provider(index, pos_y, cursor, item):
            if pos_y is None:
                pos_y = 0

            return pos_y, Renderer(1, -1, pos_y, 0, self.window)
Ejemplo n.º 6
0
 def renderer_provider(index, pos_y, cursor, item):
     return sizes[index], Renderer(1, sizes[index], 0, positions[index],
                                   renderer)
Ejemplo n.º 7
0
 def renderer_provider(index, pos_y, cursor, item):
     padding = 17
     if pos_y is None:
         pos_y = 0
     return pos_y, Renderer(1, -padding - 2, 1, padding,
                            self.window.internal_renderer)
Ejemplo n.º 8
0
 def renderer_provider(index, pos_y, cursor, item):
     width = self.get_width(index, renderer.width)
     padding = self.get_padding(index, renderer.width)
     return 0, Renderer(0, width, 0, padding, renderer)
Ejemplo n.º 9
0
        def renderer_provider(index, pos_y, cursor, item):
            if pos_y is None:
                pos_y = 0

            return pos_y, Renderer(1, -2, pos_y, 1,
                                   self.window.internal_renderer)
Ejemplo n.º 10
0
        def renderer_provider(index, pos_y, cursor, item):
            if pos_y is None:
                pos_y = 0

            return pos_y, Renderer(1, 0, pos_y, 0, renderer)