示例#1
0
        private void BuildUI()
        {
            var label1 = new Label();

            label1.Text                = "My Game";
            label1.Font                = MyraEnvironment.DefaultAssetManager.Load <SpriteFontBase>("fonts/arial64.fnt");
            label1.TextColor           = Color.LightBlue;
            label1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;

            _menuItemStartNewGame      = new MenuItem();
            _menuItemStartNewGame.Text = "Start New Game";
            _menuItemStartNewGame.Id   = "_menuItemStartNewGame";

            _menuItemOptions      = new MenuItem();
            _menuItemOptions.Text = "Options";
            _menuItemOptions.Id   = "_menuItemOptions";

            _menuItemQuit      = new MenuItem();
            _menuItemQuit.Text = "Quit";
            _menuItemQuit.Id   = "_menuItemQuit";

            _mainMenu = new VerticalMenu();
            _mainMenu.HorizontalAlignment      = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            _mainMenu.VerticalAlignment        = Myra.Graphics2D.UI.VerticalAlignment.Center;
            _mainMenu.LabelFont                = MyraEnvironment.DefaultAssetManager.Load <SpriteFontBase>("fonts/comicSans48.fnt");
            _mainMenu.LabelColor               = Color.Indigo;
            _mainMenu.SelectionHoverBackground = new SolidBrush("#808000FF");
            _mainMenu.SelectionBackground      = new SolidBrush("#FFA500FF");
            _mainMenu.LabelHorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            _mainMenu.HoverIndexCanBeNull      = false;
            _mainMenu.Background               = new SolidBrush("#00000000");
            _mainMenu.Border = new SolidBrush("#00000000");
            _mainMenu.Id     = "_mainMenu";
            _mainMenu.Items.Add(_menuItemStartNewGame);
            _mainMenu.Items.Add(_menuItemOptions);
            _mainMenu.Items.Add(_menuItemQuit);

            var image1 = new Image();

            image1.Renderable        = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("images/LogoOnly_64px.png");
            image1.Left              = 10;
            image1.Top               = -10;
            image1.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Bottom;

            var label2 = new Label();

            label2.Text = "Version 0.6";
            label2.Font = MyraEnvironment.DefaultAssetManager.Load <SpriteFontBase>("fonts/calibri32.fnt");
            label2.Left = -10;
            label2.Top  = -10;
            label2.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Right;
            label2.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Bottom;


            Background = new SolidBrush("#C78100FF");
            Widgets.Add(label1);
            Widgets.Add(_mainMenu);
            Widgets.Add(image1);
            Widgets.Add(label2);
        }
示例#2
0
        public IActionResult Put(int id, [FromBody] VerticalMenu menu)
        {
            var entity = _dbContext.VerticalMenus.Find(id);

            if (entity == null)
            {
                return(NotFound("No menu found against this id..."));
            }

            var stream   = new MemoryStream(menu.ImageArray);
            var guid     = Guid.NewGuid().ToString();
            var file     = $"{guid}.jpg";
            var folder   = "wwwroot";
            var response = FilesHelper.UploadImage(stream, folder, file);

            if (!response)
            {
                return(BadRequest());
            }
            else
            {
                entity.Title    = menu.Title;
                entity.ImageUrl = file;
                _dbContext.SaveChanges();
                return(Ok("Menu Updated Successfully..."));
            }
        }
示例#3
0
        private void PlayOnSelected(object sender, EventArgs eventArgs)
        {
            _selectSlotMenu = new VerticalMenu
            {
                VerticalAlignment   = VerticalAlignment.Center,
                HorizontalAlignment = HorizontalAlignment.Center
            };

            for (var i = 0; i < StorageService.SlotsCount; ++i)
            {
                var slot = TJ.StorageService.Slots[i];
                var name = slot.PlayerData == null ? Strings.EmptySlotName :
                           slot.PlayerData.Name + ", " + slot.PlayerData.ClassId;
                var menuItem = new MenuItem(string.Empty, name);

                var i1 = i;
                menuItem.Selected += (o, args) =>
                {
                    Play(i1);
                };
                _selectSlotMenu.Items.Add(menuItem);
            }

            var back = new MenuItem(string.Empty, Strings.BackName);

            back.Selected += (o, args) =>
            {
                Widgets.Remove(_selectSlotMenu);
                Widgets.Add(_mainMenu);
            };
            _selectSlotMenu.Items.Add(back);

            Widgets.Remove(_mainMenu);
            Widgets.Add(_selectSlotMenu);
        }
示例#4
0
        private void _desktop_ContextMenuClosed(object sender, GenericEventArgs <Widget> e)
        {
            if (e.Data != _autoCompleteMenu)
            {
                return;
            }

            _autoCompleteMenu = null;
        }
示例#5
0
        public InnerMenuState(Input input, FontManager fontManager, StateSystem system)
        {
            _input       = input;
            _fontManager = fontManager;
            _system      = system;

            _title = new Text("Paused", fontManager.Get("general_font"));
            _title.SetColor(new Color(0, 0, 0, 1));

            _title.SetPosition(-_title.Width / 2, 300);

            _vmenu = new VerticalMenu(0, 150, _input);
            InitializeVerticalMenu();
        }
示例#6
0
        private void BuildUI()
        {
            var label1 = new Label();

            label1.Text                = "Soup";
            label1.TextColor           = ColorStorage.CreateColor(254, 57, 48, 255);
            label1.DisabledTextColor   = ColorStorage.CreateColor(64, 64, 64, 255);
            label1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;

            _menuLoadScenario      = new MenuItem();
            _menuLoadScenario.Text = "Load Scenario";
            _menuLoadScenario.Id   = "_menuLoadScenario";

            _newScenario      = new MenuItem();
            _newScenario.Text = "New Scenario";
            _newScenario.Id   = "_newScenario";

            _quit      = new MenuItem();
            _quit.Text = "Quit";
            _quit.Id   = "_quit";

            var verticalMenu1 = new VerticalMenu();

            verticalMenu1.Background = new SolidBrush("#404040FF");
            verticalMenu1.Items.Add(_menuLoadScenario);
            verticalMenu1.Items.Add(_newScenario);
            verticalMenu1.Items.Add(_quit);

            _gameSpeedSlider          = new HorizontalSlider();
            _gameSpeedSlider.Value    = 50;
            _gameSpeedSlider.MinWidth = 200;
            _gameSpeedSlider.Id       = "_gameSpeedSlider";

            _gameSpeedPanel = new Panel();
            _gameSpeedPanel.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Right;
            _gameSpeedPanel.Border = new SolidBrush("#5BC6FAFF");
            _gameSpeedPanel.Id     = "_gameSpeedPanel";
            _gameSpeedPanel.Widgets.Add(_gameSpeedSlider);


            Widgets.Add(label1);
            Widgets.Add(verticalMenu1);
            Widgets.Add(_gameSpeedPanel);
        }
示例#7
0
        private void BuildUI()
        {
            var label1 = new Label();

            label1.Text      = "Troubles of Jord";
            label1.TextColor = new Color
            {
                B = 64,
                G = 128,
                R = 255,
                A = 255,
            };
            label1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;

            _playItem      = new MenuItem();
            _playItem.Id   = "_playItem";
            _playItem.Text = "Play";

            _quitMenuItem      = new MenuItem();
            _quitMenuItem.Id   = "_quitMenuItem";
            _quitMenuItem.Text = "Quit";

            _mainMenu = new VerticalMenu();
            _mainMenu.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            _mainMenu.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Center;
            _mainMenu.Id    = "_mainMenu";
            _mainMenu.Width = 200;
            _mainMenu.Items.Add(_playItem);
            _mainMenu.Items.Add(_quitMenuItem);

            _textVersion                     = new Label();
            _textVersion.Text                = "Version 1.0";
            _textVersion.TextColor           = Color.Lime;
            _textVersion.Id                  = "_textVersion";
            _textVersion.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Right;
            _textVersion.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Bottom;


            Id = "Root";
            Widgets.Add(label1);
            Widgets.Add(_mainMenu);
            Widgets.Add(_textVersion);
        }
示例#8
0
        public IActionResult Post([FromBody] VerticalMenu menu)
        {
            var stream   = new MemoryStream(menu.ImageArray);
            var guid     = Guid.NewGuid().ToString();
            var file     = $"{guid}.jpg";
            var folder   = "wwwroot";
            var response = FilesHelper.UploadImage(stream, folder, file);

            if (!response)
            {
                return(BadRequest());
            }
            else
            {
                menu.ImageUrl = file;
                _dbContext.VerticalMenus.Add(menu);
                _dbContext.SaveChanges();
                return(StatusCode(StatusCodes.Status201Created));
            }
        }
        private void InitializeVMenu()
        {
            _vmenu = new VerticalMenu(0, 150, _input);
            Button startGame = new Button(
                delegate(object o, EventArgs e)
            {
                _system.ChangeState("inner_game_state");
            },
                new Text("Start", _fontManager.Get("general_font")));

            Button exitGame = new Button(
                delegate(object o, EventArgs e)
            {
                System.Windows.Forms.Application.Exit();
            },
                new Text("Exit", _fontManager.Get("general_font")));

            _vmenu.AddButton(startGame);
            _vmenu.AddButton(exitGame);
        }
示例#10
0
        private void InitializeMenu()
        {
            _menu = new VerticalMenu(0, 150, _input, _soundManager);

            Button start_game = new Button(
                delegate(object o, EventArgs e)
            {
                // Do start functionality
                _soundManager.StopSound(_backgtound_music);
                _system.ChangeState("inner_game");
            },
                new Text("START", _generalFont));
            Button options = new Button(
                delegate(object o, EventArgs e)
            {
                // Do start functionality
                _soundManager.StopSound(_backgtound_music);
                _system.ChangeState("inner_game");
            },
                new Text("OPTIONS", _generalFont));
            Button hight_scores = new Button(
                delegate(object o, EventArgs e)
            {
                // Do start functionality
                _soundManager.StopSound(_backgtound_music);
                _system.ChangeState("inner_game");
            },
                new Text("HIGH SCORES", _generalFont));
            Button exit_game = new Button(
                delegate(object o, EventArgs e)
            {
                // Quit
                System.Windows.Forms.Application.Exit();
            },
                new Text("EXIT", _generalFont));

            _menu.AddButton(start_game);
            _menu.AddButton(options);
            //_menu.AddButton(hight_scores);
            _menu.AddButton(exit_game);
        }
示例#11
0
        //конструктор по замовчуванню
        public DataBaseCRUD()
        {
            // створюємо допоміжне вертикальне меню
            MenuFind = new VerticalMenu(new List <string> {
                "по імені", "по прізвищу", "по батькові", "по email"
            });
            //створюємо основне меню
            Menu1 = new Menu(1, 1, new IMenu

            {
                //додаємо делегати на основні функції роботи з базою данних
                new ItemMenu(" Додати", new GetMethod(Add)),        //додати користувача
                new ItemMenu(" Видалити", new GetMethod(Delete)),   // видалити користувача
                new ItemMenu(" Редагувати", new GetMethod(Update)), // редагувати користувача
                new ItemMenu(" Знайти", new GetMethod(Find)),       // пошук користувача
                new ItemMenu(" Допомога", new GetMethod(Help)),     // допомога
                new ItemMenu(" Вихід", new GetMethod(Exit))         // вихід
            });
            //друк таблиці
            Print();
        }
        private void InitializeMenu()
        {
            _menu = new VerticalMenu(0, 150, _input);
            Button startGame = new Button(
                delegate(object o, EventArgs e)
            {
                _system.ChangeState("inner_game");
            },
                new Text("Start", _generalFont));


            Button exitGame = new Button(
                delegate(object o, EventArgs e)
            {
                // Quit
                System.Windows.Forms.Application.Exit();
            },
                new Text("Exit", _generalFont));

            _menu.AddButton(startGame);
            _menu.AddButton(exitGame);
        }
示例#13
0
        private bool ExitFlag = true; // флаг выхода из програмы

        public FigureView()
        {
            Menu1 = new Menu(1, 1, new IMenu

            {
                new ItemMenu(" Треугольник", new GetMethod(PrintTriangle)),
                new ItemMenu(" Квадрат", new GetMethod(PrintSquare)),
                new ItemMenu(" Прямоугольник", new GetMethod(PrintRectangle)),
                new ItemMenu(" Ромб", new GetMethod(PrintRomb)),
                new ItemMenu(" Трапеция", new GetMethod(PrintTrapeze)),
                new ItemMenu(" Многоугольник", new GetMethod(PrintNAngle)),
                new ItemMenu(" Помощь", new GetMethod(Help)),
                new ItemMenu(" Выход", new GetMethod(Exit))
            });

            MenuSize = new HorizontalMenu(10, 12, new List <string> {
                "2", "3", "4", "5", "6"
            });
            MenuColor = new VerticalMenu(10, 14, new List <string> {
                "Синий", "Зеленый", "Бирюзовый", "Красный", "Розовый", "Желтый", "Белый"
            });
        }
示例#14
0
        private void InitializeMenu()
        {
            _menu = new VerticalMenu(0, 150, _input);
            Button startGame = new Button(
                delegate(object o, EventArgs e)
            {
                _system.ChangeState("inner_game");
            },
                new Text("Start", _generalFont));


            Button exitGame = new Button(
                delegate(object o, EventArgs e)
            {
                // Quit
                System.Windows.Forms.Application.Exit();
            },
                new Text("Exit", _generalFont));
            Button helpPage = new Button(
                delegate(object o, EventArgs e){
                //change state to help page
                _system.ChangeState("help_state");
            },
                new Text("Game Help", _generalFont));
            Button kabajie = new Button(
                delegate(object o, EventArgs e)
            {
                //change state to help page
                _system.ChangeState("kabajie");
            },
                new Text("Kabaji Egara", _generalFont));

            _menu.AddButton(startGame);
            _menu.AddButton(exitGame);
            _menu.AddButton(helpPage);
            _menu.AddButton(kabajie);
        }
示例#15
0
        private void BuildUI()
        {
            var textBlock1 = new TextBox();

            textBlock1.Text                = "My Game";
            textBlock1.TextColor           = Color.Orange;
            textBlock1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;

            _menuStartNewGame      = new MenuItem();
            _menuStartNewGame.Id   = "_menuStartNewGame";
            _menuStartNewGame.Text = "Start New Game";

            _menuStartNewGame.Selected += (s, a) => {
                Engine.Globals.sceneManager.LoadScene(new Scenes.GameScene(), Engine.Globals.sceneManager.content);
            };

            _menuOptions       = new MenuItem();
            _menuOptions.Color = Color.Orange;
            _menuOptions.Id    = "_menuOptions";
            _menuOptions.Text  = "Options";

            _menuQuit      = new MenuItem();
            _menuQuit.Id   = "_menuQuit";
            _menuQuit.Text = "Quit";

            var verticalMenu1 = new VerticalMenu();

            verticalMenu1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            verticalMenu1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Center;
            verticalMenu1.Items.Add(_menuStartNewGame);
            verticalMenu1.Items.Add(_menuOptions);
            verticalMenu1.Items.Add(_menuQuit);

            //  Widgets.Add (textBlock1);
            Widgets.Add(verticalMenu1);
        }
示例#16
0
        public AttivitaPageVM()
        {
            ItemInvokedCommand = new RelayCommand(NavigationTo);

            #region Menu Entries
            //repeat for each menu entry
            MenuItems.Add(new MenuItem()
            {
                MenuEntry = "Clienti",
                Glyph     = (new SymbolIconSource()
                {
                    Symbol = Symbol.Contact
                }).Symbol,
            });
            //--------------------------
            //repeat for each menu entry
            MenuItems.Add(new MenuItem()
            {
                MenuEntry = "Fornitori",
                Glyph     = (new SymbolIconSource()
                {
                    Symbol = Symbol.Manage
                }).Symbol,
            });
            //--------------------------
            //repeat for each menu entry
            MenuItems.Add(new MenuItem()
            {
                MenuEntry = "Prodotti",
                Glyph     = (new SymbolIconSource()
                {
                    Symbol = Symbol.Document
                }).Symbol,
            });
            //--------------------------
            //repeat for each menu entry
            MenuItems.Add(new MenuItem()
            {
                MenuEntry = "Strutture",
                Glyph     = (new SymbolIconSource()
                {
                    Symbol = Symbol.Street
                }).Symbol,
            });
            //--------------------------
            //repeat for each menu entry
            MenuItems.Add(new MenuItem()
            {
                MenuEntry = "Competitor",
                Glyph     = (new SymbolIconSource()
                {
                    Symbol = Symbol.BlockContact
                }).Symbol,
            });
            //--------------------------
            //repeat for each menu entry
            MenuItems.Add(new MenuItem()
            {
                MenuEntry = "Conto Vendita",
                Glyph     = (new SymbolIconSource()
                {
                    Symbol = Symbol.TwoPage
                }).Symbol,
            });
            //--------------------------
            //repeat for each menu entry
            MenuItems.Add(new MenuItem()
            {
                MenuEntry = "Obiettivi",
                Glyph     = (new SymbolIconSource()
                {
                    Symbol = Symbol.WebCam
                }).Symbol,
            });
            //--------------------------
            #endregion


            void NavigationTo(object parameter)
            {
                NavigationViewItemInvokedEventArgs args = parameter as NavigationViewItemInvokedEventArgs;

                switch (args.InvokedItem.ToString())
                {
                case "Clienti":
                    SelectedPage = new VerticalMenu()
                    {
                        DataContext = new MenuClientiVM()
                    };
                    break;

                case "Fornitori":
                    SelectedPage = new VerticalMenu()
                    {
                        DataContext = new MenuClientiVM()
                    };
                    break;

                case "Prodotti":
                    SelectedPage = new VerticalMenu()
                    {
                        DataContext = new MenuClientiVM()
                    };
                    break;

                case "Strutture":
                    SelectedPage = new VerticalMenu()
                    {
                        DataContext = new MenuClientiVM()
                    };
                    break;

                case "Competitor":
                    SelectedPage = new VerticalMenu()
                    {
                        DataContext = new MenuClientiVM()
                    };
                    break;

                case "Conto Vendita":
                    SelectedPage = new VerticalMenu()
                    {
                        DataContext = new MenuClientiVM()
                    };
                    break;

                case "Obiettivi":
                    SelectedPage = new VerticalMenu()
                    {
                        DataContext = new MenuClientiVM()
                    };
                    break;
                }
            }
        }
示例#17
0
        private void BuildUI()
        {
            _menuItemNew      = new MenuItem();
            _menuItemNew.Id   = "_menuItemNew";
            _menuItemNew.Text = "&New";

            _menuItemOpen      = new MenuItem();
            _menuItemOpen.Id   = "_menuItemOpen";
            _menuItemOpen.Text = "&Open";

            _menuItemSave      = new MenuItem();
            _menuItemSave.Id   = "_menuItemSave";
            _menuItemSave.Text = "&Save";

            _menuItemSaveAs      = new MenuItem();
            _menuItemSaveAs.Id   = "_menuItemSaveAs";
            _menuItemSaveAs.Text = "Save &As...";

            var menuSeparator1 = new MenuSeparator();

            _menuItemQuit      = new MenuItem();
            _menuItemQuit.Id   = "_menuItemQuit";
            _menuItemQuit.Text = "&Quit";

            var menuItem1 = new MenuItem();

            menuItem1.Id   = "";
            menuItem1.Text = "&File";
            menuItem1.Items.Add(_menuItemNew);
            menuItem1.Items.Add(_menuItemOpen);
            menuItem1.Items.Add(_menuItemSave);
            menuItem1.Items.Add(_menuItemSaveAs);
            menuItem1.Items.Add(menuSeparator1);
            menuItem1.Items.Add(_menuItemQuit);

            _menuItemCopy      = new MenuItem();
            _menuItemCopy.Id   = "_menuItemCopy";
            _menuItemCopy.Text = "&Copy";

            _menuItemPaste      = new MenuItem();
            _menuItemPaste.Id   = "_menuItemPaste";
            _menuItemPaste.Text = "&Paste";

            var menuSeparator2 = new MenuSeparator();

            _menuItemUndo      = new MenuItem();
            _menuItemUndo.Id   = "_menuItemUndo";
            _menuItemUndo.Text = "&Undo";

            _menuItemRedo      = new MenuItem();
            _menuItemRedo.Id   = "_menuItemRedo";
            _menuItemRedo.Text = "&Redo";

            var menuItem2 = new MenuItem();

            menuItem2.Id   = "";
            menuItem2.Text = "&Edit";
            menuItem2.Items.Add(_menuItemCopy);
            menuItem2.Items.Add(_menuItemPaste);
            menuItem2.Items.Add(menuSeparator2);
            menuItem2.Items.Add(_menuItemUndo);
            menuItem2.Items.Add(_menuItemRedo);

            _menuItemAbout      = new MenuItem();
            _menuItemAbout.Id   = "_menuItemAbout";
            _menuItemAbout.Text = "&About";

            var menuItem3 = new MenuItem();

            menuItem3.Id   = "";
            menuItem3.Text = "&Help";
            menuItem3.Items.Add(_menuItemAbout);

            var horizontalMenu1 = new HorizontalMenu();

            horizontalMenu1.DrawLinesColor      = Color.White;
            horizontalMenu1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            horizontalMenu1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            horizontalMenu1.Items.Add(menuItem1);
            horizontalMenu1.Items.Add(menuItem2);
            horizontalMenu1.Items.Add(menuItem3);

            var textBlock1 = new TextBlock();

            textBlock1.Text              = "Button:";
            textBlock1.TextColor         = Color.White;
            textBlock1.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock1.Id = "";

            _button                            = new Button();
            _button.Text                       = "Show Window";
            _button.TextColor                  = Color.White;
            _button.ImageTextSpacing           = 8;
            _button.ContentHorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            _button.ContentVerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            _button.Id                         = "_button";
            _button.PaddingLeft                = 8;
            _button.PaddingRight               = 8;
            _button.GridPositionX              = 1;

            var textBlock2 = new TextBlock();

            textBlock2.Text              = "Blue Button:";
            textBlock2.TextColor         = Color.White;
            textBlock2.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock2.Id            = "";
            textBlock2.GridPositionY = 1;

            _blueButton                            = new Button("blue");
            _blueButton.Text                       = "Show Window";
            _blueButton.TextColor                  = Color.White;
            _blueButton.ImageTextSpacing           = 8;
            _blueButton.ContentHorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            _blueButton.ContentVerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            _blueButton.Id                         = "_blueButton";
            _blueButton.PaddingLeft                = 8;
            _blueButton.PaddingRight               = 8;
            _blueButton.GridPositionX              = 1;
            _blueButton.GridPositionY              = 1;

            var textBlock3 = new TextBlock();

            textBlock3.Text              = "Text Button:";
            textBlock3.TextColor         = Color.White;
            textBlock3.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock3.Id            = "";
            textBlock3.GridPositionY = 2;

            _textButton           = new TextButton();
            _textButton.Text      = "Show Window";
            _textButton.TextColor = Color.White;
            _textButton.ContentHorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            _textButton.ContentVerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Center;
            _textButton.Id            = "_textButton";
            _textButton.PaddingLeft   = 8;
            _textButton.PaddingRight  = 8;
            _textButton.GridPositionX = 1;
            _textButton.GridPositionY = 2;

            var textBlock4 = new TextBlock();

            textBlock4.Text              = "Image Button:";
            textBlock4.TextColor         = Color.White;
            textBlock4.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock4.Id            = "";
            textBlock4.GridPositionY = 3;

            _imageButton = new ImageButton();
            _imageButton.ImageVisible = true;
            _imageButton.ContentHorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            _imageButton.ContentVerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Center;
            _imageButton.Id            = "_imageButton";
            _imageButton.PaddingLeft   = 8;
            _imageButton.PaddingRight  = 8;
            _imageButton.GridPositionX = 1;
            _imageButton.GridPositionY = 3;

            var checkBox1 = new CheckBox();

            checkBox1.Text                       = "This is checkbox";
            checkBox1.TextColor                  = Color.White;
            checkBox1.ImageWidthHint             = 10;
            checkBox1.ImageHeightHint            = 10;
            checkBox1.ContentHorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            checkBox1.ContentVerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            checkBox1.GridPositionY              = 4;
            checkBox1.GridSpanX                  = 2;

            var textBlock5 = new TextBlock();

            textBlock5.Text              = "Horizontal Slider:";
            textBlock5.TextColor         = Color.White;
            textBlock5.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock5.Id            = "";
            textBlock5.GridPositionY = 5;

            var horizontalSlider1 = new HorizontalSlider();

            horizontalSlider1.Maximum             = 100;
            horizontalSlider1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            horizontalSlider1.GridPositionX       = 1;
            horizontalSlider1.GridPositionY       = 5;

            var textBlock6 = new TextBlock();

            textBlock6.Text              = "Combo Box:";
            textBlock6.TextColor         = Color.White;
            textBlock6.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock6.GridPositionY = 6;

            var listItem1 = new ListItem();

            listItem1.Id    = "";
            listItem1.Text  = "Red";
            listItem1.Color = Color.Red;

            var listItem2 = new ListItem();

            listItem2.Text  = "Green";
            listItem2.Color = Color.Lime;

            var listItem3 = new ListItem();

            listItem3.Text  = "Blue";
            listItem3.Color = new Color
            {
                B           = 255,
                G           = 128,
                A           = 255,
                PackedValue = 4294934528,
            };

            var comboBox1 = new ComboBox();

            comboBox1.WidthHint     = 200;
            comboBox1.GridPositionX = 1;
            comboBox1.GridPositionY = 6;
            comboBox1.Items.Add(listItem1);
            comboBox1.Items.Add(listItem2);
            comboBox1.Items.Add(listItem3);

            var textBlock7 = new TextBlock();

            textBlock7.Text              = "Text Field:";
            textBlock7.TextColor         = Color.White;
            textBlock7.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock7.GridPositionY = 7;

            var textField1 = new TextField();

            textField1.Text              = "";
            textField1.TextColor         = Color.White;
            textField1.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textField1.MessageTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textField1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            textField1.GridPositionX       = 1;
            textField1.GridPositionY       = 7;
            textField1.CanFocus            = true;

            var textBlock8 = new TextBlock();

            textBlock8.Text              = "Spin Button:";
            textBlock8.TextColor         = Color.White;
            textBlock8.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock8.GridPositionY = 8;

            var spinButton1 = new SpinButton();

            spinButton1.Value          = 0;
            spinButton1.DrawLinesColor = Color.White;
            spinButton1.WidthHint      = 100;
            spinButton1.GridPositionX  = 1;
            spinButton1.GridPositionY  = 8;

            var textBlock9 = new TextBlock();

            textBlock9.Text              = "List Box:";
            textBlock9.TextColor         = Color.White;
            textBlock9.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock9.GridPositionY = 9;

            var listItem4 = new ListItem();

            listItem4.Text  = "Red";
            listItem4.Color = Color.Red;

            var listItem5 = new ListItem();

            listItem5.Text  = "Green";
            listItem5.Color = Color.Lime;

            var listItem6 = new ListItem();

            listItem6.Text  = "Blue";
            listItem6.Color = Color.Blue;

            var listBox1 = new ListBox();

            listBox1.DrawLinesColor      = Color.White;
            listBox1.WidthHint           = 200;
            listBox1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            listBox1.GridPositionX       = 1;
            listBox1.GridPositionY       = 9;
            listBox1.Items.Add(listItem4);
            listBox1.Items.Add(listItem5);
            listBox1.Items.Add(listItem6);

            var textBlock10 = new TextBlock();

            textBlock10.Text              = "Vertical Menu:";
            textBlock10.TextColor         = Color.White;
            textBlock10.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock10.GridPositionY = 10;

            var menuItem4 = new MenuItem();

            menuItem4.Id   = "";
            menuItem4.Text = "Start New Game";

            var menuItem5 = new MenuItem();

            menuItem5.Id   = "";
            menuItem5.Text = "Options";

            var menuItem6 = new MenuItem();

            menuItem6.Id   = "";
            menuItem6.Text = "Quit";

            var verticalMenu1 = new VerticalMenu();

            verticalMenu1.DrawLinesColor    = Color.White;
            verticalMenu1.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            verticalMenu1.GridPositionX     = 1;
            verticalMenu1.GridPositionY     = 10;
            verticalMenu1.Items.Add(menuItem4);
            verticalMenu1.Items.Add(menuItem5);
            verticalMenu1.Items.Add(menuItem6);

            var textBlock11 = new TextBlock();

            textBlock11.Text              = "Tree";
            textBlock11.TextColor         = Color.White;
            textBlock11.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };
            textBlock11.GridPositionY = 11;

            _gridRight = new Grid();
            _gridRight.DrawLinesColor = Color.White;
            _gridRight.ColumnSpacing  = 8;
            _gridRight.RowSpacing     = 8;
            _gridRight.ColumnsProportions.Add(new Proportion());
            _gridRight.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.RowsProportions.Add(new Proportion());
            _gridRight.Id = "_gridRight";
            _gridRight.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            _gridRight.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            _gridRight.Widgets.Add(textBlock1);
            _gridRight.Widgets.Add(_button);
            _gridRight.Widgets.Add(textBlock2);
            _gridRight.Widgets.Add(_blueButton);
            _gridRight.Widgets.Add(textBlock3);
            _gridRight.Widgets.Add(_textButton);
            _gridRight.Widgets.Add(textBlock4);
            _gridRight.Widgets.Add(_imageButton);
            _gridRight.Widgets.Add(checkBox1);
            _gridRight.Widgets.Add(textBlock5);
            _gridRight.Widgets.Add(horizontalSlider1);
            _gridRight.Widgets.Add(textBlock6);
            _gridRight.Widgets.Add(comboBox1);
            _gridRight.Widgets.Add(textBlock7);
            _gridRight.Widgets.Add(textField1);
            _gridRight.Widgets.Add(textBlock8);
            _gridRight.Widgets.Add(spinButton1);
            _gridRight.Widgets.Add(textBlock9);
            _gridRight.Widgets.Add(listBox1);
            _gridRight.Widgets.Add(textBlock10);
            _gridRight.Widgets.Add(verticalMenu1);
            _gridRight.Widgets.Add(textBlock11);

            var scrollPane1 = new ScrollPane();

            scrollPane1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            scrollPane1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            scrollPane1.ClipToBounds        = true;
            scrollPane1.CanFocus            = true;
            scrollPane1.Child = _gridRight;

            var textBlock12 = new TextBlock();

            textBlock12.Text              = "Vertical Slider:";
            textBlock12.TextColor         = Color.White;
            textBlock12.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };

            var verticalSlider1 = new VerticalSlider();

            verticalSlider1.Maximum             = 100;
            verticalSlider1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            verticalSlider1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            verticalSlider1.GridPositionY       = 1;

            var grid1 = new Grid();

            grid1.DrawLinesColor = Color.White;
            grid1.RowSpacing     = 8;
            grid1.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            grid1.RowsProportions.Add(new Proportion());
            grid1.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            grid1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            grid1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            grid1.Widgets.Add(textBlock12);
            grid1.Widgets.Add(verticalSlider1);

            var textBlock13 = new TextBlock();

            textBlock13.Text              = "Progress Bars:";
            textBlock13.TextColor         = Color.White;
            textBlock13.DisabledTextColor = new Color
            {
                B           = 170,
                G           = 170,
                R           = 170,
                A           = 255,
                PackedValue = 4289374890,
            };

            _horizontalProgressBar                     = new HorizontalProgressBar();
            _horizontalProgressBar.Maximum             = 100;
            _horizontalProgressBar.DrawLinesColor      = Color.White;
            _horizontalProgressBar.Id                  = "_horizontalProgressBar";
            _horizontalProgressBar.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            _horizontalProgressBar.GridPositionY       = 1;

            _verticalProgressBar                     = new VerticalProgressBar();
            _verticalProgressBar.Maximum             = 100;
            _verticalProgressBar.DrawLinesColor      = Color.White;
            _verticalProgressBar.Id                  = "_verticalProgressBar";
            _verticalProgressBar.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            _verticalProgressBar.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            _verticalProgressBar.GridPositionY       = 2;

            var grid2 = new Grid();

            grid2.DrawLinesColor = Color.White;
            grid2.RowSpacing     = 8;
            grid2.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            grid2.RowsProportions.Add(new Proportion());
            grid2.RowsProportions.Add(new Proportion());
            grid2.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            grid2.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            grid2.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            grid2.GridPositionY       = 2;
            grid2.Widgets.Add(textBlock13);
            grid2.Widgets.Add(_horizontalProgressBar);
            grid2.Widgets.Add(_verticalProgressBar);

            var verticalSplitPane1 = new VerticalSplitPane();

            verticalSplitPane1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            verticalSplitPane1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            verticalSplitPane1.GridPositionX       = 2;
            verticalSplitPane1.Widgets.Add(grid1);
            verticalSplitPane1.Widgets.Add(grid2);

            var horizontalSplitPane1 = new HorizontalSplitPane();

            horizontalSplitPane1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            horizontalSplitPane1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            horizontalSplitPane1.GridPositionY       = 1;
            horizontalSplitPane1.Widgets.Add(scrollPane1);
            horizontalSplitPane1.Widgets.Add(verticalSplitPane1);


            DrawLinesColor = Color.White;
            RowSpacing     = 8;
            RowsProportions.Add(new Proportion());
            RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            Id = "Root";
            HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            Widgets.Add(horizontalMenu1);
            Widgets.Add(horizontalSplitPane1);
        }
        private void BuildUI()
        {
            _menuItemOpenFile              = new MenuItem();
            _menuItemOpenFile.Text         = "&Open";
            _menuItemOpenFile.ShortcutText = "Ctrl+O";
            _menuItemOpenFile.Id           = "_menuItemOpenFile";

            _menuItemSaveFile              = new MenuItem();
            _menuItemSaveFile.Text         = "&Save";
            _menuItemSaveFile.ShortcutText = "Ctrl+S";
            _menuItemSaveFile.Id           = "_menuItemSaveFile";

            _menuItemChooseFolder              = new MenuItem();
            _menuItemChooseFolder.Text         = "Choose Fol&der";
            _menuItemChooseFolder.ShortcutText = "Ctrl+D";
            _menuItemChooseFolder.Id           = "_menuItemChooseFolder";

            _menuItemChooseColor              = new MenuItem();
            _menuItemChooseColor.Text         = "Choose Co&lor";
            _menuItemChooseColor.ShortcutText = "Ctrl+L";
            _menuItemChooseColor.Id           = "_menuItemChooseColor";

            var menuSeparator1 = new MenuSeparator();

            _menuItemQuit              = new MenuItem();
            _menuItemQuit.Text         = "&Quit";
            _menuItemQuit.ShortcutText = "Ctrl+Q";
            _menuItemQuit.Id           = "_menuItemQuit";

            _menuFile      = new MenuItem();
            _menuFile.Text = "&File";
            _menuFile.Id   = "_menuFile";
            _menuFile.Items.Add(_menuItemOpenFile);
            _menuFile.Items.Add(_menuItemSaveFile);
            _menuFile.Items.Add(_menuItemChooseFolder);
            _menuFile.Items.Add(_menuItemChooseColor);
            _menuFile.Items.Add(menuSeparator1);
            _menuFile.Items.Add(_menuItemQuit);

            _menuItemCopy              = new MenuItem();
            _menuItemCopy.Text         = "&Copy";
            _menuItemCopy.ShortcutText = "Ctrl+Insert, Ctrl+C";
            _menuItemCopy.Id           = "_menuItemCopy";

            _menuItemPaste              = new MenuItem();
            _menuItemPaste.Text         = "&Paste";
            _menuItemPaste.ShortcutText = "Shift+Insert, Ctrl+V";
            _menuItemPaste.Id           = "_menuItemPaste";

            var menuSeparator2 = new MenuSeparator();

            _menuItemUndo              = new MenuItem();
            _menuItemUndo.Text         = "&Undo";
            _menuItemUndo.ShortcutText = "Ctrl+Z";
            _menuItemUndo.Id           = "_menuItemUndo";

            _menuItemRedo              = new MenuItem();
            _menuItemRedo.Text         = "&Redo";
            _menuItemRedo.ShortcutText = "Ctrl+Y";
            _menuItemRedo.Id           = "_menuItemRedo";

            _menuEdit      = new MenuItem();
            _menuEdit.Text = "&Edit";
            _menuEdit.Id   = "_menuEdit";
            _menuEdit.Items.Add(_menuItemCopy);
            _menuEdit.Items.Add(_menuItemPaste);
            _menuEdit.Items.Add(menuSeparator2);
            _menuEdit.Items.Add(_menuItemUndo);
            _menuEdit.Items.Add(_menuItemRedo);

            _menuItemAbout      = new MenuItem();
            _menuItemAbout.Text = "&About";
            _menuItemAbout.Id   = "_menuItemAbout";

            _menuHelp      = new MenuItem();
            _menuHelp.Text = "&Help";
            _menuHelp.Id   = "_menuHelp";
            _menuHelp.Items.Add(_menuItemAbout);

            _mainMenu = new HorizontalMenu();
            _mainMenu.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            _mainMenu.Id = "_mainMenu";
            _mainMenu.Items.Add(_menuFile);
            _mainMenu.Items.Add(_menuEdit);
            _mainMenu.Items.Add(_menuHelp);

            var label1 = new Label();

            label1.Text = "Button:";

            _buttonSaveFile            = new ImageTextButton();
            _buttonSaveFile.Text       = "Save File";
            _buttonSaveFile.Padding    = new Thickness(8, 0);
            _buttonSaveFile.GridColumn = 1;
            _buttonSaveFile.Id         = "_buttonSaveFile";

            _textSaveFile            = new TextBox();
            _textSaveFile.GridColumn = 2;
            _textSaveFile.Id         = "_textSaveFile";

            var label2 = new Label();

            label2.Text    = "Another Button:";
            label2.GridRow = 1;

            _buttonOpenFile            = new ImageTextButton();
            _buttonOpenFile.Text       = "Open File";
            _buttonOpenFile.Padding    = new Thickness(8, 0);
            _buttonOpenFile.GridColumn = 1;
            _buttonOpenFile.GridRow    = 1;
            _buttonOpenFile.Id         = "_buttonOpenFile";

            _textOpenFile            = new TextBox();
            _textOpenFile.GridColumn = 2;
            _textOpenFile.GridRow    = 1;
            _textOpenFile.Id         = "_textOpenFile";

            var label3 = new Label();

            label3.Text    = "Blue Button:";
            label3.GridRow = 2;

            _buttonChooseFolder            = new ImageTextButton("blue");
            _buttonChooseFolder.Text       = "Choose Folder";
            _buttonChooseFolder.Padding    = new Thickness(8, 0);
            _buttonChooseFolder.GridColumn = 1;
            _buttonChooseFolder.GridRow    = 2;
            _buttonChooseFolder.Id         = "_buttonChooseFolder";

            _textChooseFolder            = new TextBox();
            _textChooseFolder.GridColumn = 2;
            _textChooseFolder.GridRow    = 2;
            _textChooseFolder.Id         = "_textChooseFolder";

            _textButtonLabel         = new Label();
            _textButtonLabel.Text    = "Text Button:";
            _textButtonLabel.GridRow = 3;
            _textButtonLabel.Id      = "_textButtonLabel";

            _buttonChooseColor            = new TextButton();
            _buttonChooseColor.Text       = "Choose Color";
            _buttonChooseColor.Padding    = new Thickness(8, 0);
            _buttonChooseColor.GridColumn = 1;
            _buttonChooseColor.GridRow    = 3;
            _buttonChooseColor.Id         = "_buttonChooseColor";

            var label4 = new Label();

            label4.Text    = "Image Button:";
            label4.GridRow = 4;

            _imageButton            = new ImageButton();
            _imageButton.Padding    = new Thickness(8, 0);
            _imageButton.GridColumn = 1;
            _imageButton.GridRow    = 4;
            _imageButton.Id         = "_imageButton";

            var checkBox1 = new CheckBox();

            checkBox1.Text           = "This is checkbox";
            checkBox1.ImageWidth     = 10;
            checkBox1.ImageHeight    = 10;
            checkBox1.GridRow        = 5;
            checkBox1.GridColumnSpan = 2;

            var label5 = new Label();

            label5.Text    = "Horizontal Slider:";
            label5.GridRow = 6;

            var horizontalSlider1 = new HorizontalSlider();

            horizontalSlider1.GridColumn     = 1;
            horizontalSlider1.GridRow        = 6;
            horizontalSlider1.GridColumnSpan = 2;

            var label6 = new Label();

            label6.Text    = "Combo Box:";
            label6.GridRow = 7;

            var listItem1 = new ListItem();

            listItem1.Text  = "Red";
            listItem1.Color = Color.Red;

            var listItem2 = new ListItem();

            listItem2.Text  = "Green";
            listItem2.Color = Color.Lime;

            var listItem3 = new ListItem();

            listItem3.Text  = "Blue";
            listItem3.Color = ColorStorage.CreateColor(0, 128, 255, 255);

            var comboBox1 = new ComboBox();

            comboBox1.Width          = 200;
            comboBox1.GridColumn     = 1;
            comboBox1.GridRow        = 7;
            comboBox1.GridColumnSpan = 2;
            comboBox1.Items.Add(listItem1);
            comboBox1.Items.Add(listItem2);
            comboBox1.Items.Add(listItem3);

            var label7 = new Label();

            label7.Text    = "Text Field:";
            label7.GridRow = 8;

            var textBox1 = new TextBox();

            textBox1.GridColumn     = 1;
            textBox1.GridRow        = 8;
            textBox1.GridColumnSpan = 2;

            var label8 = new Label();

            label8.Text    = "Spin Button:";
            label8.GridRow = 9;

            var spinButton1 = new SpinButton();

            spinButton1.Value      = 1;
            spinButton1.Width      = 100;
            spinButton1.GridColumn = 1;
            spinButton1.GridRow    = 9;

            var label9 = new Label();

            label9.Text    = "List Box:";
            label9.GridRow = 10;

            var listItem4 = new ListItem();

            listItem4.Text  = "Red";
            listItem4.Color = Color.Red;

            var listItem5 = new ListItem();

            listItem5.Text  = "Green";
            listItem5.Color = Color.Lime;

            var listItem6 = new ListItem();

            listItem6.Text  = "Blue";
            listItem6.Color = Color.Blue;

            var listBox1 = new ListBox();

            listBox1.Width          = 200;
            listBox1.GridColumn     = 1;
            listBox1.GridRow        = 10;
            listBox1.GridColumnSpan = 2;
            listBox1.Items.Add(listItem4);
            listBox1.Items.Add(listItem5);
            listBox1.Items.Add(listItem6);

            var label10 = new Label();

            label10.Text    = "Vertical Menu:";
            label10.GridRow = 11;

            var menuItem1 = new MenuItem();

            menuItem1.Text = "Start New Game";

            var menuItem2 = new MenuItem();

            menuItem2.Text = "Options";

            var menuItem3 = new MenuItem();

            menuItem3.Text = "Quit";

            var verticalMenu1 = new VerticalMenu();

            verticalMenu1.GridColumn = 1;
            verticalMenu1.GridRow    = 11;
            verticalMenu1.Items.Add(menuItem1);
            verticalMenu1.Items.Add(menuItem2);
            verticalMenu1.Items.Add(menuItem3);

            var label11 = new Label();

            label11.Text    = "Tree";
            label11.GridRow = 12;

            _gridRight = new Grid();
            _gridRight.ColumnSpacing        = 8;
            _gridRight.RowSpacing           = 8;
            _gridRight.DefaultRowProportion = new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Auto,
            };
            _gridRight.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Auto,
            });
            _gridRight.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Auto,
            });
            _gridRight.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Fill,
            });
            _gridRight.Id = "_gridRight";
            _gridRight.Widgets.Add(label1);
            _gridRight.Widgets.Add(_buttonSaveFile);
            _gridRight.Widgets.Add(_textSaveFile);
            _gridRight.Widgets.Add(label2);
            _gridRight.Widgets.Add(_buttonOpenFile);
            _gridRight.Widgets.Add(_textOpenFile);
            _gridRight.Widgets.Add(label3);
            _gridRight.Widgets.Add(_buttonChooseFolder);
            _gridRight.Widgets.Add(_textChooseFolder);
            _gridRight.Widgets.Add(_textButtonLabel);
            _gridRight.Widgets.Add(_buttonChooseColor);
            _gridRight.Widgets.Add(label4);
            _gridRight.Widgets.Add(_imageButton);
            _gridRight.Widgets.Add(checkBox1);
            _gridRight.Widgets.Add(label5);
            _gridRight.Widgets.Add(horizontalSlider1);
            _gridRight.Widgets.Add(label6);
            _gridRight.Widgets.Add(comboBox1);
            _gridRight.Widgets.Add(label7);
            _gridRight.Widgets.Add(textBox1);
            _gridRight.Widgets.Add(label8);
            _gridRight.Widgets.Add(spinButton1);
            _gridRight.Widgets.Add(label9);
            _gridRight.Widgets.Add(listBox1);
            _gridRight.Widgets.Add(label10);
            _gridRight.Widgets.Add(verticalMenu1);
            _gridRight.Widgets.Add(label11);

            var scrollViewer1 = new ScrollViewer();

            scrollViewer1.Content = _gridRight;

            var label12 = new Label();

            label12.Text = "Vertical Slider:";

            var verticalSlider1 = new VerticalSlider();

            verticalSlider1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            verticalSlider1.GridRow             = 1;

            var grid1 = new Grid();

            grid1.RowSpacing = 8;
            grid1.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Fill,
            });
            grid1.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Auto,
            });
            grid1.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Fill,
            });
            grid1.Widgets.Add(label12);
            grid1.Widgets.Add(verticalSlider1);

            var label13 = new Label();

            label13.Text = "Progress Bars:";

            _horizontalProgressBar         = new HorizontalProgressBar();
            _horizontalProgressBar.GridRow = 1;
            _horizontalProgressBar.Id      = "_horizontalProgressBar";

            _verticalProgressBar = new VerticalProgressBar();
            _verticalProgressBar.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            _verticalProgressBar.GridRow             = 2;
            _verticalProgressBar.Id = "_verticalProgressBar";

            var grid2 = new Grid();

            grid2.RowSpacing = 8;
            grid2.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Fill,
            });
            grid2.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Auto,
            });
            grid2.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Auto,
            });
            grid2.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Fill,
            });
            grid2.Widgets.Add(label13);
            grid2.Widgets.Add(_horizontalProgressBar);
            grid2.Widgets.Add(_verticalProgressBar);

            var verticalSplitPane1 = new VerticalSplitPane();

            verticalSplitPane1.Widgets.Add(grid1);
            verticalSplitPane1.Widgets.Add(grid2);

            var horizontalSplitPane1 = new HorizontalSplitPane();

            horizontalSplitPane1.Widgets.Add(scrollViewer1);
            horizontalSplitPane1.Widgets.Add(verticalSplitPane1);


            Spacing = 8;
            Proportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Auto,
            });
            Proportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Fill,
            });
            Widgets.Add(_mainMenu);
            Widgets.Add(horizontalSplitPane1);
        }
示例#19
0
        private void BuildUI()
        {
            _saveEntity      = new MenuItem();
            _saveEntity.Text = "Save Entity";
            _saveEntity.Id   = "_saveEntity";

            _newEntity      = new MenuItem();
            _newEntity.Text = "New Entity";
            _newEntity.Id   = "_newEntity";

            _quit      = new MenuItem();
            _quit.Text = "Quit";
            _quit.Id   = "_quit";

            var verticalMenu1 = new VerticalMenu();

            verticalMenu1.Background = new SolidBrush("#404040FF");
            verticalMenu1.Items.Add(_saveEntity);
            verticalMenu1.Items.Add(_newEntity);
            verticalMenu1.Items.Add(_quit);

            var mainGrid = new Grid();

            //mainGrid.ShowGridLines = true;
            //mainGrid.ColumnSpacing = 8;
            //mainGrid.RowSpacing = 8;
            mainGrid.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Auto,
            });
            mainGrid.ColumnsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Fill,
            });
            mainGrid.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Part,
            });
            mainGrid.RowsProportions.Add(new Proportion
            {
                Type = Myra.Graphics2D.UI.ProportionType.Fill,
            });

            mainGrid.Widgets.Add(verticalMenu1);


            target                 = Entity.FromDefinition(Critter.GetCritter(TextureAtlas.Circle, Color.White));
            target.Tag             = "Foo";
            _simulation.EditTarget = target;

            _componentEditor                    = new PropertyGrid();
            _editorScrollPane                   = new ScrollViewer();
            _editorScrollPane.MinHeight         = 250;
            _editorScrollPane.Background        = new SolidBrush("#202020FF");
            _editorScrollPane.VerticalAlignment = VerticalAlignment.Bottom;

            _editorScrollPane.Content    = _componentEditor;
            _editorScrollPane.GridRow    = 1;
            _editorScrollPane.GridColumn = 1;
            mainGrid.Widgets.Add(_editorScrollPane);

            _entityTreeScroller            = new ScrollViewer();
            _entityTreeScroller.MinHeight  = 250;
            _entityTreeScroller.MinWidth   = 250;
            _entityTreeScroller.Background = new SolidBrush("#202020FF");
            _entityTreeScroller.Content    = new Tree();
            _entityTreeScroller.GridRow    = 1;
            mainGrid.Widgets.Add(_entityTreeScroller);
            RebuildTree();


            _entityEditWidget = new EntityEditWidget(target, this);
            //BuildTree(target, (CustomTree)root, "", entityTree);

            Panel previewPanel = new Panel();

            previewPanel.GridColumn = 1;
            previewPanel.MinWidth   = 4000;
            previewPanel.MinHeight  = 4000;
            Widgets.Add(previewPanel);
            Widgets.Add(mainGrid);
        }
示例#20
0
        private void BuildUI()
        {
            FpsLabel      = new Label();
            FpsLabel.Text = "20";
            FpsLabel.Font = MyraEnvironment.DefaultAssetManager.Load <SpriteFont>("Content/Fonts/Iceberg-Regular24.fnt");
            FpsLabel.Id   = "FpsLabel";

            StatusLabel                     = new Label();
            StatusLabel.Text                = "LOW HEALTH";
            StatusLabel.Font                = MyraEnvironment.DefaultAssetManager.Load <SpriteFont>("Content/Fonts/Iceberg-Regular32.fnt");
            StatusLabel.TextColor           = Color.Red;
            StatusLabel.Top                 = 100;
            StatusLabel.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            StatusLabel.Visible             = false;
            StatusLabel.Id                  = "StatusLabel";

            ArmourBar                 = new HorizontalProgressBar();
            ArmourBar.Value           = 60;
            ArmourBar.Filler          = new SolidBrush("#00FFFFFF");
            ArmourBar.BorderThickness = new Thickness(1);
            ArmourBar.Background      = new SolidBrush("#00000000");
            ArmourBar.Border          = new SolidBrush("#FFFFFFFF");
            ArmourBar.Id              = "ArmourBar";

            HealthBar                 = new HorizontalProgressBar();
            HealthBar.Value           = 75;
            HealthBar.Filler          = new SolidBrush("#008000FF");
            HealthBar.Top             = 18;
            HealthBar.BorderThickness = new Thickness(1);
            HealthBar.Background      = new SolidBrush("#FF0000FF");
            HealthBar.Border          = new SolidBrush("#FFFFFFFF");
            HealthBar.Id              = "HealthBar";

            VitalsPanel = new Panel();
            VitalsPanel.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Left;
            VitalsPanel.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Bottom;
            VitalsPanel.Left       = -2;
            VitalsPanel.Top        = -199;
            VitalsPanel.Width      = 180;
            VitalsPanel.Height     = 34;
            VitalsPanel.Padding    = new Thickness(2);
            VitalsPanel.Background = new SolidBrush("#00000000");
            VitalsPanel.Id         = "VitalsPanel";
            VitalsPanel.Widgets.Add(ArmourBar);
            VitalsPanel.Widgets.Add(HealthBar);

            var image1 = new Image();

            image1.Renderable          = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("Content/Gui/minimap.png");
            image1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            image1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Center;

            MinimapPlayerIcon            = new Image();
            MinimapPlayerIcon.Renderable = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("Content/Gui/dot.png");
            MinimapPlayerIcon.Visible    = false;
            MinimapPlayerIcon.Id         = "MinimapPlayerIcon";

            MinimapTeamPlayer1Icon            = new Image();
            MinimapTeamPlayer1Icon.Renderable = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("Content/Gui/dot.png");
            MinimapTeamPlayer1Icon.Color      = Color.Green;
            MinimapTeamPlayer1Icon.Visible    = false;
            MinimapTeamPlayer1Icon.Id         = "MinimapTeamPlayer1Icon";

            MinimapTeamPlayer2Icon            = new Image();
            MinimapTeamPlayer2Icon.Renderable = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("Content/Gui/dot.png");
            MinimapTeamPlayer2Icon.Color      = Color.Green;
            MinimapTeamPlayer2Icon.Visible    = false;
            MinimapTeamPlayer2Icon.Id         = "MinimapTeamPlayer2Icon";

            MinimapMothershipIcon            = new Image();
            MinimapMothershipIcon.Renderable = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("Content/Gui/dot.png");
            MinimapMothershipIcon.Color      = Color.Aqua;
            MinimapMothershipIcon.Visible    = false;
            MinimapMothershipIcon.Id         = "MinimapMothershipIcon";

            MinimapPanel = new Panel();
            MinimapPanel.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Left;
            MinimapPanel.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Bottom;
            MinimapPanel.Width = 180;
            MinimapPanel.Id    = "MinimapPanel";
            MinimapPanel.Widgets.Add(image1);
            MinimapPanel.Widgets.Add(MinimapPlayerIcon);
            MinimapPanel.Widgets.Add(MinimapTeamPlayer1Icon);
            MinimapPanel.Widgets.Add(MinimapTeamPlayer2Icon);
            MinimapPanel.Widgets.Add(MinimapMothershipIcon);

            var image2 = new Image();

            image2.Renderable        = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("Content/Gui/resources.png");
            image2.Top               = -179;
            image2.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Bottom;

            var image3 = new Image();

            image3.Renderable        = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("Content/Gui/ico_mothership.png");
            image3.Left              = 2;
            image3.Top               = -181;
            image3.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Bottom;

            var image4 = new Image();

            image4.Renderable        = MyraEnvironment.DefaultAssetManager.Load <TextureRegion>("Content/Gui/ico_playership.png");
            image4.Left              = 90;
            image4.Top               = -181;
            image4.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Bottom;

            ResourcesMothershipLabel      = new Label();
            ResourcesMothershipLabel.Text = "5000";
            ResourcesMothershipLabel.Left = 22;
            ResourcesMothershipLabel.Top  = -179;
            ResourcesMothershipLabel.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Bottom;
            ResourcesMothershipLabel.Id = "ResourcesMothershipLabel";

            ResourcesPlayershipLabel      = new Label();
            ResourcesPlayershipLabel.Text = "500";
            ResourcesPlayershipLabel.Left = 110;
            ResourcesPlayershipLabel.Top  = -179;
            ResourcesPlayershipLabel.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Bottom;
            ResourcesPlayershipLabel.Id = "ResourcesPlayershipLabel";

            PlayerUpgradeCloseButton      = new TextButton();
            PlayerUpgradeCloseButton.Text = "X";
            PlayerUpgradeCloseButton.Font = MyraEnvironment.DefaultAssetManager.Load <SpriteFont>("Content/Fonts/Iceberg-Regular24.fnt");
            PlayerUpgradeCloseButton.PressedBackground   = new SolidBrush("#474747FF");
            PlayerUpgradeCloseButton.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Right;
            PlayerUpgradeCloseButton.Background          = new SolidBrush("#00000000");
            PlayerUpgradeCloseButton.Id = "PlayerUpgradeCloseButton";

            var label1 = new Label();

            label1.Text = "Playership";
            label1.Font = MyraEnvironment.DefaultAssetManager.Load <SpriteFont>("Content/Fonts/Iceberg-Regular24.fnt");

            var horizontalSeparator1 = new HorizontalSeparator();

            horizontalSeparator1.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Top;
            horizontalSeparator1.Top = 30;

            PlayerUpgradeArmour      = new MenuItem();
            PlayerUpgradeArmour.Text = "Armour";
            PlayerUpgradeArmour.Id   = "PlayerUpgradeArmour";

            PlayerUpgradeSpeed      = new MenuItem();
            PlayerUpgradeSpeed.Text = "Speed";
            PlayerUpgradeSpeed.Id   = "PlayerUpgradeSpeed";

            PlayerUpgradeWeapon      = new MenuItem();
            PlayerUpgradeWeapon.Text = "Weapon";
            PlayerUpgradeWeapon.Id   = "PlayerUpgradeWeapon";

            var verticalMenu1 = new VerticalMenu();

            verticalMenu1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            verticalMenu1.LabelFont           = MyraEnvironment.DefaultAssetManager.Load <SpriteFont>("Content/Fonts/Iceberg-Regular24.fnt");
            verticalMenu1.Top    = 39;
            verticalMenu1.Border = new SolidBrush("#00000000");
            verticalMenu1.Items.Add(PlayerUpgradeArmour);
            verticalMenu1.Items.Add(PlayerUpgradeSpeed);
            verticalMenu1.Items.Add(PlayerUpgradeWeapon);

            PlayershipUpgradePanel = new Panel();
            PlayershipUpgradePanel.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            PlayershipUpgradePanel.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Center;
            PlayershipUpgradePanel.Left            = -250;
            PlayershipUpgradePanel.Width           = 200;
            PlayershipUpgradePanel.Height          = 131;
            PlayershipUpgradePanel.BorderThickness = new Thickness(3);
            PlayershipUpgradePanel.Padding         = new Thickness(5);
            PlayershipUpgradePanel.Visible         = false;
            PlayershipUpgradePanel.Opacity         = 0.5f;
            PlayershipUpgradePanel.Background      = new SolidBrush("#120045FF");
            PlayershipUpgradePanel.Border          = new SolidBrush("#2B2B2BFF");
            PlayershipUpgradePanel.Id = "PlayershipUpgradePanel";
            PlayershipUpgradePanel.Widgets.Add(PlayerUpgradeCloseButton);
            PlayershipUpgradePanel.Widgets.Add(label1);
            PlayershipUpgradePanel.Widgets.Add(horizontalSeparator1);
            PlayershipUpgradePanel.Widgets.Add(verticalMenu1);

            MotherUpgradeCloseButton      = new TextButton();
            MotherUpgradeCloseButton.Text = "X";
            MotherUpgradeCloseButton.Font = MyraEnvironment.DefaultAssetManager.Load <SpriteFont>("Content/Fonts/Iceberg-Regular24.fnt");
            MotherUpgradeCloseButton.PressedBackground   = new SolidBrush("#474747FF");
            MotherUpgradeCloseButton.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Right;
            MotherUpgradeCloseButton.Background          = new SolidBrush("#00000000");
            MotherUpgradeCloseButton.Id = "MotherUpgradeCloseButton";

            var label2 = new Label();

            label2.Text = "Mothership";
            label2.Font = MyraEnvironment.DefaultAssetManager.Load <SpriteFont>("Content/Fonts/Iceberg-Regular24.fnt");

            var horizontalSeparator2 = new HorizontalSeparator();

            horizontalSeparator2.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Top;
            horizontalSeparator2.Top = 30;

            MotherUpgradeArmour      = new MenuItem();
            MotherUpgradeArmour.Text = "Armour";
            MotherUpgradeArmour.Id   = "MotherUpgradeArmour";

            MotherUpgradeSpeed      = new MenuItem();
            MotherUpgradeSpeed.Text = "Speed";
            MotherUpgradeSpeed.Id   = "MotherUpgradeSpeed";

            MotherUpgradeWeapon      = new MenuItem();
            MotherUpgradeWeapon.Text = "Weapon";
            MotherUpgradeWeapon.Id   = "MotherUpgradeWeapon";

            var verticalMenu2 = new VerticalMenu();

            verticalMenu2.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            verticalMenu2.LabelFont           = MyraEnvironment.DefaultAssetManager.Load <SpriteFont>("Content/Fonts/Iceberg-Regular24.fnt");
            verticalMenu2.Top    = 39;
            verticalMenu2.Border = new SolidBrush("#00000000");
            verticalMenu2.Items.Add(MotherUpgradeArmour);
            verticalMenu2.Items.Add(MotherUpgradeSpeed);
            verticalMenu2.Items.Add(MotherUpgradeWeapon);

            MothershipUpgradePanel = new Panel();
            MothershipUpgradePanel.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            MothershipUpgradePanel.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Center;
            MothershipUpgradePanel.Left            = -250;
            MothershipUpgradePanel.Width           = 200;
            MothershipUpgradePanel.Height          = 131;
            MothershipUpgradePanel.BorderThickness = new Thickness(3);
            MothershipUpgradePanel.Padding         = new Thickness(5);
            MothershipUpgradePanel.Visible         = false;
            MothershipUpgradePanel.Opacity         = 0.5f;
            MothershipUpgradePanel.Background      = new SolidBrush("#120045FF");
            MothershipUpgradePanel.Border          = new SolidBrush("#2B2B2BFF");
            MothershipUpgradePanel.Id = "MothershipUpgradePanel";
            MothershipUpgradePanel.Widgets.Add(MotherUpgradeCloseButton);
            MothershipUpgradePanel.Widgets.Add(label2);
            MothershipUpgradePanel.Widgets.Add(horizontalSeparator2);
            MothershipUpgradePanel.Widgets.Add(verticalMenu2);


            Padding = new Thickness(10);
            Widgets.Add(FpsLabel);
            Widgets.Add(StatusLabel);
            Widgets.Add(VitalsPanel);
            Widgets.Add(MinimapPanel);
            Widgets.Add(image2);
            Widgets.Add(image3);
            Widgets.Add(image4);
            Widgets.Add(ResourcesMothershipLabel);
            Widgets.Add(ResourcesPlayershipLabel);
            Widgets.Add(PlayershipUpgradePanel);
            Widgets.Add(MothershipUpgradePanel);
        }
示例#21
0
        public void ShowContextMenu(TileObject tile)
        {
            if (Desktop.ContextMenu != null)
            {
                // Dont show if it's already shown
                return;
            }

            var container = new VerticalStackPanel
            {
                Spacing = 4
            };

            var titleContainer = new Panel
            {
                Background = DefaultAssets.UITextureRegionAtlas["button"],
            };

            var titleLabel = new Label
            {
                Text = "Choose Option",
                HorizontalAlignment = HorizontalAlignment.Center
            };

            titleContainer.Widgets.Add(titleLabel);
            container.Widgets.Add(titleContainer);

            var menuItem1 = new MenuItem();

            menuItem1.Text      = "Change levelDepth";
            menuItem1.Selected += (s, a) =>
            {
                // "Start New Game" selected
                //  mapMenuComponent.ShowGridResizingMenu();
            };

            var rotateAction = new MenuItem();

            rotateAction.Text      = "Rotate";
            rotateAction.Selected += (s, a) =>
            {
                // "Start New Game" selected
                //  mapMenuComponent.ShowGridResizingMenu();
                tile.isRotated = true;
                if (tile.rotationAngle == MathHelper.Pi * 2)
                {
                    tile.rotationAngle = 0;
                }
                else
                {
                    tile.rotationAngle += MathHelper.PiOver2;
                }
            };


            var menuItem2 = new MenuItem();

            menuItem2.Text      = "Options";
            menuItem2.Selected += (s, a) =>
            {
                tilePropertiesWindow = new TilePropertiesWindow(tile);
                tilePropertiesWindow.CenterOnDesktop();
                tilePropertiesWindow.Show();
                // "Start New Game" selected
            };



            var menuItem3 = new MenuItem();

            menuItem3.Text = "Quit";

            var verticalMenu = new VerticalMenu();

            if (game.isTileClicked(Desktop.TouchPosition.X, Desktop.TouchPosition.Y))
            {
                verticalMenu.Items.Add(menuItem1);
                verticalMenu.Items.Add(menuItem2);
                verticalMenu.Items.Add(menuItem3);
                verticalMenu.Items.Add(rotateAction);
            }
            else
            {
                verticalMenu.Items.Add(menuItem3);
            }
            container.Widgets.Add(verticalMenu);

            var mouseState    = Mouse.GetState();
            var mousePosition = new Point(mouseState.X, mouseState.Y);

            //Vector2 worldPosition = Vector2.Transform(new Vector2(mouseState.X,mouseState.Y), Matrix.Invert(camera._transform));
            Microsoft.Xna.Framework.Vector2 worldPosition = Microsoft.Xna.Framework.Vector2.Transform(new Microsoft.Xna.Framework.Vector2(mouseState.X, mouseState.Y), Matrix.Invert(camera.get_transformation(graphicsDevice)));
            Desktop.ShowContextMenu(container, Desktop.TouchPosition);
        }
示例#22
0
        private void HandleAutoComplete()
        {
            if (_desktop.ContextMenu == _autoCompleteMenu)
            {
                _desktop.HideContextMenu();
            }

            if (_currentTagStart == null || _currentTagEnd != null || string.IsNullOrEmpty(_parentTag))
            {
                return;
            }

            var cursorPos = _ui._textSource.CursorPosition;
            var text      = _ui._textSource.Text;

            // Tag isn't closed
            var typed = text.Substring(_currentTagStart.Value, cursorPos - _currentTagStart.Value);

            if (typed.StartsWith("<"))
            {
                typed = typed.Substring(1);

                var all = BuildAutoCompleteVariants();

                // Filter typed
                if (!string.IsNullOrEmpty(typed))
                {
                    all = (from a in all where a.StartsWith(typed, StringComparison.OrdinalIgnoreCase) select a).ToList();
                }

                if (all.Count > 0)
                {
                    var lastStartPos = _currentTagStart.Value;
                    var lastEndPos   = cursorPos;
                    // Build context menu
                    _autoCompleteMenu = new VerticalMenu();
                    foreach (var a in all)
                    {
                        var menuItem = new MenuItem
                        {
                            Text = a
                        };

                        menuItem.Selected += (s, args) =>
                        {
                            var result     = "<" + menuItem.Text;
                            var skip       = result.Length;
                            var needsClose = false;

                            if (SimpleWidgets.Contains(menuItem.Text) ||
                                Project.IsProportionName(menuItem.Text) ||
                                menuItem.Text == MenuItemName ||
                                menuItem.Text == ListItemName)
                            {
                                result += "/>";
                                skip   += 2;
                            }
                            else
                            {
                                result += ">";
                                ++skip;

                                if (_options.AutoIndent && _options.IndentSpacesSize > 0)
                                {
                                    // Indent before cursor pos
                                    result += "\n";
                                    var indentSize = _options.IndentSpacesSize * (_indentLevel + 1);
                                    result += new string(' ', indentSize);
                                    skip   += indentSize;

                                    // Indent before closing tag
                                    result    += "\n";
                                    indentSize = _options.IndentSpacesSize * _indentLevel;
                                    result    += new string(' ', indentSize);
                                }
                                result += "</" + menuItem.Text + ">";
                                ++skip;
                                needsClose = true;
                            }

                            _ui._textSource.Replace(lastStartPos, lastEndPos - lastStartPos, result);
                            _ui._textSource.CursorPosition = lastStartPos + skip;
                            if (needsClose)
                            {
                                //								_ui._textSource.OnKeyDown(Keys.Enter);
                            }
                        };

                        _autoCompleteMenu.Items.Add(menuItem);
                    }

                    var screen = _ui._textSource.CursorScreenPosition;
                    screen.Y += _ui._textSource.Font.LineSpacing;

                    if (_autoCompleteMenu.Items.Count > 0)
                    {
                        _autoCompleteMenu.HoverIndex = 0;
                    }

                    _desktop.ShowContextMenu(_autoCompleteMenu, screen);
                    _refreshInitiated = null;
                }
            }
        }
示例#23
0
        private void BuildUI()
        {
            _menuItemNew      = new MenuItem();
            _menuItemNew.Id   = "_menuItemNew";
            _menuItemNew.Text = "&New";

            _menuItemOpen      = new MenuItem();
            _menuItemOpen.Id   = "_menuItemOpen";
            _menuItemOpen.Text = "&Open";

            _menuItemSave      = new MenuItem();
            _menuItemSave.Id   = "_menuItemSave";
            _menuItemSave.Text = "&Save";

            _menuItemSaveAs      = new MenuItem();
            _menuItemSaveAs.Id   = "_menuItemSaveAs";
            _menuItemSaveAs.Text = "Save &As...";

            var menuSeparator1 = new MenuSeparator();

            _menuItemQuit      = new MenuItem();
            _menuItemQuit.Id   = "_menuItemQuit";
            _menuItemQuit.Text = "&Quit";

            var menuItem1 = new MenuItem();

            menuItem1.Id   = "";
            menuItem1.Text = "&File";
            menuItem1.Items.Add(_menuItemNew);
            menuItem1.Items.Add(_menuItemOpen);
            menuItem1.Items.Add(_menuItemSave);
            menuItem1.Items.Add(_menuItemSaveAs);
            menuItem1.Items.Add(menuSeparator1);
            menuItem1.Items.Add(_menuItemQuit);

            _menuItemCopy      = new MenuItem();
            _menuItemCopy.Id   = "_menuItemCopy";
            _menuItemCopy.Text = "&Copy";

            _menuItemPaste      = new MenuItem();
            _menuItemPaste.Id   = "_menuItemPaste";
            _menuItemPaste.Text = "&Paste";

            var menuSeparator2 = new MenuSeparator();

            _menuItemUndo      = new MenuItem();
            _menuItemUndo.Id   = "_menuItemUndo";
            _menuItemUndo.Text = "&Undo";

            _menuItemRedo      = new MenuItem();
            _menuItemRedo.Id   = "_menuItemRedo";
            _menuItemRedo.Text = "&Redo";

            var menuItem2 = new MenuItem();

            menuItem2.Id   = "";
            menuItem2.Text = "&Edit";
            menuItem2.Items.Add(_menuItemCopy);
            menuItem2.Items.Add(_menuItemPaste);
            menuItem2.Items.Add(menuSeparator2);
            menuItem2.Items.Add(_menuItemUndo);
            menuItem2.Items.Add(_menuItemRedo);

            _menuItemAbout      = new MenuItem();
            _menuItemAbout.Id   = "_menuItemAbout";
            _menuItemAbout.Text = "&About";

            var menuItem3 = new MenuItem();

            menuItem3.Id   = "";
            menuItem3.Text = "&Help";
            menuItem3.Items.Add(_menuItemAbout);

            var horizontalMenu1 = new HorizontalMenu();

            horizontalMenu1.VerticalAlignment = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            horizontalMenu1.Items.Add(menuItem1);
            horizontalMenu1.Items.Add(menuItem2);
            horizontalMenu1.Items.Add(menuItem3);

            var textBlock1 = new TextBlock();

            textBlock1.Text = "Button:";
            textBlock1.Id   = "";

            _buttonSaveFile              = new Button();
            _buttonSaveFile.Text         = "Save File";
            _buttonSaveFile.Id           = "_buttonSaveFile";
            _buttonSaveFile.PaddingLeft  = 8;
            _buttonSaveFile.PaddingRight = 8;
            _buttonSaveFile.GridColumn   = 1;

            _textSaveFile            = new TextField();
            _textSaveFile.Text       = "";
            _textSaveFile.Id         = "_textSaveFile";
            _textSaveFile.GridColumn = 2;

            var textBlock2 = new TextBlock();

            textBlock2.Text    = "Another Button:";
            textBlock2.Id      = "";
            textBlock2.GridRow = 1;

            _buttonOpenFile              = new Button();
            _buttonOpenFile.Text         = "Open File";
            _buttonOpenFile.Id           = "_buttonOpenFile";
            _buttonOpenFile.PaddingLeft  = 8;
            _buttonOpenFile.PaddingRight = 8;
            _buttonOpenFile.GridColumn   = 1;
            _buttonOpenFile.GridRow      = 1;

            _textOpenFile            = new TextField();
            _textOpenFile.Text       = "";
            _textOpenFile.Id         = "_textOpenFile";
            _textOpenFile.GridColumn = 2;
            _textOpenFile.GridRow    = 1;

            var textBlock3 = new TextBlock();

            textBlock3.Text    = "Blue Button:";
            textBlock3.Id      = "";
            textBlock3.GridRow = 2;

            _buttonChooseFolder              = new Button("blue");
            _buttonChooseFolder.Text         = "Choose Folder";
            _buttonChooseFolder.Id           = "_buttonChooseFolder";
            _buttonChooseFolder.PaddingLeft  = 8;
            _buttonChooseFolder.PaddingRight = 8;
            _buttonChooseFolder.GridColumn   = 1;
            _buttonChooseFolder.GridRow      = 2;

            _textChooseFolder            = new TextField();
            _textChooseFolder.Text       = "";
            _textChooseFolder.Id         = "_textChooseFolder";
            _textChooseFolder.GridColumn = 2;
            _textChooseFolder.GridRow    = 2;

            _textButtonLabel         = new TextBlock();
            _textButtonLabel.Text    = "Text Button:";
            _textButtonLabel.Id      = "_textButtonLabel";
            _textButtonLabel.GridRow = 3;

            _buttonChooseColor              = new TextButton();
            _buttonChooseColor.Text         = "Choose Color";
            _buttonChooseColor.Id           = "_buttonChooseColor";
            _buttonChooseColor.PaddingLeft  = 8;
            _buttonChooseColor.PaddingRight = 8;
            _buttonChooseColor.GridColumn   = 1;
            _buttonChooseColor.GridRow      = 3;

            var textBlock4 = new TextBlock();

            textBlock4.Text    = "Image Button:";
            textBlock4.Id      = "";
            textBlock4.GridRow = 4;

            _imageButton              = new ImageButton();
            _imageButton.Id           = "_imageButton";
            _imageButton.PaddingLeft  = 8;
            _imageButton.PaddingRight = 8;
            _imageButton.GridColumn   = 1;
            _imageButton.GridRow      = 4;

            var checkBox1 = new CheckBox();

            checkBox1.Text           = "This is checkbox";
            checkBox1.ImageWidth     = 10;
            checkBox1.ImageHeight    = 10;
            checkBox1.GridRow        = 5;
            checkBox1.GridColumnSpan = 2;

            var textBlock5 = new TextBlock();

            textBlock5.Text    = "Horizontal Slider:";
            textBlock5.Id      = "";
            textBlock5.GridRow = 6;

            var horizontalSlider1 = new HorizontalSlider();

            horizontalSlider1.GridColumn     = 1;
            horizontalSlider1.GridRow        = 6;
            horizontalSlider1.GridColumnSpan = 2;

            var textBlock6 = new TextBlock();

            textBlock6.Text    = "Combo Box:";
            textBlock6.GridRow = 7;

            var listItem1 = new ListItem();

            listItem1.Id    = "";
            listItem1.Text  = "Red";
            listItem1.Color = Color.Red;

            var listItem2 = new ListItem();

            listItem2.Id    = null;
            listItem2.Text  = "Green";
            listItem2.Color = Color.Lime;

            var listItem3 = new ListItem();

            listItem3.Id    = null;
            listItem3.Text  = "Blue";
            listItem3.Color = new Color
            {
                B = 255,
                G = 128,
                R = 0,
                A = 255,
            };

            var comboBox1 = new ComboBox();

            comboBox1.SelectedIndex  = 1;
            comboBox1.Width          = 200;
            comboBox1.GridColumn     = 1;
            comboBox1.GridRow        = 7;
            comboBox1.GridColumnSpan = 2;
            comboBox1.Items.Add(listItem1);
            comboBox1.Items.Add(listItem2);
            comboBox1.Items.Add(listItem3);

            var textBlock7 = new TextBlock();

            textBlock7.Text    = "Text Field:";
            textBlock7.GridRow = 8;

            var textField1 = new TextField();

            textField1.Text           = "";
            textField1.GridColumn     = 1;
            textField1.GridRow        = 8;
            textField1.GridColumnSpan = 2;

            var textBlock8 = new TextBlock();

            textBlock8.Text    = "Spin Button:";
            textBlock8.GridRow = 9;

            var spinButton1 = new SpinButton();

            spinButton1.Width      = 100;
            spinButton1.GridColumn = 1;
            spinButton1.GridRow    = 9;

            var textBlock9 = new TextBlock();

            textBlock9.Text    = "List Box:";
            textBlock9.GridRow = 10;

            var listItem4 = new ListItem();

            listItem4.Id    = null;
            listItem4.Text  = "Red";
            listItem4.Color = Color.Red;

            var listItem5 = new ListItem();

            listItem5.Id    = null;
            listItem5.Text  = "Green";
            listItem5.Color = Color.Lime;

            var listItem6 = new ListItem();

            listItem6.Id    = null;
            listItem6.Text  = "Blue";
            listItem6.Color = Color.Blue;

            var listBox1 = new ListBox();

            listBox1.Width          = 200;
            listBox1.GridColumn     = 1;
            listBox1.GridRow        = 10;
            listBox1.GridColumnSpan = 2;
            listBox1.Items.Add(listItem4);
            listBox1.Items.Add(listItem5);
            listBox1.Items.Add(listItem6);

            var textBlock10 = new TextBlock();

            textBlock10.Text    = "Vertical Menu:";
            textBlock10.GridRow = 11;

            var menuItem4 = new MenuItem();

            menuItem4.Id   = "";
            menuItem4.Text = "Start New Game";

            var menuItem5 = new MenuItem();

            menuItem5.Id   = "";
            menuItem5.Text = "Options";

            var menuItem6 = new MenuItem();

            menuItem6.Id   = "";
            menuItem6.Text = "Quit";

            var verticalMenu1 = new VerticalMenu();

            verticalMenu1.GridColumn = 1;
            verticalMenu1.GridRow    = 11;
            verticalMenu1.Items.Add(menuItem4);
            verticalMenu1.Items.Add(menuItem5);
            verticalMenu1.Items.Add(menuItem6);

            var textBlock11 = new TextBlock();

            textBlock11.Text    = "Tree";
            textBlock11.GridRow = 12;

            _gridRight = new Grid();
            _gridRight.ColumnSpacing = 8;
            _gridRight.RowSpacing    = 8;
            _gridRight.ColumnsProportions.Add(new Grid.Proportion());
            _gridRight.ColumnsProportions.Add(new Grid.Proportion());
            _gridRight.ColumnsProportions.Add(new Grid.Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.RowsProportions.Add(new Grid.Proportion());
            _gridRight.Id = "_gridRight";
            _gridRight.Widgets.Add(textBlock1);
            _gridRight.Widgets.Add(_buttonSaveFile);
            _gridRight.Widgets.Add(_textSaveFile);
            _gridRight.Widgets.Add(textBlock2);
            _gridRight.Widgets.Add(_buttonOpenFile);
            _gridRight.Widgets.Add(_textOpenFile);
            _gridRight.Widgets.Add(textBlock3);
            _gridRight.Widgets.Add(_buttonChooseFolder);
            _gridRight.Widgets.Add(_textChooseFolder);
            _gridRight.Widgets.Add(_textButtonLabel);
            _gridRight.Widgets.Add(_buttonChooseColor);
            _gridRight.Widgets.Add(textBlock4);
            _gridRight.Widgets.Add(_imageButton);
            _gridRight.Widgets.Add(checkBox1);
            _gridRight.Widgets.Add(textBlock5);
            _gridRight.Widgets.Add(horizontalSlider1);
            _gridRight.Widgets.Add(textBlock6);
            _gridRight.Widgets.Add(comboBox1);
            _gridRight.Widgets.Add(textBlock7);
            _gridRight.Widgets.Add(textField1);
            _gridRight.Widgets.Add(textBlock8);
            _gridRight.Widgets.Add(spinButton1);
            _gridRight.Widgets.Add(textBlock9);
            _gridRight.Widgets.Add(listBox1);
            _gridRight.Widgets.Add(textBlock10);
            _gridRight.Widgets.Add(verticalMenu1);
            _gridRight.Widgets.Add(textBlock11);

            var scrollPane1 = new ScrollPane();

            scrollPane1.Child = _gridRight;

            var textBlock12 = new TextBlock();

            textBlock12.Text = "Vertical Slider:";

            var verticalSlider1 = new VerticalSlider();

            verticalSlider1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            verticalSlider1.GridRow             = 1;

            var grid1 = new Grid();

            grid1.RowSpacing = 8;
            grid1.ColumnsProportions.Add(new Grid.Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            grid1.RowsProportions.Add(new Grid.Proportion());
            grid1.RowsProportions.Add(new Grid.Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            grid1.Widgets.Add(textBlock12);
            grid1.Widgets.Add(verticalSlider1);

            var textBlock13 = new TextBlock();

            textBlock13.Text = "Progress Bars:";

            _horizontalProgressBar         = new HorizontalProgressBar();
            _horizontalProgressBar.Id      = "_horizontalProgressBar";
            _horizontalProgressBar.GridRow = 1;

            _verticalProgressBar = new VerticalProgressBar();
            _verticalProgressBar.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Center;
            _verticalProgressBar.Id      = "_verticalProgressBar";
            _verticalProgressBar.GridRow = 2;

            var grid2 = new Grid();

            grid2.RowSpacing = 8;
            grid2.ColumnsProportions.Add(new Grid.Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            grid2.RowsProportions.Add(new Grid.Proportion());
            grid2.RowsProportions.Add(new Grid.Proportion());
            grid2.RowsProportions.Add(new Grid.Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            grid2.GridRow = 2;
            grid2.Widgets.Add(textBlock13);
            grid2.Widgets.Add(_horizontalProgressBar);
            grid2.Widgets.Add(_verticalProgressBar);

            var verticalSplitPane1 = new VerticalSplitPane();

            verticalSplitPane1.GridColumn = 2;
            verticalSplitPane1.Widgets.Add(grid1);
            verticalSplitPane1.Widgets.Add(grid2);

            var horizontalSplitPane1 = new HorizontalSplitPane();

            horizontalSplitPane1.GridRow = 1;
            horizontalSplitPane1.Widgets.Add(scrollPane1);
            horizontalSplitPane1.Widgets.Add(verticalSplitPane1);


            RowSpacing = 8;
            RowsProportions.Add(new Grid.Proportion());
            RowsProportions.Add(new Grid.Proportion
            {
                Type = Myra.Graphics2D.UI.Grid.ProportionType.Fill,
            });
            Id = "Root";
            Widgets.Add(horizontalMenu1);
            Widgets.Add(horizontalSplitPane1);
        }