From 9044ebad519ef299e77a1836fe021bd3cdbcc14b Mon Sep 17 00:00:00 2001 From: SuppliedOrange <70258998+SuppliedOrange@users.noreply.github.com> Date: Sat, 6 Jan 2024 21:01:38 +0530 Subject: [PATCH 1/4] Add ZeroBorder --- consolemenu/format/menu_borders.py | 63 ++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/consolemenu/format/menu_borders.py b/consolemenu/format/menu_borders.py index 6ef8d2a..3bb8a49 100644 --- a/consolemenu/format/menu_borders.py +++ b/consolemenu/format/menu_borders.py @@ -1,3 +1,5 @@ +"""MODIFIED VERSION OF CONSOLEMENU""" + import logging import sys @@ -309,6 +311,51 @@ def outer_vertical_inner_left(self): return u'\u2562' def outer_vertical_inner_right(self): return u'\u255F' + +class ZeroBorderStyle(MenuBorderStyle): + """ + A borderless border. This fills the border with blank characters + """ + + @property + def bottom_left_corner(self): return '' + + @property + def bottom_right_corner(self): return '' + + @property + def inner_horizontal(self): return '' + + @property + def inner_vertical(self): return '' + + @property + def intersection(self): return '' + + @property + def outer_horizontal(self): return '' + + @property + def outer_horizontal_inner_down(self): return '' + + @property + def outer_horizontal_inner_up(self): return '' + + @property + def outer_vertical(self): return '' + + @property + def outer_vertical_inner_left(self): return '' + + @property + def outer_vertical_inner_right(self): return '' + + @property + def top_left_corner(self): return '' + + @property + def top_right_corner(self): return '' + class MenuBorderStyleType(object): """ Defines the various menu border styles, as expected by the border factory. @@ -339,6 +386,11 @@ class MenuBorderStyleType(object): DOUBLE_LINE_OUTER_LIGHT_INNER_BORDER = 5 """ int: Menu Border using the "double-line" box drawing characters for the outer border elements, and "light" box-drawing characters for the inner border elements.""" + + ZERO_BORDER = 6 + """ + int: Menu border that is borderless. This uses blank characters instead of borders. + """ class MenuBorderStyleFactory(object): @@ -372,6 +424,8 @@ def create_border(self, border_style_type): return self.create_heavy_outer_light_inner_border() elif border_style_type == MenuBorderStyleType.DOUBLE_LINE_OUTER_LIGHT_INNER_BORDER: return self.create_doubleline_outer_light_inner_border() + elif border_style_type == MenuBorderStyleType.ZERO_BORDER: + return self.create_zero_border() else: # Use ASCII if we don't recognize the type self.logger.info('Unrecognized border style type: {}. Defaulting to ASCII.'.format(border_style_type)) @@ -449,6 +503,15 @@ def create_doubleline_outer_light_inner_border(self): :obj:`DoubleLineOuterLightInnerBorderStyle`: a new instance of DoubleLineOuterLightInnerBorderStyle """ return DoubleLineOuterLightInnerBorderStyle() + + def create_zero_border(self): + """ + Creates a zero border with blank characters. + + Returns: + :obj:`ZeroBorder`: a new instance of ZeroBorderStyle + """ + return ZeroBorderStyle() @staticmethod def is_win_python35_or_earlier(): From e73dd2c4267c2954ec9bd1e650aa4ab0d628f95c Mon Sep 17 00:00:00 2001 From: SuppliedOrange <70258998+SuppliedOrange@users.noreply.github.com> Date: Sat, 6 Jan 2024 21:03:36 +0530 Subject: [PATCH 2/4] Removed accidental comment --- consolemenu/format/menu_borders.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/consolemenu/format/menu_borders.py b/consolemenu/format/menu_borders.py index 3bb8a49..e9dab99 100644 --- a/consolemenu/format/menu_borders.py +++ b/consolemenu/format/menu_borders.py @@ -1,5 +1,3 @@ -"""MODIFIED VERSION OF CONSOLEMENU""" - import logging import sys From 304ffa891cc966385b0fb7602a81561f74fcd64a Mon Sep 17 00:00:00 2001 From: SuppliedOrange <70258998+SuppliedOrange@users.noreply.github.com> Date: Sat, 6 Jan 2024 22:12:09 +0530 Subject: [PATCH 3/4] Updated descriptions "Empty strings" is more appropriate than "Blank characters" --- consolemenu/format/menu_borders.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/consolemenu/format/menu_borders.py b/consolemenu/format/menu_borders.py index e9dab99..d6bb253 100644 --- a/consolemenu/format/menu_borders.py +++ b/consolemenu/format/menu_borders.py @@ -312,7 +312,7 @@ def outer_vertical_inner_right(self): return u'\u255F' class ZeroBorderStyle(MenuBorderStyle): """ - A borderless border. This fills the border with blank characters + A borderless border. This fills the border with empty strings """ @property @@ -387,7 +387,7 @@ class MenuBorderStyleType(object): ZERO_BORDER = 6 """ - int: Menu border that is borderless. This uses blank characters instead of borders. + int: Menu border that is borderless. This uses empty strings instead of borders with characters. """ @@ -504,7 +504,7 @@ def create_doubleline_outer_light_inner_border(self): def create_zero_border(self): """ - Creates a zero border with blank characters. + Creates a zero border with empty strings. Returns: :obj:`ZeroBorder`: a new instance of ZeroBorderStyle From 66675b192f65a5c5cce49ac0babca163fde468b0 Mon Sep 17 00:00:00 2001 From: SuppliedOrange <70258998+SuppliedOrange@users.noreply.github.com> Date: Wed, 24 Jan 2024 03:47:09 +0530 Subject: [PATCH 4/4] Import ZeroBorderStyle --- consolemenu/format/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/consolemenu/format/__init__.py b/consolemenu/format/__init__.py index ad62441..52b913f 100644 --- a/consolemenu/format/__init__.py +++ b/consolemenu/format/__init__.py @@ -4,6 +4,7 @@ from .menu_borders import HeavyBorderStyle from .menu_borders import HeavyOuterLightInnerBorderStyle from .menu_borders import LightBorderStyle +from .menu_borders import ZeroBorderStyle from .menu_borders import MenuBorderStyle from .menu_borders import MenuBorderStyleFactory from .menu_borders import MenuBorderStyleType @@ -13,4 +14,4 @@ __all__ = ['MenuBorderStyle', 'MenuBorderStyleType', 'MenuBorderStyleFactory', 'MenuMargins', 'MenuPadding', 'MenuStyle', 'AsciiBorderStyle', 'LightBorderStyle', 'HeavyBorderStyle', 'DoubleLineBorderStyle', - 'DoubleLineOuterLightInnerBorderStyle', 'HeavyOuterLightInnerBorderStyle'] + 'DoubleLineOuterLightInnerBorderStyle', 'HeavyOuterLightInnerBorderStyle', 'ZeroBorderStyle']