Example #1
0
    def trigger_menu_item(self) -> Menu:
        int_op = int(str(self.selected).strip())
        if int_op == 0:
            return self.parent

        if int_op == 1:
            print('Hey')
        elif int_op == 2:
            print('Hoo')
        elif int_op == 3:
            exit_app(0)

        return self
Example #2
0
 def _main(self, *args, **kwargs) -> None:  # pylint: disable=unused-argument
     create_view, edit_view, search_view = CreateView(), EditView(
     ), SearchView()
     # @formatter:off
     main_menu = MenuFactory \
         .create(menu_title='HSPYLIB Demo Phonebook') \
             .with_option('Exit').on_trigger(lambda t: exit_app(0)) \
             .with_option('Create').on_trigger(lambda x: create_menu) \
             .with_option('Edit').on_trigger(lambda x: edit_menu) \
             .with_option('Search').on_trigger(lambda x: search_menu) \
             .build()
     create_menu = MenuFactory \
         .create(parent_menu=main_menu, menu_title='Create new contact') \
             .with_option('Back').on_trigger(lambda x: main_menu) \
             .with_option('Person').on_trigger(lambda t: create_view.person()) \
             .with_option('Company').on_trigger(lambda t: create_view.company()) \
             .build()
     edit_menu = MenuFactory \
         .create(parent_menu=main_menu, menu_title='Edit contact') \
             .with_option('Back').on_trigger(lambda x: main_menu) \
             .with_option('Person').on_trigger(lambda t: edit_view.person()) \
             .with_option('Company').on_trigger(lambda t: edit_view.company()) \
             .build()
     search_menu = MenuFactory \
         .create(parent_menu=main_menu, menu_title='Search contacts') \
             .with_option('Back').on_trigger(lambda x: main_menu) \
             .with_option('By name').on_trigger(lambda t: search_view.by_name()) \
             .with_option('By uuid').on_trigger(lambda t: search_view.by_uuid()) \
             .with_option('List all').on_trigger(lambda t: search_view.list_all()) \
             .build()
     # @formatter:on
     mm = MenuUi(main_menu)
     mm.show()
Example #3
0
 def _main(self, *args, **kwargs) -> None:  # pylint: disable=unused-argument
     exit_app(self.main_view.run())
Example #4
0
 def _main(self, *params, **kwargs) -> None:
     """Run the application with the command line arguments"""
     exit_app(self.main_view.run())
Example #5
0
   @created: Tue, 4 May 2021
    @author: <B>H</B>ugo <B>S</B>aporetti <B>J</B>unior"
      @site: https://github.com/yorevs/hspylib
   @license: MIT - Please refer to <https://opensource.org/licenses/MIT>

   Copyright 2021, HSPyLib team
"""
from hspylib.modules.cli.tui.menu.menu_factory import MenuFactory
from hspylib.modules.cli.tui.menu.menu_ui import MenuUi
from hspylib.modules.cli.vt100.vt_utils import exit_app

if __name__ == '__main__':
    # @formatter:off
    main_menu = MenuFactory().INSTANCE \
        .create(None, 'Dynamic Main Menu') \
        .with_option('Exit').on_trigger(lambda t: exit_app(0)) \
        .with_option('Sub-Menu-1').on_trigger(lambda x: sub_menu_1) \
        .with_option('Sub-Menu-2').on_trigger(lambda x: sub_menu_2) \
        .build()
    sub_menu_1 = MenuFactory().INSTANCE \
        .create(main_menu, 'Sub-Menu-1') \
        .with_option('Back').on_trigger(lambda x: main_menu) \
        .with_option('Print Hey').on_trigger(lambda t: print('Hey')) \
        .with_option('Print Hoo').on_trigger(lambda t: print('Hoo')) \
        .build()
    sub_menu_2 = MenuFactory().INSTANCE \
        .create(main_menu, 'Sub-Menu-2') \
        .with_option('Back').on_trigger(lambda x: main_menu) \
        .with_option('Print Hello').on_trigger(lambda t: print('Hello')) \
        .with_option('Print Hi').on_trigger(lambda t: print('Hi')) \
        .build()
Example #6
0
 def trigger_menu_item(self) -> Menu:  # pylint: disable=inconsistent-return-statements
     int_op = int(str(self.selected).strip())
     if int_op == 0:
         exit_app(0)
     else:
         return self.menu_items[str(int_op)]