Esempio n. 1
0
        public bool ReadCommand()
        {
            this.RefreshDisplay();
            this.ShowMenu();

            var keyChar = Logger.ReadKey(true);

            var selectedMenuItem = menu.SingleOrDefault(item => item.MatchesKey(keyChar));

            if (selectedMenuItem == null)
            {
                menuSelectionHandler = new InvalidMenuSelectionHandler();
                return(true);
            }

            if (selectedMenuItem.IsTerminalCommand)
            {
                return(false);
            }

            menuSelectionHandler = new ValidMenuSelectionHandler(
                selectedMenuItem.Command,
                viewLocator,
                Render);

            return(true);
        }
Esempio n. 2
0
 public UserInterface(ViewLocator viewLocator)
 {
     menuSelectionHandler = new EmptyMenuSelectionHandler();
     this.viewLocator     = viewLocator;
     this.menu            = new[]
     {
         MenuItem.CreateNonTerminal(
             "Get Intrument by Id",
             'I',
             new GetInstrumentCommand(),
             () => true),
         MenuItem.CreateNonTerminal(
             "Get Position by Id",
             'P',
             new GetPositionCommand(),
             () => true),
         MenuItem.CreateTerminal("Quit", 'Q')
     };
 }