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); }
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); }
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); }