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
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()
def _main(self, *args, **kwargs) -> None: # pylint: disable=unused-argument exit_app(self.main_view.run())
def _main(self, *params, **kwargs) -> None: """Run the application with the command line arguments""" exit_app(self.main_view.run())
@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()
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)]