Example #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Check"/> class.
 /// </summary>
 /// <param name="parent">Parent control.</param>
 public SlidingNumber(Control.Base parent)
     : base(parent)
 {
     m_Slider = new Control.HorizontalSlider(this);
     m_Slider.ValueChanged += OnValueChanged;
     m_Slider.ShouldDrawBackground = false;
     m_Slider.Dock = Pos.Fill;
 }
Example #2
0
        public Docking(ControlBase parent)
            : base(parent)
        {
            font = Skin.DefaultFont.Copy();
            font.Size = 20;

            outer = new Control.Label(this);
            outer.SetBounds(10, 10, 400, 400);

            Control.Label inner1 = new Control.Label(outer);
            inner1.Text = "1";
            inner1.Font = font;
            inner1.SetSize(100, 100);
            inner1.Dock = Pos.Left;
            Control.Label inner2 = new Control.Label(outer);
            inner2.Text = "2";
            inner2.Font = font;
            inner2.SetSize(100, 100); 
            inner2.Dock = Pos.Top;
            Control.Label inner3 = new Control.Label(outer);
            inner3.Text = "3";
            inner3.Font = font;
            inner3.SetSize(100, 100); 
            inner3.Dock = Pos.Right;
            Control.Label inner4 = new Control.Label(outer);
            inner4.Text = "4";
            inner4.Font = font;
            inner4.SetSize(100, 100); 
            inner4.Dock = Pos.Bottom;
            Control.Label inner5 = new Control.Label(outer);
            inner5.Text = "5";
            inner5.Font = font;
            inner5.SetSize(100, 100); 
            inner5.Dock = Pos.Fill;

            outer.DrawDebugOutlines = true;

            inner1.UserData = CreateControls(inner1, 0, "Control 1", 440, 10);
            inner2.UserData = CreateControls(inner2, 1, "Control 2", 650, 10);
            inner3.UserData = CreateControls(inner3, 2, "Control 3", 440, 170);
            inner4.UserData = CreateControls(inner4, 3, "Control 4", 650, 170);
            inner5.UserData = CreateControls(inner5, 4, "Control 5", 440, 330);

            Control.Label l_padding = new Control.Label(this);
            l_padding.Text = "Padding:";
            l_padding.SetSize(50, 15);
            Align.PlaceDownLeft(l_padding, outer, 20);

            Control.HorizontalSlider padding = new Control.HorizontalSlider(this);
            padding.Min = 0;
            padding.Max = 200;
            padding.Value = 10;
            padding.SetSize(100, 20);
            padding.ValueChanged += PaddingChanged;
            Align.PlaceRightBottom(padding, l_padding);

            //DrawDebugOutlines = true;
        }
Example #3
0
        public Docking(Base parent)
            : base(parent)
        {
            font      = Skin.DefaultFont.Copy();
            font.Size = 20;

            outer = new Control.Label(this);
            outer.SetBounds(10, 10, 400, 400);

            Control.Label inner1 = new Control.Label(outer);
            inner1.Text = "1";
            inner1.Font = font;
            inner1.SetSize(100, 100);
            inner1.Dock = Pos.Left;
            Control.Label inner2 = new Control.Label(outer);
            inner2.Text = "2";
            inner2.Font = font;
            inner2.SetSize(100, 100);
            inner2.Dock = Pos.Top;
            Control.Label inner3 = new Control.Label(outer);
            inner3.Text = "3";
            inner3.Font = font;
            inner3.SetSize(100, 100);
            inner3.Dock = Pos.Right;
            Control.Label inner4 = new Control.Label(outer);
            inner4.Text = "4";
            inner4.Font = font;
            inner4.SetSize(100, 100);
            inner4.Dock = Pos.Bottom;
            Control.Label inner5 = new Control.Label(outer);
            inner5.Text = "5";
            inner5.Font = font;
            inner5.SetSize(100, 100);
            inner5.Dock = Pos.Fill;

            outer.DrawDebugOutlines = true;

            inner1.UserData.Add("test", CreateControls(inner1, 0, "Control 1", 440, 10));
            inner2.UserData.Add("test", CreateControls(inner2, 1, "Control 2", 650, 10));
            inner3.UserData.Add("test", CreateControls(inner3, 2, "Control 3", 440, 170));
            inner4.UserData.Add("test", CreateControls(inner4, 3, "Control 4", 650, 170));
            inner5.UserData.Add("test", CreateControls(inner5, 4, "Control 5", 440, 330));

            Control.Label l_padding = new Control.Label(this);
            l_padding.Text = "Padding:";
            l_padding.SetSize(50, 15);
            Align.PlaceDownLeft(l_padding, outer, 20);

            Control.HorizontalSlider padding = new Control.HorizontalSlider(this);
            padding.Min   = 0;
            padding.Max   = 200;
            padding.Value = 10;
            padding.SetSize(100, 20);
            padding.ValueChanged += PaddingChanged;
            Align.PlaceRightBottom(padding, l_padding);

            //DrawDebugOutlines = true;
        }
Example #4
0
        public Slider(ControlBase parent)
            : base(parent)
        {
            HorizontalLayout hlayout = new HorizontalLayout(this);

            VerticalLayout vlayout = new VerticalLayout(hlayout);

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

            {
                Control.HorizontalSlider slider = new Control.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;
            }

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

            {
                Control.VerticalSlider slider = new Control.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;
            }
        }
Example #5
0
        public Slider(ControlBase parent)
            : base(parent)
        {
            {
                Control.HorizontalSlider slider = new Control.HorizontalSlider(this);
                slider.SetPosition(10, 10);
                slider.SetSize(150, 20);
                slider.SetRange(0, 100);
                slider.Value         = 25;
                slider.ValueChanged += SliderMoved;
            }

            {
                Control.HorizontalSlider slider = new Control.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;
            }

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

            {
                Control.VerticalSlider slider = new Control.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;
            }
        }
Example #6
0
        public Slider(Base parent)
            : base(parent)
        {
            {
                Control.HorizontalSlider slider = new Control.HorizontalSlider(this);
                slider.SetPosition(10, 10);
                slider.SetSize(150, 20);
                slider.SetRange(0, 100);
                slider.Value = 25;
                slider.ValueChanged += SliderMoved;
            }

            {
                Control.HorizontalSlider slider = new Control.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;
            }

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

            {
                Control.VerticalSlider slider = new Control.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;
            }
        }
Example #7
0
        ControlBase CreateControls(ControlBase subject, int dock_idx, String name, int x, int y)
        {
            Control.GroupBox gb = new Control.GroupBox(this);
            gb.SetBounds(x, y, 200, 150);
            gb.Text = name;

            Control.Label l_width = new Control.Label(gb);
            l_width.SetSize(35, 15);
            l_width.Text = "Width:";
         
            Control.HorizontalSlider width = new HorizontalSlider(gb);
            width.Name = "Width";
            width.UserData = subject;
            width.Min = 50;
            width.Max = 350;
            width.Value = 100;
            width.SetSize(55, 15);
            width.ValueChanged += WidthChanged;
            Align.PlaceRightBottom(width, l_width);

            Control.Label l_height = new Control.Label(gb);
            l_height.SetSize(35, 15);
            l_height.Text = "Height:";
            Align.PlaceRightBottom(l_height, width, 10);

            Control.HorizontalSlider height = new Control.HorizontalSlider(gb);
            height.Name = "Height";
            height.UserData = subject;
            height.Min = 50;
            height.Max = 350;
            height.Value = 100;
            height.SetSize(55, 15);
            height.ValueChanged += HeightChanged;
            Align.PlaceRightBottom(height, l_height);

            Control.RadioButtonGroup dock = new RadioButtonGroup(gb, "Dock");
            dock.UserData = subject; // store control that we are controlling
            dock.AddOption("Left");
            dock.AddOption("Top");
            dock.AddOption("Right");
            dock.AddOption("Bottom");
            dock.AddOption("Fill");
            dock.SetSelection(dock_idx);
            Align.PlaceDownLeft(dock, l_width, 5);
            //dock.DrawDebugOutlines = true;
            dock.Invalidate();

            Control.Label l_margin = new Control.Label(gb);
            l_margin.Text = "Margin:";
            l_margin.SetBounds(75, 20, 35, 15);
            //Align.PlaceRightBottom(l_margin, dock);
            // can't use Align to anchor with 'dock' because radio group is resized only after layout ~_~
            // this is become really cumbersome
            //l_margin.DrawDebugOutlines = true;

            Control.HorizontalSlider margin = new HorizontalSlider(gb);
            margin.Name = "Margin";
            margin.UserData = subject;
            margin.Min = 0;
            margin.Max = 50;
            margin.Value = 10;
            margin.SetSize(55, 15);
            margin.ValueChanged += MarginChanged;
            Align.PlaceRightBottom(margin, l_margin);

            dock.SelectionChanged += DockChanged;

            return gb;
        }
Example #8
0
        Base CreateControls(Control.Base subject, int dock_idx, String name, int x, int y)
        {
            Control.GroupBox gb = new Control.GroupBox(this);
            gb.SetBounds(x, y, 200, 150);
            gb.Text = name;

            Control.Label l_width = new Control.Label(gb);
            l_width.SetSize(35, 15);
            l_width.Text = "Width:";

            Control.HorizontalSlider width = new HorizontalSlider(gb);
            width.Name = "Width";
            width.UserData.Add("test", subject);
            width.Min   = 50;
            width.Max   = 350;
            width.Value = 100;
            width.SetSize(55, 15);
            width.ValueChanged += WidthChanged;
            Align.PlaceRightBottom(width, l_width);

            Control.Label l_height = new Control.Label(gb);
            l_height.SetSize(35, 15);
            l_height.Text = "Height:";
            Align.PlaceRightBottom(l_height, width, 10);

            Control.HorizontalSlider height = new Control.HorizontalSlider(gb);
            height.Name = "Height";
            height.UserData.Add("test", subject);
            height.Min   = 50;
            height.Max   = 350;
            height.Value = 100;
            height.SetSize(55, 15);
            height.ValueChanged += HeightChanged;
            Align.PlaceRightBottom(height, l_height);

            Control.RadioButtonGroup dock = new RadioButtonGroup(gb, "Dock");
            dock.UserData.Add("test", subject); // store control that we are controlling
            dock.AddOption("Left");
            dock.AddOption("Top");
            dock.AddOption("Right");
            dock.AddOption("Bottom");
            dock.AddOption("Fill");
            dock.SetSelection(dock_idx);
            Align.PlaceDownLeft(dock, l_width, 5);
            //dock.DrawDebugOutlines = true;
            dock.Invalidate();

            Control.Label l_margin = new Control.Label(gb);
            l_margin.Text = "Margin:";
            l_margin.SetBounds(75, 20, 35, 15);
            //Align.PlaceRightBottom(l_margin, dock);
            // can't use Align to anchor with 'dock' because radio group is resized only after layout ~_~
            // this is become really cumbersome
            //l_margin.DrawDebugOutlines = true;

            Control.HorizontalSlider margin = new HorizontalSlider(gb);
            margin.Name = "Margin";
            margin.UserData.Add("test", subject);
            margin.Min   = 0;
            margin.Max   = 50;
            margin.Value = 10;
            margin.SetSize(55, 15);
            margin.ValueChanged += MarginChanged;
            Align.PlaceRightBottom(margin, l_margin);

            dock.SelectionChanged += DockChanged;

            return(gb);
        }
Example #9
0
        public AnchorLayout(ControlBase parent)
            : base(parent)
        {
            m_Font = new Font(Skin.Renderer, "Arial", 10);

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

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

            button              = new Control.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 Control.Button(layout);
            button.Font         = m_Font;
            button.Text         = "Right Top";
            button.AnchorBounds = new Rectangle(290, 10, 100, 20);
            button.Anchor       = Anchor.RightTop;

            button              = new Control.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 Control.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 Control.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 Control.Button(layout);
            button.Font         = m_Font;
            button.Text         = "Left Bottom";
            button.AnchorBounds = new Rectangle(10, 90, 100, 20);
            button.Anchor       = Anchor.LeftBottom;

            button              = new Control.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 Control.Button(layout);
            button.Font         = m_Font;
            button.Text         = "Right Bottom";
            button.AnchorBounds = new Rectangle(290, 90, 100, 20);
            button.Anchor       = Anchor.RightBottom;

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

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

            Control.HorizontalSlider width = new Control.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 Control.HorizontalSlider).Value; };

            Control.VerticalSlider height = new Control.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 Control.VerticalSlider).Value; };
        }
Example #10
0
        ControlBase CreateControls(Control.ControlBase subject, Dock docking, string name, ControlBase container)
        {
            Control.GroupBox gb = new Control.GroupBox(container);
            gb.Text = name;
            {
                HorizontalLayout hlayout = new HorizontalLayout(gb);
                {
                    Control.GroupBox dgb = new Control.GroupBox(hlayout);
                    dgb.Text = "Dock";
                    {
                        Control.RadioButtonGroup dock = new RadioButtonGroup(dgb);
                        dock.UserData = subject;
                        dock.AddOption("Left", null, Dock.Left);
                        dock.AddOption("Top", null, Dock.Top);
                        dock.AddOption("Right", null, Dock.Right);
                        dock.AddOption("Bottom", null, Dock.Bottom);
                        dock.AddOption("Fill", null, Dock.Fill);
                        dock.SelectByUserData(docking);
                        dock.SelectionChanged += DockChanged;
                    }

                    VerticalLayout vlayout = new VerticalLayout(hlayout);
                    {
                        HorizontalLayout hlayout2 = new HorizontalLayout(vlayout);
                        {
                            Control.GroupBox hgb = new Control.GroupBox(hlayout2);
                            hgb.Text = "H. Align";
                            {
                                Control.RadioButtonGroup halign = new RadioButtonGroup(hgb);
                                halign.UserData = subject;
                                halign.AddOption("Left", null, HorizontalAlignment.Left);
                                halign.AddOption("Center", null, HorizontalAlignment.Center);
                                halign.AddOption("Right", null, HorizontalAlignment.Right);
                                halign.AddOption("Stretch", null, HorizontalAlignment.Stretch);
                                halign.SelectByUserData(subject.HorizontalAlignment);
                                halign.SelectionChanged += HAlignChanged;
                            }

                            Control.GroupBox vgb = new Control.GroupBox(hlayout2);
                            vgb.Text = "V. Align";
                            {
                                Control.RadioButtonGroup valign = new RadioButtonGroup(vgb);
                                valign.UserData = subject;
                                valign.AddOption("Top", null, VerticalAlignment.Top);
                                valign.AddOption("Center", null, VerticalAlignment.Center);
                                valign.AddOption("Bottom", null, VerticalAlignment.Bottom);
                                valign.AddOption("Stretch", null, VerticalAlignment.Stretch);
                                valign.SelectByUserData(subject.VerticalAlignment);
                                valign.SelectionChanged += VAlignChanged;
                            }
                        }

                        Control.Layout.GridLayout glayout = new Control.Layout.GridLayout(vlayout);
                        glayout.SetColumnWidths(Control.Layout.GridLayout.AutoSize, Control.Layout.GridLayout.Fill);
                        {
                            Control.Label l_width = new Control.Label(glayout);
                            l_width.Text = "Width:";

                            Control.HorizontalSlider width = new HorizontalSlider(glayout);
                            width.Name          = "Width";
                            width.UserData      = subject;
                            width.Min           = 50;
                            width.Max           = 350;
                            width.Value         = 100;
                            width.ValueChanged += WidthChanged;

                            Control.Label l_height = new Control.Label(glayout);
                            l_height.Text = "Height:";

                            Control.HorizontalSlider height = new Control.HorizontalSlider(glayout);
                            height.Name          = "Height";
                            height.UserData      = subject;
                            height.Min           = 50;
                            height.Max           = 350;
                            height.Value         = 100;
                            height.ValueChanged += HeightChanged;

                            Control.Label l_margin = new Control.Label(glayout);
                            l_margin.Text = "Margin:";

                            Control.HorizontalSlider margin = new HorizontalSlider(glayout);
                            margin.Name          = "Margin";
                            margin.UserData      = subject;
                            margin.Min           = 0;
                            margin.Max           = 50;
                            margin.Value         = 0;
                            margin.ValueChanged += MarginChanged;
                        }
                    }
                }
            }

            return(gb);
        }
Example #11
0
        public Docking(ControlBase parent)
            : base(parent)
        {
            font       = Skin.DefaultFont.Copy();
            font.Size *= 2;

            Control.Label inner1, inner2, inner3, inner4, inner5;

            HorizontalLayout hlayout = new HorizontalLayout(this);
            {
                VerticalLayout vlayout = new VerticalLayout(hlayout);
                {
                    outer      = new Control.Layout.DockLayout(vlayout);
                    outer.Size = new Size(400, 400);
                    {
                        inner1           = new Control.Label(outer);
                        inner1.Alignment = Alignment.Center;
                        inner1.Text      = "1";
                        inner1.Font      = font;
                        inner1.Size      = new Size(100, Util.Ignore);
                        inner1.Dock      = Dock.Left;

                        inner2           = new Control.Label(outer);
                        inner2.Alignment = Alignment.Center;
                        inner2.Text      = "2";
                        inner2.Font      = font;
                        inner2.Size      = new Size(Util.Ignore, 100);
                        inner2.Dock      = Dock.Top;

                        inner3           = new Control.Label(outer);
                        inner3.Alignment = Alignment.Center;
                        inner3.Text      = "3";
                        inner3.Font      = font;
                        inner3.Size      = new Size(100, Util.Ignore);
                        inner3.Dock      = Dock.Right;

                        inner4           = new Control.Label(outer);
                        inner4.Alignment = Alignment.Center;
                        inner4.Text      = "4";
                        inner4.Font      = font;
                        inner4.Size      = new Size(Util.Ignore, 100);
                        inner4.Dock      = Dock.Bottom;

                        inner5           = new Control.Label(outer);
                        inner5.Alignment = Alignment.Center;
                        inner5.Text      = "5";
                        inner5.Font      = font;
                        inner5.Size      = new Size(Util.Ignore, Util.Ignore);
                        inner5.Dock      = Dock.Fill;
                    }

                    outer.DrawDebugOutlines = true;

                    HorizontalLayout hlayout2 = new HorizontalLayout(vlayout);
                    {
                        Control.Label l_padding = new Control.Label(hlayout2);
                        l_padding.Text = "Padding:";

                        Control.HorizontalSlider padding = new Control.HorizontalSlider(hlayout2);
                        padding.Min           = 0;
                        padding.Max           = 200;
                        padding.Value         = 10;
                        padding.Width         = 100;
                        padding.ValueChanged += PaddingChanged;
                    }
                }

                Control.Layout.GridLayout controlsLayout = new Control.Layout.GridLayout(hlayout);
                controlsLayout.ColumnCount = 2;
                {
                    inner1.UserData = CreateControls(inner1, Dock.Left, "Control 1", controlsLayout);
                    inner2.UserData = CreateControls(inner2, Dock.Top, "Control 2", controlsLayout);
                    inner3.UserData = CreateControls(inner3, Dock.Right, "Control 3", controlsLayout);
                    inner4.UserData = CreateControls(inner4, Dock.Bottom, "Control 4", controlsLayout);
                    inner5.UserData = CreateControls(inner5, Dock.Fill, "Control 5", controlsLayout);
                }
            }
            //DrawDebugOutlines = true;
        }