Esempio n. 1
0
        public void Zoom(float f, bool changezoomslider = true)
        {
            float maxzoom = Settings.Default.SuperZoom ? 200 : 24;

            if ((Track.Zoom >= maxzoom && f > 0) || (Track.Zoom <= 0.1f && f < 0) || Math.Abs(f) < 0.001)
            {
                return;
            }
            Track.Zoom += f;
            if (Track.Zoom < 0.1f)
            {
                Track.Zoom = 0.1f;
            }
            if (Track.Zoom > maxzoom)
            {
                Track.Zoom = maxzoom;
            }
            Invalidate();
            VerticalSlider vslider = (VerticalSlider)Canvas.FindChildByName("vslider", true);

            if (changezoomslider)
            {
                if (vslider != null)
                {
                    vslider.Value = Track.Zoom;
                }
            }
            vslider.SetToolTipText(Math.Round(Track.Zoom, 2) + "x");
        }
Esempio n. 2
0
    public PopupList(int _x, int _y, int _width, int _height, int _numOptions)
    {
        x = _x;
        y = _y;
        width = _width;
        height = _height;
        numOptions = _numOptions;
        bShow = false;
        options = new List<string>();

        lowerIndex = 0;

        int sliderBarHeight = _numOptions * _height;
        verticalSlider = new VerticalSlider(_x + _width - verticalSliderWidth,
                                            _y + _height,
                                            verticalSliderWidth,
                                            _numOptions * _height,
                                            sliderBarHeight);

        verticalSlider.SetOnArrowUpEvent(delegate {
            UpList();
        });

        verticalSlider.SetOnArrowDownEvent(delegate {
            DownList();
        });
    }
        internal VerticalScrollbar()
        {
            TopButton    = new Button();
            BottomButton = new Button();

            verticalSlider = new VerticalSlider(TopButton, BottomButton);
        }
Esempio n. 4
0
        public MultiplayerChat(Menu.Menu menu, MenuObject owner, Vector2 pos, Vector2 size) : base(menu, owner, pos, size)
        {
            backgroundRect = new RoundedRect(menu, owner, pos, size, true);
            this.subObjects.Add(backgroundRect);

            slider = new VerticalSlider(menu, this, "Slider", new Vector2(-20f, 9f), new Vector2(30f, this.size.y - 40f), Slider.SliderID.LevelsListScroll, true);
            this.subObjects.Add(slider);
        }
        public MultiplayerDisplayMenu(Menu.Menu menu, MenuObject owner, Vector2 pos, Vector2 size, Vector2 displayElementSize, float displayElementFade = 10) : base(menu, owner, pos, size)
        {
            backgroundRect = new RoundedRect(menu, owner, pos, size, true);
            this.subObjects.Add(backgroundRect);

            slider = new VerticalSlider(menu, this, "Slider", new Vector2(-20f, 9f), new Vector2(30f, this.size.y - 40f), Slider.SliderID.LevelsListScroll, true);
            this.subObjects.Add(slider);

            this.displayElementSize = displayElementSize;
            this.displayFadeStart   = displayElementFade;
        }
        /// <summary>
        /// Create a new color picker Option.
        /// </summary>
        /// <param name="fixedHeight">
        ///   Whether <c cref="Height">Height</c> should return the maximum possible height given the style, or the current height.
        ///   Older versions of GMCM do not support options dynamically updating height.
        /// </param>
        /// <param name="getValue">A function that returns the current value in the underlying configuration object</param>
        /// <param name="setValue">A function that should save the given value to the underlying configuration object</param>
        /// <param name="showAlpha">Whether a slider should be shown for setting the Alpha channel or not</param>
        /// <param name="style">Specify which types of color picker to show</param>
        public ColorPickerOption(bool fixedHeight, Func <Color> getValue, Action <Color> setValue, bool showAlpha = true, ColorPickerStyle style = 0)
        {
            FixedHeight  = fixedHeight;
            GetValue     = getValue;
            SetValue     = setValue;
            ShowAlpha    = showAlpha;
            currentValue = getValue();

            if (style == ColorPickerStyle.Default)
            {
                style = ColorPickerStyle.AllStyles | ColorPickerStyle.ToggleChooser;
            }
            EffectiveStyle = style;

            ShowStylePicker = (style.HasFlag(ColorPickerStyle.RadioChooser) || style.HasFlag(ColorPickerStyle.ToggleChooser)) &&
                              BitOperations.PopCount((uint)(style & ColorPickerStyle.AllStyles)) > 1;
            Action <IconButton> styleButtonClick = style.HasFlag(ColorPickerStyle.ToggleChooser) ? IconButton.ToggleSelected : StyleButtonRadio;
            bool defaultSelected = !style.HasFlag(ColorPickerStyle.RadioChooser);

            RGBStyleButton = new IconButton(rgbStripe, null, "RGB", styleButtonClick, defaultSelected && style.HasFlag(ColorPickerStyle.RGBSliders));
            HSVStyleButton = new IconButton(smallColorWheel, null, "HSV", styleButtonClick, defaultSelected && style.HasFlag(ColorPickerStyle.HSVColorWheel));
            HSLStyleButton = new IconButton(smallColorWheel, null, "HSL", styleButtonClick, defaultSelected && style.HasFlag(ColorPickerStyle.HSLColorWheel));
            StyleButtons   = new List <IconButton>();
            if (style.HasFlag(ColorPickerStyle.RGBSliders))
            {
                StyleButtons.Add(RGBStyleButton);
            }
            if (style.HasFlag(ColorPickerStyle.HSVColorWheel))
            {
                StyleButtons.Add(HSVStyleButton);
            }
            if (style.HasFlag(ColorPickerStyle.HSLColorWheel))
            {
                StyleButtons.Add(HSLStyleButton);
            }
            if (ShowStylePicker && style.HasFlag(ColorPickerStyle.RadioChooser))
            {
                StyleButtons[0].Selected = true;
            }

            sliderR = new ColorSlider((b) => new Color((int)b, 0, 0, 255), currentValue.R, (b) => { currentValue.R = b; RGBChanged(); });
            sliderG = new ColorSlider((b) => new Color(0, (int)b, 0, 255), currentValue.G, (b) => { currentValue.G = b; RGBChanged(); });
            sliderB = new ColorSlider((b) => new Color(0, 0, (int)b, 255), currentValue.B, (b) => { currentValue.B = b; RGBChanged(); });
            sliderA = new ColorSlider((b) => new Color(0, 0, 0, (int)b), currentValue.A, (b) => { currentValue.A = b; });

            hsvWheel = new ColorWheel((h, s) => ColorUtil.FromHSV(h, s, vSlider.Value), HSVWheelChanged, 150);
            vSlider  = new VerticalSlider((v) => ColorUtil.FromHSV(hsvWheel.HueRadians, hsvWheel.Saturation, v), VSliderChanged, 150);
            hslWheel = new ColorWheel((h, s) => ColorUtil.FromHSL(h, s, lSlider.Value), HSLWheelChanged, 150);
            lSlider  = new VerticalSlider((v) => ColorUtil.FromHSL(hslWheel.HueRadians, hslWheel.Saturation, v), LSliderChanged, 150);
            ResetHSVWheel();
            ResetHSLWheel();
        }
Esempio n. 7
0
        public SliderTest(ControlBase parent) : base(parent)
        {
            TableLayout table = new TableLayout(parent);

            table.ColumnCount = 2;
            // table.Dock = Dock.Fill;
            table.Width  = 500;
            table.Height = 500;
            var row = table.CreateRow();
            // Gwen.Controls.sl
            VerticalSlider slider = new VerticalSlider(row.GetCell(0));

            slider.Tooltip = "val";
            slider.SetRange(0, 100);
            //row.AutoSizeToContents = true;
            HorizontalSlider slider2 = new HorizontalSlider(row.GetCell(1));

            slider2.Width = 100;
            slider2.SetRange(0, 100);
            row                  = table.CreateRow();
            slider               = new VerticalSlider(row.GetCell(0));
            slider.NotchCount    = 10;
            slider.ValueChanged += (o, e) =>
            {
                var sl = (Slider)o;
                Console.WriteLine(sl.Value);
            };
            slider.SnapToNotches = true;
            slider.SetRange(0, 100);
            //row.AutoSizeToContents = true;
            slider2 = new HorizontalSlider(row.GetCell(1));
            slider2.SnapToNotches = true;
            slider2.Width         = 100;
            slider2.SetRange(-100, 100);
            slider2.NotchCount    = 15;
            slider2.SnapToNotches = true;
            slider2.Tooltip       = "I have notches but theyre hidden";
            slider2.DrawNotches   = false;
            row     = table.CreateRow();
            slider2 = new HorizontalSlider(row.GetCell(1));
            slider2.SnapToNotches = true;
            slider2.Disable();
            slider2.Width = 100;
            slider2.SetRange(-100, 100);
            slider2.NotchCount    = 15;
            slider2.SnapToNotches = true;
            slider2.Tooltip       = "I have notches but theyre hidden";
            slider2.DrawNotches   = false;
        }
Esempio n. 8
0
        public SliderTest(ControlBase parent)
            : base(parent)
        {
            HorizontalLayout hlayout = new HorizontalLayout(this);

            VerticalLayout vlayout = new VerticalLayout(hlayout);

            {
                HorizontalSlider slider = new HorizontalSlider(vlayout);
                slider.Margin = Margin.Ten;
                slider.Width  = 150;
                slider.SetRange(0, 100);
                slider.Value         = 25;
                slider.ValueChanged += SliderMoved;
            }

            {
                HorizontalSlider slider = new HorizontalSlider(vlayout);
                slider.Margin = Margin.Ten;
                slider.Width  = 150;
                slider.SetRange(0, 100);
                slider.Value         = 20;
                slider.NotchCount    = 10;
                slider.SnapToNotches = true;
                slider.ValueChanged += SliderMoved;
            }

            {
                VerticalSlider slider = new VerticalSlider(hlayout);
                slider.Margin = Margin.Ten;
                slider.Height = 200;
                slider.SetRange(0, 100);
                slider.Value         = 25;
                slider.ValueChanged += SliderMoved;
            }

            {
                VerticalSlider slider = new VerticalSlider(hlayout);
                slider.Margin = Margin.Ten;
                slider.Height = 200;
                slider.SetRange(0, 100);
                slider.Value         = 20;
                slider.NotchCount    = 10;
                slider.SnapToNotches = true;
                slider.ValueChanged += SliderMoved;
            }
        }
        public void SetZoom(float val, bool changezoomslider = true)
        {
            float maxzoom = Settings.SuperZoom ? 200 : 24;

            Track.Zoom = MathHelper.Clamp(val, 0.1f, maxzoom);

            VerticalSlider vslider = (VerticalSlider)Canvas.FindChildByName("vslider", true);

            if (changezoomslider)
            {
                if (vslider != null)
                {
                    vslider.Value = Track.Zoom;
                }
            }
            vslider.SetToolTipText(Math.Round(Track.Zoom, 2) + "x");
            Invalidate();
        }
Esempio n. 10
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            {
                HorizontalSlider slider = new HorizontalSlider(this);
                slider.SetPosition(10, 10);
                slider.SetSize(150, 20);
                slider.SetRange(0, 100);
                slider.Value         = 25;
                slider.ValueChanged += SliderMoved;
            }

            {
                HorizontalSlider slider = new HorizontalSlider(this);
                slider.SetPosition(10, 40);
                slider.SetSize(150, 20);
                slider.SetRange(0, 100);
                slider.Value         = 20;
                slider.NotchCount    = 10;
                slider.SnapToNotches = true;
                slider.ValueChanged += SliderMoved;
            }

            {
                VerticalSlider slider = new VerticalSlider(this);
                slider.SetPosition(160, 10);
                slider.SetSize(20, 200);
                slider.SetRange(0, 100);
                slider.Value         = 25;
                slider.ValueChanged += SliderMoved;
            }

            {
                VerticalSlider slider = new VerticalSlider(this);
                slider.SetPosition(190, 10);
                slider.SetSize(20, 200);
                slider.SetRange(0, 100);
                slider.Value         = 20;
                slider.NotchCount    = 10;
                slider.SnapToNotches = true;
                slider.ValueChanged += SliderMoved;
            }
        }
Esempio n. 11
0
        private void BuildUI()
        {
            var label1 = new Label();

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

            _button              = new ImageTextButton();
            _button.Text         = "Button";
            _button.Id           = "_button";
            _button.PaddingLeft  = 8;
            _button.PaddingRight = 8;
            _button.GridColumn   = 1;

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

            _textButton              = new TextButton();
            _textButton.Text         = "Button 2";
            _textButton.Id           = "_textButton";
            _textButton.PaddingLeft  = 8;
            _textButton.PaddingRight = 8;
            _textButton.GridColumn   = 1;
            _textButton.GridRow      = 1;

            var label2 = new Label();

            label2.Text    = "Image Button:";
            label2.Id      = "";
            label2.GridRow = 2;

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

            var checkBox1 = new CheckBox();

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

            var label3 = new Label();

            label3.Text    = "Horizontal Slider:";
            label3.Id      = "";
            label3.GridRow = 4;

            var horizontalSlider1 = new HorizontalSlider();

            horizontalSlider1.GridColumn = 1;
            horizontalSlider1.GridRow    = 4;

            var label4 = new Label();

            label4.Text    = "Combo Box:";
            label4.GridRow = 5;

            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.Width      = 200;
            comboBox1.GridColumn = 1;
            comboBox1.GridRow    = 5;
            comboBox1.Items.Add(listItem1);
            comboBox1.Items.Add(listItem2);
            comboBox1.Items.Add(listItem3);

            var label5 = new Label();

            label5.Text    = "Text Field:";
            label5.GridRow = 6;

            var textBox1 = new TextBox();

            textBox1.Text       = "";
            textBox1.GridColumn = 1;
            textBox1.GridRow    = 6;

            var label6 = new Label();

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

            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    = 7;
            listBox1.Items.Add(listItem4);
            listBox1.Items.Add(listItem5);
            listBox1.Items.Add(listItem6);

            var label7 = new Label();

            label7.Text    = "Tree";
            label7.GridRow = 8;

            _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.Fill,
            });
            _gridRight.Id = "_gridRight";
            _gridRight.Widgets.Add(label1);
            _gridRight.Widgets.Add(_button);
            _gridRight.Widgets.Add(_textButtonLabel);
            _gridRight.Widgets.Add(_textButton);
            _gridRight.Widgets.Add(label2);
            _gridRight.Widgets.Add(_imageButton);
            _gridRight.Widgets.Add(checkBox1);
            _gridRight.Widgets.Add(label3);
            _gridRight.Widgets.Add(horizontalSlider1);
            _gridRight.Widgets.Add(label4);
            _gridRight.Widgets.Add(comboBox1);
            _gridRight.Widgets.Add(label5);
            _gridRight.Widgets.Add(textBox1);
            _gridRight.Widgets.Add(label6);
            _gridRight.Widgets.Add(listBox1);
            _gridRight.Widgets.Add(label7);

            var scrollViewer1 = new ScrollViewer();

            scrollViewer1.Content = _gridRight;

            var label8 = new Label();

            label8.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(label8);
            grid1.Widgets.Add(verticalSlider1);

            var label9 = new Label();

            label9.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 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(label9);
            grid2.Widgets.Add(_horizontalProgressBar);
            grid2.Widgets.Add(_verticalProgressBar);

            var verticalSplitPane1 = new VerticalSplitPane();

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


            GridRow = 1;
            Widgets.Add(scrollViewer1);
            Widgets.Add(verticalSplitPane1);
        }
Esempio n. 12
0
        public GameCanvas(SkinBase skin, MainWindow Game, Gwen.Renderer.OpenTK renderer) : base(skin)
        {
            game           = Game;
            this.Renderer  = renderer;
            BoundsChanged += GameCanvas_BoundsChanged;
            SpriteLoading  = new Sprite(this);
            SpriteLoading.SetImage(GameResources.loading);
            SpriteLoading.IsHidden             = true;
            SpriteLoading.IsTabable            = false;
            SpriteLoading.KeyboardInputEnabled = false;
            SpriteLoading.MouseInputEnabled    = false;
            SpriteLoading.SetSize(32, 32);
            SpriteLoading.RotationPoint.X = 16;
            SpriteLoading.RotationPoint.Y = 16;
            SpriteLoading.SetPosition(Width - 32, 0);


            Scrubber = new HorizontalIntSlider(this)
            {
                X                    = 120,
                Y                    = Height - 25,
                Width                = Width - 120 * 2,
                Height               = 25,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "timeslider",
            };
            var btnfastfoward = new ImageButton(this)
            {
                X                    = Scrubber.Right,
                Y                    = Height - 36,
                Width                = 32,
                Height               = 32,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "btnfastforward"
            };

            btnfastfoward.SetImage(GameResources.fast_forward, GameResources.fast_forward_white);
            var btnslowmo = new ImageButton(this)
            {
                X                    = Scrubber.X - 24,
                Y                    = Height - 36,
                Width                = 32,
                Height               = 32,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "btnslowmo"
            };

            btnslowmo.SetImage(GameResources.rewind, GameResources.rewind_white);
            btnslowmo.Clicked     += (o, e) => { game.PlaybackSpeedDown(); };
            btnfastfoward.Clicked += (o, e) => { game.PlaybackSpeedUp(); };

            Scrubber.ValueChanged += scrubber_ValueChanged;
            var labelTrackName = new Label(this)
            {
                TextColor = System.Drawing.Color.Black,
                Dock      = Pos.Left,
                Margin    = new Margin(5, 0, 0, 20),
                Name      = "trackname"
            };
            Label labeliteration = new Label(this);

            labeliteration.Name = "labeliterations";
            labeliteration.SetText("");
            labeliteration.TextColor = Color.Black;
            Align.PlaceDownLeft(labeliteration, labelTrackName);

            var toprightcontainer = new ControlBase(this)
            {
                Dock              = Pos.Right,
                IsTabable         = false,
                Width             = 150,
                Height            = 300,
                MouseInputEnabled = false
            };

            new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "fps"
            };
            var labelppf = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "ppf"
            };
            var labelPlayback = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "labelplayback"
            };

            new Label(this)
            {
                TextColor = Color.Black, Name = "flagtime"
            };
            var textheight = renderer.MeasureText(skin.DefaultFont, "").Y + 3;

            labelppf.SetPosition(0, textheight);
            labelPlayback.SetPosition(0, textheight * 2);

            var vslider = new VerticalSlider(this)
            {
                Min                  = 0.1f,
                Max                  = 24f,
                Value                = game.Track.Zoom,
                IsTabable            = false,
                KeyboardInputEnabled = false
            };

            vslider.ValueChanged += (o, e) =>
            {
                var slider = (VerticalSlider)o;
                game.SetZoom(slider.Value, false);
            };
            vslider.SetPosition(0, (int)Height - 150);
            vslider.Name = "vslider";
            Align.AlignRight(vslider);
            vslider.Height = 125;
        }
Esempio n. 13
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);
        }
Esempio n. 15
0
        void FillGrid(Grid uiPage, XElement xePageConfig)
        {
            foreach (var xeControl in xePageConfig.Elements())
            {
                switch (xeControl.Name.LocalName)
                {
                case "OnOff":
                    var butOnOff = new OnOffButton();
                    SetPosition(uiPage, butOnOff, xeControl);
                    uiPage.Children.Add(butOnOff);
                    break;

                case "ValueReverser":
                    var butDmxReverse = new BindingReverserButton();
                    SetPosition(uiPage, butDmxReverse, xeControl);
                    uiPage.Children.Add(butDmxReverse);
                    break;

                case "Push":
                    var butPush = new PushButton();
                    SetPosition(uiPage, butPush, xeControl);
                    uiPage.Children.Add(butPush);
                    break;

                case "MainLcd":
                    var mainLcd = new LcdDisplay();
                    SetPosition(uiPage, mainLcd, xeControl);
                    uiPage.Children.Add(mainLcd);
                    break;

                case "VerticalSlider":
                    var sld = new VerticalSlider();
                    SetPosition(uiPage, sld, xeControl);
                    uiPage.Children.Add(sld);
                    break;

                case "Border":
                    var brd = new Border()
                    {
                        BorderThickness = new Thickness(2), BorderBrush = new SolidColorBrush(Colors.White)
                    };
                    SetPosition(uiPage, brd, xeControl);
                    uiPage.Children.Add(brd);
                    break;

                case "Joystick":
                    var jstick = new Joystick();
                    SetPosition(uiPage, jstick, xeControl);
                    uiPage.Children.Add(jstick);
                    break;

                case "ColorSelector":
                    var colselect = new ColorSelector();
                    SetPosition(uiPage, colselect, xeControl);
                    uiPage.Children.Add(colselect);
                    break;

                case "TouchBpm":
                    var tbpmarea = new TouchBpmArea();
                    SetPosition(uiPage, tbpmarea, xeControl);
                    uiPage.Children.Add(tbpmarea);
                    break;
                }
            }
        }
Esempio n. 16
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);
        }
Esempio n. 17
0
        private void BuildUI()
        {
            var textBlock1 = new TextBlock();

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

            _button      = new Button();
            _button.Text = "Button";
            _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;

            _textButtonLabel               = new TextBlock();
            _textButtonLabel.Text          = "Text Button:";
            _textButtonLabel.Id            = "_textButtonLabel";
            _textButtonLabel.GridPositionY = 1;

            _textButton      = new TextButton();
            _textButton.Text = "Text Button";
            _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 = 1;

            var textBlock2 = new TextBlock();

            textBlock2.Text          = "Image Button:";
            textBlock2.Id            = "";
            textBlock2.GridPositionY = 2;

            _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 = 2;

            var checkBox1 = new CheckBox();

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

            var textBlock3 = new TextBlock();

            textBlock3.Text          = "Horizontal Slider:";
            textBlock3.Id            = "";
            textBlock3.GridPositionY = 4;

            var horizontalSlider1 = new HorizontalSlider();

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

            var textBlock4 = new TextBlock();

            textBlock4.Text          = "Combo Box:";
            textBlock4.GridPositionY = 5;

            var listItem1 = new ListItem();

            listItem1.Id   = "";
            listItem1.Text = "Item 1";

            var listItem2 = new ListItem();

            listItem2.Text = "Item 2";

            var listItem3 = new ListItem();

            listItem3.Text = "Item 3";

            var comboBox1 = new ComboBox();

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

            var textBlock5 = new TextBlock();

            textBlock5.Text          = "Text Field:";
            textBlock5.GridPositionY = 6;

            var textField1 = new TextField();

            textField1.Text = "";
            textField1.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            textField1.GridPositionX       = 1;
            textField1.GridPositionY       = 6;
            textField1.ClipToBounds        = true;
            textField1.CanFocus            = true;

            var textBlock6 = new TextBlock();

            textBlock6.Text          = "List Box:";
            textBlock6.GridPositionY = 7;

            var listItem4 = new ListItem();

            listItem4.Text = "Item 1";

            var listItem5 = new ListItem();

            listItem5.Text = "Item 2";

            var listItem6 = new ListItem();

            listItem6.Text = "Item 3";

            var listBox1 = new ListBox();

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

            var textBlock7 = new TextBlock();

            textBlock7.Text          = "Tree";
            textBlock7.GridPositionY = 8;

            _gridRight = new Grid();
            _gridRight.DrawLinesColor = Color.White;
            _gridRight.ColumnSpacing  = 8;
            _gridRight.RowSpacing     = 8;
            _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.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(_textButtonLabel);
            _gridRight.Widgets.Add(_textButton);
            _gridRight.Widgets.Add(textBlock2);
            _gridRight.Widgets.Add(_imageButton);
            _gridRight.Widgets.Add(checkBox1);
            _gridRight.Widgets.Add(textBlock3);
            _gridRight.Widgets.Add(horizontalSlider1);
            _gridRight.Widgets.Add(textBlock4);
            _gridRight.Widgets.Add(comboBox1);
            _gridRight.Widgets.Add(textBlock5);
            _gridRight.Widgets.Add(textField1);
            _gridRight.Widgets.Add(textBlock6);
            _gridRight.Widgets.Add(listBox1);
            _gridRight.Widgets.Add(textBlock7);

            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 textBlock8 = new TextBlock();

            textBlock8.Text = "Vertical Slider:";

            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 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.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            grid1.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            grid1.Widgets.Add(textBlock8);
            grid1.Widgets.Add(verticalSlider1);

            var textBlock9 = new TextBlock();

            textBlock9.Text = "Progress Bars:";

            _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 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.HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            grid2.VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            grid2.GridPositionY       = 2;
            grid2.Widgets.Add(textBlock9);
            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);


            HorizontalAlignment = Myra.Graphics2D.UI.HorizontalAlignment.Stretch;
            VerticalAlignment   = Myra.Graphics2D.UI.VerticalAlignment.Stretch;
            GridPositionY       = 1;
            Widgets.Add(scrollPane1);
            Widgets.Add(verticalSplitPane1);
        }
Esempio n. 18
0
        internal static VisualTreeElement Serialize(XmlNode node, Control root)
        {
            ElementPair parse = null;

            switch (node.Name)
            {
            case "Control":
                parse = Control.ParseNested(node, root);
                break;

            case "VerticalPanel":
                parse = VerticalPanel.Parse(node, root);
                break;

            case "HorizontalPanel":
                parse = HorizontalPanel.Parse(node, root);
                break;

            case "Button":
                parse = Button.Parse(node, root);
                break;

            case "Label":
                parse = Label.Parse(node, root);
                break;

            case "Text":
                parse = Textbox.Parse(node, root);
                break;

            case "ListBox":
                parse = ListBox.Parse(node, root);
                break;

            case "Grid":
                parse = Grid.Parse(node, root);
                break;

            case "Calendar":
                parse = Calendar.Parse(node, root);
                break;

            case "Panel":
                parse = Panel.Parse(node, root);
                break;

            case "VerticalSlider":
                parse = VerticalSlider.Parse(node, root);
                break;

            case "HorizontalSlider":
                parse = HorizontalSlider.Parse(node, root);
                break;

            default:
                break;
            }
            if (parse != null)
            {
                parse.Element.BindWidgetProperties(node, root);
                foreach (XmlNode child in node.ChildNodes)
                {
                    if (child.NodeType == XmlNodeType.Comment)
                    {
                        continue;
                    }
                    var nextElement = Serialize(child, root);
                    if (parse.Element is IAttachable)
                    {
                        ((IAttachable)parse.Element).AttachProperties(nextElement, child);
                    }
                    if (nextElement != null)
                    {
                        parse.AddToElement(nextElement);
                    }
                }
                return(parse.Element);
            }
            return(null);
        }
Esempio n. 19
0
        public static GameCanvas CreateCanvas(GLWindow game)
        {
            var renderer = new Gwen.Renderer.OpenTK();

            var tx = new Texture(renderer);

            Gwen.Renderer.OpenTK.LoadTextureInternal(tx, GameResources.DefaultSkin);
            var skin    = new TexturedBase(renderer, tx, GameResources.DefaultColors);
            var bmpfont = new Gwen.Renderer.OpenTK.BitmapFont(renderer, "SourceSansPro", 10, 10, GameResources.SourceSansProq,
                                                              new List <System.Drawing.Bitmap> {
                GameResources.SourceSansPro_img
            });

            skin.DefaultFont = bmpfont;
            var canvas = new GameCanvas(skin, game)
            {
                Renderer = renderer
            };

            canvas.SpriteLoading = new Sprite(canvas);
            canvas.SpriteLoading.SetImage(GameResources.loading);
            canvas.SpriteLoading.IsHidden             = true;
            canvas.SpriteLoading.IsTabable            = false;
            canvas.SpriteLoading.KeyboardInputEnabled = false;
            canvas.SpriteLoading.MouseInputEnabled    = false;
            canvas.SpriteLoading.SetSize(32, 32);
            canvas.SpriteLoading.RotationPoint.X = 16;
            canvas.SpriteLoading.RotationPoint.Y = 16;
            canvas.SpriteLoading.SetPosition(canvas.Width - 32, 0);

            var timeslider = new HorizontalIntSlider(canvas)
            {
                X                    = 120,
                Y                    = canvas.Height - 25,
                Width                = canvas.Width - 120 * 2,
                Height               = 25,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "timeslider",
            };
            var btnfastfoward = new ImageButton(canvas)
            {
                X                    = timeslider.Right,
                Y                    = canvas.Height - 25,
                Width                = 24,
                Height               = 24,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "btnfastforward"
            };

            btnfastfoward.SetImage(GameResources.fast_forward, GameResources.fast_forward_white);
            var btnslowmo = new ImageButton(canvas)
            {
                X                    = timeslider.X - 24,
                Y                    = canvas.Height - 25,
                Width                = 24,
                Height               = 24,
                IsTabable            = false,
                IsHidden             = true,
                KeyboardInputEnabled = false,
                Name                 = "btnslowmo"
            };

            btnslowmo.SetImage(GameResources.rewind, GameResources.rewind_white);
            btnslowmo.Clicked     += (o, e) => { game.PlaybackDown(); };
            btnfastfoward.Clicked += (o, e) => { game.PlaybackUp(); };

            timeslider.ValueChanged += canvas.timeslider_ValueChanged;
            var labelTrackName = new Label(canvas)
            {
                TextColor = System.Drawing.Color.Black,
                Dock      = Pos.Left,
                Margin    = new Margin(5, 0, 0, 0),
                Name      = "trackname"
            };
            Label labeliteration = new Label(canvas);

            labeliteration.Name = "labeliterations";
            labeliteration.Font = new Font(renderer, "Arial", 18);
            labeliteration.SetText("");
            labeliteration.TextColor = Color.Black;
            Align.PlaceDownLeft(labeliteration, labelTrackName);

            var toprightcontainer = new ControlBase(canvas)
            {
                Dock              = Pos.Right,
                Width             = 150,
                Height            = 300,
                MouseInputEnabled = false
            };
            var fps = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "fps"
            };
            var labelppf = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "ppf"
            };
            var labelPlayback = new Label(toprightcontainer)
            {
                TextColor = Color.Black, Name = "labelplayback"
            };
            var flagtime = new Label(canvas)
            {
                TextColor = Color.Black, Name = "flagtime"
            };
            var textheight = renderer.MeasureText(skin.DefaultFont, "@").Y + 3;

            labelppf.SetPosition(0, textheight);
            labelPlayback.SetPosition(0, textheight * 2);

            var vslider = new VerticalSlider(canvas)
            {
                Min = 0.1f, Max = 24f, Value = game.Track.Zoom, IsTabable = false
            };

            vslider.ValueChanged += (o, e) =>
            {
                var slider = (VerticalSlider)o;
                var diff   = slider.Value - game.Track.Zoom;
                game.Zoom(diff, false);
            };
            vslider.SetPosition(0, (int)canvas.Height - 150);
            vslider.Name = "vslider";
            Align.AlignRight(vslider);
            vslider.Height = 125;
            return(canvas);
        }
Esempio n. 20
0
        protected override void LoadContent()
        {
            base.LoadContent();

            MyraEnvironment.Game = this;

            // Widget.DrawFrames = true;
            _host = new Desktop();

            var grid = new Grid
            {
                RowSpacing    = 3,
                ColumnSpacing = 3,
                //				DrawLines = true
            };

            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Part, 1.0f));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Part, 2.0f));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Pixels, 150.0f));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.ColumnsProportions.Add(new Grid.Proportion(Grid.ProportionType.Fill));

            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Part, 1.0f));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Part, 1.0f));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Pixels, 200.0f));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Auto));
            grid.RowsProportions.Add(new Grid.Proportion(Grid.ProportionType.Fill));

            // Create headers
            for (var i = 1; i < grid.ColumnsProportions.Count; ++i)
            {
                var header = new TextBlock
                {
                    Text          = grid.ColumnsProportions[i].ToString(),
                    GridPositionX = i,
                    GridPositionY = 0
                };

                grid.Widgets.Add(header);
            }

            // Combo
            var combo = new ComboBox
            {
                GridPositionX = 1,
                GridPositionY = 1
            };

            combo.Items.Add(new ListItem("Red", Color.Red));
            combo.Items.Add(new ListItem("Green", Color.Green));
            combo.Items.Add(new ListItem("Blue", Color.Blue));
            grid.Widgets.Add(combo);

            // Button
            var button = new Button
            {
                GridPositionX       = 2,
                GridPositionY       = 1,
                GridSpanX           = 2,
                GridSpanY           = 1,
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Text = "This is 2 columns button"
            };

            button.Down += (s, a) =>
            {
                var messageBox = Dialog.CreateMessageBox("2C", "2 Columns Button pushed!");
                messageBox.ShowModal(_host);
            };

            grid.Widgets.Add(button);

            // Button
            var button2 = new Button
            {
                GridPositionX       = 2,
                GridPositionY       = 2,
                GridSpanX           = 1,
                GridSpanY           = 2,
                HorizontalAlignment = HorizontalAlignment.Stretch,
                VerticalAlignment   = VerticalAlignment.Stretch,
                Text = "This is 2 rows button"
            };

            button2.Down += (s, a) =>
            {
                var messageBox = Dialog.CreateMessageBox("2R", "2 Rows Button pushed!");
                messageBox.ShowModal(_host);
            };
            grid.Widgets.Add(button2);

            var label = new TextBlock
            {
                Text =
                    "Lorem ipsum [Green]dolor sit amet, [Red]consectetur adipisicing elit, sed do eiusmod [#AAAAAAAA]tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. [white]Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum!",
                VerticalSpacing = 0,
                TextColor       = Color.AntiqueWhite,
                Wrap            = true
            };

            var pane = new ScrollPane
            {
                Widget     = label,
                WidthHint  = 200,
                HeightHint = 200
            };

            _window = new Window
            {
                Title   = "Text",
                Content = pane
            };

            var button3 = new Button
            {
                Text          = "Show Window",
                GridPositionX = 4,
                GridPositionY = 3
            };

            grid.Widgets.Add(button3);

            button3.Up += (sender, args) =>
            {
                _window.ShowModal(_host);
            };

            // Horizontal slider
            var hslider = new HorizontalSlider
            {
                GridPositionX = 3,
                GridPositionY = 2
            };

            grid.Widgets.Add(hslider);

            // Horizontal slider value
            var hsliderValue = new TextBlock
            {
                GridPositionX = 4,
                GridPositionY = 2,
                Text          = "HSlider Value: 0"
            };

            hslider.ValueChanged += (sender, args) =>
            {
                hsliderValue.Text = string.Format("HSlider Value: {0:0.00}", hslider.Value);
            };

            grid.Widgets.Add(hsliderValue);

            var textBlock = new TextBlock
            {
                WidthHint     = 125,
                Text          = "This is textblock which spans for several lines to demonstrate row proportion set to Auto",
                GridPositionX = 4,
                GridPositionY = 1
            };

            grid.Widgets.Add(textBlock);

            var checkBox = new CheckBox
            {
                Text          = "This is a checkbox",
                GridPositionX = 3,
                GridPositionY = 3,
            };

            grid.Widgets.Add(checkBox);

            // Spin buttons
            var textField = new TextField
            {
                GridPositionX = 5,
                GridPositionY = 1,
                WidthHint     = 100
            };

            grid.Widgets.Add(textField);

            var spinButton2 = new SpinButton
            {
                GridPositionX = 5,
                GridPositionY = 2,
                WidthHint     = 100,
                Integer       = true
            };

            grid.Widgets.Add(spinButton2);

            // Progress bars
            _horizontalProgressBar = new HorizontalProgressBar
            {
                GridPositionX = 5,
                GridPositionY = 3,
                WidthHint     = 100
            };
            grid.Widgets.Add(_horizontalProgressBar);

            _verticalProgressBar = new VerticalProgressBar
            {
                GridPositionX = 6,
                GridPositionY = 1,
                HeightHint    = 100
            };
            grid.Widgets.Add(_verticalProgressBar);

            // List box
            var list = new ListBox
            {
                GridPositionX = 5,
                GridPositionY = 4
            };

            list.Items.Add(new ListItem("Red", Color.Red));
            list.Items.Add(new ListItem("Green", Color.Green));
            list.Items.Add(new ListItem("Blue", Color.Blue));
            grid.Widgets.Add(list);

            // Vertical slider
            var vslider = new VerticalSlider
            {
                GridPositionX = 2,
                GridPositionY = 4
            };

            grid.Widgets.Add(vslider);

            // Vertical slider value
            var vsliderValue = new TextBlock
            {
                GridPositionX = 4,
                GridPositionY = 4,
                Text          = "VSlider Value: 0"
            };

            vslider.ValueChanged += (sender, args) =>
            {
                vsliderValue.Text = string.Format("VSlider Value: {0:0.00}", vslider.Value);
            };

            grid.Widgets.Add(vsliderValue);

            var tree = new Tree
            {
                HasRoot       = false,
                GridPositionX = 3,
                GridPositionY = 4
            };
            var node1 = tree.AddSubNode("node1");
            var node2 = node1.AddSubNode("node2");
            var node3 = node2.AddSubNode("node3");

            node3.AddSubNode("node4");
            node3.AddSubNode("node5");
            node2.AddSubNode("node6");

            grid.Widgets.Add(tree);

            var textBlock2 = new TextBlock
            {
                Text          = "This is long textblock",
                GridPositionX = 1,
                GridPositionY = 4
            };

            grid.Widgets.Add(textBlock2);

            var hsplitPane = new HorizontalSplitPane
            {
                GridPositionX = 1,
                GridPositionY = 5
            };
            var hsplitPaneLabel1 = new TextBlock
            {
                Text = "Left"
            };

            hsplitPane.Widgets.Add(hsplitPaneLabel1);
            var hsplitPaneLabel2 = new TextBlock
            {
                Text = "Right"
            };

            hsplitPane.Widgets.Add(hsplitPaneLabel2);
            grid.Widgets.Add(hsplitPane);

            var vsplitPane = new VerticalSplitPane
            {
                GridPositionX = 6,
                GridPositionY = 4
            };
            var vsplitPaneLabel1 = new TextBlock
            {
                Text = "Top"
            };

            vsplitPane.Widgets.Add(vsplitPaneLabel1);
            var vsplitPaneLabel2 = new TextBlock
            {
                Text = "Bottom"
            };

            vsplitPane.Widgets.Add(vsplitPaneLabel2);
            grid.Widgets.Add(vsplitPane);

            for (var i = 1; i < grid.RowsProportions.Count; ++i)
            {
                var header = new TextBlock
                {
                    Text          = grid.RowsProportions[i].ToString(),
                    GridPositionX = 0,
                    GridPositionY = i
                };

                grid.Widgets.Add(header);
            }

            _host.Widgets.Add(grid);
        }
Esempio n. 21
0
        public AnchorLayoutTest(ControlBase parent)
            : base(parent)
        {
            m_Font = new Font(Skin.Renderer, "Arial", 10);

            AnchorLayout layout = new AnchorLayout(this);

            layout.Size         = new Size(445, 165);
            layout.Padding      = Padding.Five;
            layout.AnchorBounds = new Rectangle(0, 0, 445, 165);

            Button button = new Button(layout);

            button.Font         = m_Font;
            button.Text         = "Left Top";
            button.AnchorBounds = new Rectangle(10, 10, 100, 20);
            button.Anchor       = Anchor.LeftTop;

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Center Top";
            button.AnchorBounds = new Rectangle(150, 10, 100, 20);
            button.Anchor       = new Anchor(50, 0, 50, 0);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Right Top";
            button.AnchorBounds = new Rectangle(290, 10, 100, 20);
            button.Anchor       = Anchor.RightTop;

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Left Center";
            button.AnchorBounds = new Rectangle(10, 50, 100, 20);
            button.Anchor       = new Anchor(0, 50, 0, 50);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Center";
            button.AnchorBounds = new Rectangle(150, 50, 100, 20);
            button.Anchor       = new Anchor(50, 50, 50, 50);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Right Center";
            button.AnchorBounds = new Rectangle(290, 50, 100, 20);
            button.Anchor       = new Anchor(100, 50, 100, 50);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Left Bottom";
            button.AnchorBounds = new Rectangle(10, 90, 100, 20);
            button.Anchor       = Anchor.LeftBottom;

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Center Bottom";
            button.AnchorBounds = new Rectangle(150, 90, 100, 20);
            button.Anchor       = new Anchor(50, 100, 50, 100);

            button              = new Button(layout);
            button.Font         = m_Font;
            button.Text         = "Right Bottom";
            button.AnchorBounds = new Rectangle(290, 90, 100, 20);
            button.Anchor       = Anchor.RightBottom;

            HorizontalSlider horz = new HorizontalSlider(layout);

            horz.AnchorBounds = new Rectangle(10, 125, 380, 25);
            horz.Anchor       = new Anchor(0, 100, 100, 100);

            VerticalSlider vert = new VerticalSlider(layout);

            vert.AnchorBounds = new Rectangle(405, 10, 25, 100);
            vert.Anchor       = new Anchor(100, 0, 100, 100);

            HorizontalSlider width = new HorizontalSlider(this);

            width.Min           = 445;
            width.Max           = 800;
            width.Height        = 25;
            width.Dock          = Dock.Bottom;
            width.Padding       = Padding.Five;
            width.ValueChanged += (control, args) => { layout.Width = (int)(control as HorizontalSlider).Value; };

            VerticalSlider height = new VerticalSlider(this);

            height.Min           = 165;
            height.Max           = 400;
            height.Width         = 25;
            height.Dock          = Dock.Right;
            height.Padding       = Padding.Five;
            height.ValueChanged += (control, args) => { layout.Height = (int)(control as VerticalSlider).Value; };
        }