Exemplo n.º 1
0
        private void run(string args)
        {
            DasMenuArgs MenuArgs = new DasMenuArgs(args, ARGS_SPLIT);
            DasMenuTextPanelRepository TextPanelRepository = new DasMenuTextPanelRepository(GridTerminalSystem);
            DasMenuFactory             MenuFactory         = new DasMenuFactory(GridTerminalSystem);
            IMyTextPanel TextPanel = TextPanelRepository.findLcd(MenuArgs.getLcdPattern());

            if (TextPanel != null)
            {
                string        SelectedItemUid = TextPanelRepository.readStateFromTextPanel(TextPanel);
                DasMenuConfig MenuConfig      = new DasMenuConfig(TextPanel.GetPrivateText());
                DasMenuItem   RootItem        = MenuFactory.createFromConfig(MenuConfig);
                DasMenuView   View            = new DasMenuView();
                DasMenuItem   CurrentItem     = getCurrentItem(MenuArgs, RootItem, SelectedItemUid);
                string        content         = View.getContent(RootItem, MenuConfig, CurrentItem);

                TextPanel.WritePublicText(content);
                Echo(content);
                TextPanelRepository.saveStateToTextPanel(TextPanel, CurrentItem.getUid());
            }
        }
Exemplo n.º 2
0
            public DasMenuItem findOneByUid(DasMenuItem HaystackItem, string uid)
            {
                DasMenuItem Item = null;

                if (HaystackItem.getUid().Equals(uid))
                {
                    Item = HaystackItem;
                }
                else if (HaystackItem.hasChilds())
                {
                    for (int i = 0; i < HaystackItem.getChilds().Count; i++)
                    {
                        Item = findOneByUid(HaystackItem.getChilds()[i], uid);
                        if (Item != null)
                        {
                            break;
                        }
                    }
                }

                return(Item);
            }