Ejemplo n.º 1
0
 def test_menu_items_ascii_margins_and_padding(self):
     print_screen_edge()
     sect = MenuItemsSection(MenuStyle(margins=MenuMargins(2, 8, 2, 8),
                                       padding=MenuPadding(1, 8, 1, 8)),
                             items=self.small_list)
     for line in sect.generate():
         print(line)
Ejemplo n.º 2
0
 def test_menu_header_light_padding_t3_l4_b3_r4(self):
     print_screen_edge()
     header = MenuHeader(MenuStyle(padding=MenuPadding(3, 4, 3, 4),
                                   border_style=LightBorderStyle()),
                         title="My Title")
     for line in header.generate():
         print(line)
Ejemplo n.º 3
0
 def test_menu_prologue_unicodelight_long_text_big_padding(self):
     print_screen_edge()
     pro = MenuTextSection(MenuStyle(padding=MenuPadding(2, 8, 2, 8),
                                     border_style=LightBorderStyle()),
                           text=self.long_text)
     for line in pro.generate():
         print(line)
Ejemplo n.º 4
0
    def __init__(self,
                 margins=None,
                 padding=None,
                 border_style=None,
                 border_style_type=None,
                 border_style_factory=None):
        self.__margins = None
        self.__padding = None
        self.__border_style_factory = None
        self.__border_style = None

        if margins is None:
            margins = MenuMargins()
        self.margins = margins

        if padding is None:
            padding = MenuPadding()
        self.padding = padding

        if border_style_factory is None:
            border_style_factory = MenuBorderStyleFactory()
        self.border_style_factory = border_style_factory

        if border_style is not None:
            #  A specified border_style takes precedence
            self.border_style = border_style
        elif border_style_type is not None:
            # If we have a border style type, create border style with factory
            self.border_style = self.border_style_factory.create_border(
                border_style_type)
        else:
            # No border style class or type was given, so use default border style
            self.border_style = self.border_style_factory.create_light_border()
Ejemplo n.º 5
0
 def test_ascii_prompt_no_top_margin(self):
     # Set footer's bottom margin to 0 and prompt's top padding to 0 so prompt is touching bottom of menu.
     footer = MenuFooter(MenuStyle(margins=MenuMargins(0, 2, 0, 2)))
     mp = MenuPrompt(MenuStyle(padding=MenuPadding(0, 1, 1, 1)))
     for line in footer.generate():
         print(line)
     for line in mp.generate():
         print(line)
Ejemplo n.º 6
0
 def test_unicode_prompt_no_top_margin(self):
     # Set top padding to 0 so prompt is touching bottom of menu.
     style = MenuStyle(padding=MenuPadding(0, 2, 0, 2),
                       border_style=LightBorderStyle())
     footer = MenuFooter(style)
     mp = MenuPrompt(style, prompt_string=u"\u27EB")
     for line in footer.generate():
         print(line)
     for line in mp.generate():
         print(line)
Ejemplo n.º 7
0
 def test_menu_items_ascii_padding_large_list(self):
     print_screen_edge()
     sect = MenuItemsSection(MenuStyle(padding=MenuPadding(1, 4, 1, 4)),
                             items=self.large_list)
     for line in sect.generate():
         print(line)