public void Screen_StandartLayouts_ChangeControlsFrame()
        {
            #region Prepare
            StubControl parent = new StubControl
            {
                Width         = 320,
                Heigth        = 480,
                PaddingLeft   = 39,
                PaddingTop    = 19,
                PaddingRight  = 19,
                PaddingBottom = 39,
                BorderWidth   = 1
            };
            parent.Frame = new Rectangle(0, 0, 320, 480);

            StubControl control = new StubControl
            {
                Width               = 1000,
                Heigth              = 200,
                MarginLeft          = 20,
                MarginTop           = 20,
                MarginRight         = 10,
                MarginBottom        = 42,
                SizeToContentHeight = true,
                ContentHeigth       = 300,
                SizeToContentWidth  = true,
                ContentWidth        = 30
            };
            #endregion

            LayoutBehaviour.Screen(new StubStyleSheet(), parent, control, new Bound(320, 480));

            Assert.AreEqual(new Rectangle(60, 40, 230, 300), control.Frame);
        }
Exemple #2
0
        public void Screen()
        {
            #region Prepare
            StubControl parent = new StubControl
            {
                Width         = 320,
                Heigth        = 480,
                PaddingLeft   = 39,
                PaddingTop    = 19,
                PaddingRight  = 19,
                PaddingBottom = 39,
                BorderWidth   = 1
            };
            parent.Frame = new Rectangle(0, 0, 320, 480);

            StubControl control = new StubControl
            {
                Width        = -1,
                Heigth       = 200,
                MarginLeft   = 20,
                MarginTop    = 20,
                MarginRight  = 10,
                MarginBottom = 42
            };
            #endregion

            LayoutBehaviour.Screen(new StubStyleSheet(), parent, control);

            Assert.AreEqual(new Rectangle(60, 40, 230, 200), control.Frame);
        }
        public void SetUp()
        {
            _parentCtrl        = new StubControl();
            _parentCtrl.Bounds = new Rectangle(0, 0, 200, 200);

            _ctrl        = new NuGenWndLessControl();
            _ctrl.Bounds = new Rectangle(20, 20, 50, 50);
            _ctrl.Parent = _parentCtrl;

            _eventSink = new EventSink(_ctrl);

            _goodMouseEventArgs  = new MouseEventArgs(MouseButtons.Left, 1, 30, 30, 0);
            _goodMouseEventArgs2 = new MouseEventArgs(MouseButtons.Left, 1, 50, 50, 0);
            _badMouseEventArgs   = new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0);
        }
		public void SetUp()
		{
			_parentCtrl = new StubControl();
			_parentCtrl.Bounds = new Rectangle(0, 0, 200, 200);

			_ctrl = new NuGenWndLessControl();
			_ctrl.Bounds = new Rectangle(20, 20, 50, 50);
			_ctrl.Parent = _parentCtrl;

			_eventSink = new EventSink(_ctrl);

			_goodMouseEventArgs = new MouseEventArgs(MouseButtons.Left, 1, 30, 30, 0);
			_goodMouseEventArgs2 = new MouseEventArgs(MouseButtons.Left, 1, 50, 50, 0);
			_badMouseEventArgs = new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0);
		}
            public float Padding <T>(IStyledObject control, float parentSize) where T : Padding
            {
                StubControl c = (StubControl)control;

                if (typeof(T) == typeof(PaddingLeft))
                {
                    return(c.PaddingLeft);
                }
                if (typeof(T) == typeof(PaddingTop))
                {
                    return(c.PaddingTop);
                }
                if (typeof(T) == typeof(PaddingRight))
                {
                    return(c.PaddingRight);
                }
                if (typeof(T) == typeof(PaddingBottom))
                {
                    return(c.PaddingBottom);
                }
                throw new Exception();
            }
            public float Margin <T>(IStyledObject control, float parentSize) where T : Margin
            {
                StubControl c = (StubControl)control;

                if (typeof(T) == typeof(MarginLeft))
                {
                    return(c.MarginLeft);
                }
                if (typeof(T) == typeof(MarginTop))
                {
                    return(c.MarginTop);
                }
                if (typeof(T) == typeof(MarginRight))
                {
                    return(c.MarginRight);
                }
                if (typeof(T) == typeof(MarginBottom))
                {
                    return(c.MarginBottom);
                }
                throw new Exception();
            }
        public void Dock_SizeToContent_ChangeControlsFrame()
        {
            #region Prepare

            StubControl parent = new StubControl
            {
                Width         = 320,
                Heigth        = 480,
                PaddingLeft   = 19,
                PaddingTop    = 39,
                PaddingRight  = 39,
                PaddingBottom = 19,
                BorderWidth   = 1
            };
            parent.Frame = new Rectangle(0, 0, 320, 480);

            List <StubControl> controls = new List <StubControl>();
            controls.Add(new StubControl // 1
            {
                Width               = 5,
                Heigth              = 5,
                MarginLeft          = 20,
                MarginTop           = 20,
                MarginRight         = 20,
                MarginBottom        = 42,
                DockAlign           = DockAlign.Align.Left,
                SizeToContentWidth  = true,
                ContentWidth        = 60,
                SizeToContentHeight = true,
                ContentHeigth       = 180
            });
            controls.Add(new StubControl // 2
            {
                Width               = 5,
                Heigth              = 5,
                MarginLeft          = 40,
                MarginTop           = 20,
                MarginRight         = 20,
                MarginBottom        = 20,
                DockAlign           = DockAlign.Align.Top,
                SizeToContentWidth  = true,
                ContentWidth        = 100,
                SizeToContentHeight = true,
                ContentHeigth       = 40
            });
            controls.Add(new StubControl // 3
            {
                Width        = 60,
                Heigth       = 0,
                MarginLeft   = 0,
                MarginTop    = 80,
                MarginRight  = 0,
                MarginBottom = 0,
                ImageWidth   = 50,
                ImageHeight  = 100,
                DockAlign    = DockAlign.Align.Right
            });
            controls.Add(new StubControl // 4
            {
                Width               = 10000,
                Heigth              = 5,
                MarginLeft          = 0,
                MarginTop           = 20,
                MarginRight         = 0,
                MarginBottom        = 0,
                DockAlign           = DockAlign.Align.Bottom,
                SizeToContentWidth  = true,
                ContentWidth        = 10000,
                SizeToContentHeight = true,
                ContentHeigth       = 60
            });
            controls.Add(new StubControl // 5
            {
                Width               = 0,
                Heigth              = 60,
                MarginLeft          = 20,
                MarginTop           = 20,
                MarginRight         = 20,
                MarginBottom        = 20,
                ImageWidth          = 2,
                ImageHeight         = 1,
                DockAlign           = DockAlign.Align.Top,
                SizeToContentWidth  = true,
                ContentWidth        = 10000,
                SizeToContentHeight = true,
                ContentHeigth       = 60
            });
            controls.Add(new StubControl // 6
            {
                Width        = 60,
                Heigth       = 140,
                MarginLeft   = 20,
                MarginTop    = 20,
                MarginRight  = 20,
                MarginBottom = 0,
                DockAlign    = DockAlign.Align.Left
            });
            #endregion

            Bound r = LayoutBehaviour.Dock(new StubStyleSheet(), parent, controls, new Bound(320, 480), new Bound(320, 480));

            Assert.AreEqual(new Rectangle(40, 60, 60, 180), controls[0].Frame);
            Assert.AreEqual(new Rectangle(160, 60, 100, 40), controls[1].Frame);
            Assert.AreEqual(new Rectangle(220, 200, 60, 120), controls[2].Frame);
            Assert.AreEqual(new Rectangle(120, 400, 100, 60), controls[3].Frame);
            Assert.AreEqual(new Rectangle(140, 140, 60, 60), controls[4].Frame);
            Assert.AreEqual(new Rectangle(140, 240, 60, 140), controls[5].Frame);
            Assert.AreEqual(new Bound(320, 480), r);
        }
        public void Vertical_SizeToContent_ChangeControlsFrame()
        {
            #region Prepare

            StubControl parent = new StubControl
            {
                Width         = 320,
                Heigth        = 480,
                PaddingLeft   = 19,
                PaddingTop    = 39,
                PaddingRight  = 39,
                PaddingBottom = 19,
                BorderWidth   = 1
            };
            parent.Frame = new Rectangle(0, 0, 320, 480);

            List <StubControl> controls = new List <StubControl>();
            controls.Add(new StubControl // 1
            {
                Width           = 80,
                Heigth          = 40,
                MarginLeft      = 20,
                MarginTop       = 20,
                MarginRight     = 42,
                MarginBottom    = 10,
                HorizontalAlign = HorizontalAlign.Align.Left
            });
            controls.Add(new StubControl // 2
            {
                Width           = 80,
                Heigth          = 40,
                MarginLeft      = 20,
                MarginTop       = 10,
                MarginRight     = 0,
                MarginBottom    = 0,
                HorizontalAlign = HorizontalAlign.Align.Central
            });
            controls.Add(new StubControl // 3
            {
                Width               = 5,
                Heigth              = 5,
                MarginLeft          = 42,
                MarginTop           = 20,
                MarginRight         = 20,
                MarginBottom        = 20,
                HorizontalAlign     = HorizontalAlign.Align.Right,
                SizeToContentWidth  = true,
                ContentWidth        = 80,
                SizeToContentHeight = true,
                ContentHeigth       = 40
            });
            controls.Add(new StubControl // 4
            {
                Width           = 10000,
                Heigth          = 40,
                MarginLeft      = 20,
                MarginTop       = 0,
                MarginRight     = 20,
                MarginBottom    = 0,
                HorizontalAlign = HorizontalAlign.Align.Left
            });
            controls.Add(new StubControl // 5
            {
                Width           = 40,
                Heigth          = 0,
                MarginLeft      = 20,
                MarginTop       = 20,
                MarginRight     = 20,
                MarginBottom    = 0,
                ImageWidth      = 100,
                ImageHeight     = 50,
                HorizontalAlign = HorizontalAlign.Align.Left
            });
            controls.Add(new StubControl // 6
            {
                Width           = 240,
                Heigth          = 380,
                MarginLeft      = 20,
                MarginTop       = 20,
                MarginRight     = 0,
                MarginBottom    = 20,
                HorizontalAlign = HorizontalAlign.Align.Left
            });
            #endregion

            // inextensible
            Bound r1 = LayoutBehaviour.Vertical(new StubStyleSheet(), parent, controls, new Bound(320, 480), new Bound(320, 480));

            Assert.AreEqual(new Rectangle(40, 60, 80, 40), controls[0].Frame);
            Assert.AreEqual(new Rectangle(120, 120, 80, 40), controls[1].Frame);
            Assert.AreEqual(new Rectangle(180, 180, 80, 40), controls[2].Frame);
            Assert.AreEqual(new Rectangle(40, 240, 220, 40), controls[3].Frame);
            Assert.AreEqual(new Rectangle(40, 300, 40, 20), controls[4].Frame);
            Assert.AreEqual(new Rectangle(40, 340, 240, 100), controls[5].Frame);
            Assert.AreEqual(r1, new Bound(320, 480));

            // extensible
            Bound r2 = LayoutBehaviour.Vertical(new StubStyleSheet(), parent, controls, new Bound(320, 480), new Bound(320, 480), true);

            Assert.AreEqual(new Rectangle(40, 60, 80, 40), controls[0].Frame);
            Assert.AreEqual(new Rectangle(120, 120, 80, 40), controls[1].Frame);
            Assert.AreEqual(new Rectangle(180, 180, 80, 40), controls[2].Frame);
            Assert.AreEqual(new Rectangle(40, 240, 220, 40), controls[3].Frame);
            Assert.AreEqual(new Rectangle(40, 300, 40, 20), controls[4].Frame);
            Assert.AreEqual(new Rectangle(40, 340, 240, 380), controls[5].Frame);
            Assert.AreEqual(r2.ContentHeight, 760);
        }
Exemple #9
0
        public void Horizontal()
        {
            #region Prepare

            StubControl parent = new StubControl
            {
                Width         = 480,
                Heigth        = 320,
                PaddingLeft   = 39,
                PaddingTop    = 19,
                PaddingRight  = 19,
                PaddingBottom = 39,
                BorderWidth   = 1
            };
            parent.Frame = new Rectangle(0, 0, 480, 320);

            List <StubControl> controls = new List <StubControl>();
            controls.Add(new StubControl // 1
            {
                Width         = 40,
                Heigth        = 80,
                MarginLeft    = 20,
                MarginTop     = 20,
                MarginRight   = 10,
                MarginBottom  = 42,
                VerticalAlign = VerticalAlign.Align.Top
            });
            controls.Add(new StubControl // 2
            {
                Width         = 40,
                Heigth        = 80,
                MarginLeft    = 10,
                MarginTop     = 20,
                MarginRight   = 0,
                MarginBottom  = 0,
                VerticalAlign = VerticalAlign.Align.Central
            });
            controls.Add(new StubControl // 3
            {
                Width         = 40,
                Heigth        = 80,
                MarginLeft    = 20,
                MarginTop     = 42,
                MarginRight   = 20,
                MarginBottom  = 20,
                VerticalAlign = VerticalAlign.Align.Bottom
            });
            controls.Add(new StubControl // 4
            {
                Width         = 40,
                Heigth        = 10000,
                MarginLeft    = 0,
                MarginTop     = 20,
                MarginRight   = 0,
                MarginBottom  = 20,
                VerticalAlign = VerticalAlign.Align.Top
            });
            controls.Add(new StubControl // 5
            {
                Width         = 0,
                Heigth        = 40,
                MarginLeft    = 20,
                MarginTop     = 20,
                MarginRight   = 0,
                MarginBottom  = 20,
                ImageWidth    = 50,
                ImageHeight   = 100,
                VerticalAlign = VerticalAlign.Align.Top
            });
            controls.Add(new StubControl // 6
            {
                Width         = -1,
                Heigth        = -1,
                MarginLeft    = 20,
                MarginTop     = 20,
                MarginRight   = 20,
                MarginBottom  = 0,
                VerticalAlign = VerticalAlign.Align.Top
            });
            #endregion

            // inextensible
            float r1 = LayoutBehaviour.Horizontal(new StubStyleSheet(), parent, controls);

            Assert.AreEqual(new Rectangle(60, 40, 40, 80), controls[0].Frame);
            Assert.AreEqual(new Rectangle(120, 120, 40, 80), controls[1].Frame);
            Assert.AreEqual(new Rectangle(180, 180, 40, 80), controls[2].Frame);
            Assert.AreEqual(new Rectangle(240, 40, 40, 220), controls[3].Frame);
            Assert.AreEqual(new Rectangle(300, 40, 20, 40), controls[4].Frame);
            Assert.AreEqual(new Rectangle(340, 40, 100, 240), controls[5].Frame);
            Assert.AreEqual(r1, 480);

            // extensible
            float r2 = LayoutBehaviour.Horizontal(new StubStyleSheet(), parent, controls, true);

            Assert.AreEqual(new Rectangle(60, 40, 40, 80), controls[0].Frame);
            Assert.AreEqual(new Rectangle(120, 120, 40, 80), controls[1].Frame);
            Assert.AreEqual(new Rectangle(180, 180, 40, 80), controls[2].Frame);
            Assert.AreEqual(new Rectangle(240, 40, 40, 220), controls[3].Frame);
            Assert.AreEqual(new Rectangle(300, 40, 20, 40), controls[4].Frame);
            Assert.AreEqual(new Rectangle(340, 40, 380, 240), controls[5].Frame);
            Assert.AreEqual(r2, 760);
        }