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);
        }
Beispiel #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 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);
        }
Beispiel #5
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);
        }