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