Exemplo n.º 1
0
        private void ActivateMenu(MenuItemWindow menuWindow)
        {
            foreach (var w in MenuWindows.Where(p => p != menuWindow))
            {
                w.Visible = false;
            }

            menuWindow.Visible = true;
            if (!(ParentWindow is FullWindow f))
            {
                return;
            }

            if (f.CurrentWindow == menuWindow)
            {
                return;
            }
            f.SelectWindow(menuWindow);
            menuWindow.SelectFirstItem();
        }
Exemplo n.º 2
0
        public void AddItem(string item, List <MenuButton> menuItems)
        {
            if (!(ParentWindow is FullWindow fw))
            {
                return;
            }
            var w          = MenuWidth;
            var menuWindow = new MenuItemWindow(MenuWidth, 1, 20, menuItems.Count, this)
            {
                Visible = false
            };
            var y = 0;

            foreach (var i in menuItems)
            {
                var a = i.Action;
                i.ParentWindow = menuWindow;
                i.PositionX    = 0;
                i.PositionY    = y;
                i.Action       = () =>
                {
                    menuWindow.Visible = false;
                    a?.Invoke();
                };
                menuWindow.Inputs.Add(i);
                y++;
            }
            MenuWindows.Add(menuWindow);
            fw.Windows.Add(menuWindow);
            Inputs.Add(new Button(w + 1, 0, item, this)
            {
                BackColor         = Terminal.DARK_GRAY,
                SelectedBackColor = Terminal.GRAY,
                SelectedTextColor = Terminal.WHITE,
                Action            = () => ActivateMenu(menuWindow)
            });
        }