mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 08:50:25 +01:00
WIP - prototyping...
This commit is contained in:
@@ -314,6 +314,7 @@ public partial class DimAutoTests (ITestOutputHelper output)
|
||||
view.SetRelativeLayout (Application.Screen.Size);
|
||||
lastSize = view.Frame.Size;
|
||||
view.Text = "*ABCD";
|
||||
view.SetRelativeLayout (Application.Screen.Size);
|
||||
Assert.NotEqual (lastSize, view.Frame.Size);
|
||||
}
|
||||
|
||||
|
||||
@@ -185,7 +185,7 @@ public class DimTests
|
||||
testValview.Dispose ();
|
||||
|
||||
testVal = new (1, 2, 3, 4);
|
||||
testValview = new() { Frame = testVal };
|
||||
testValview = new () { Frame = testVal };
|
||||
dim = Height (testValview);
|
||||
Assert.Equal ($"View(Height,View(){testVal})", dim.ToString ());
|
||||
testValview.Dispose ();
|
||||
@@ -369,7 +369,7 @@ public class DimTests
|
||||
Assert.Equal (18, v6.Frame.Height); // 89*20%=18
|
||||
|
||||
w.Width = 200;
|
||||
Assert.True (t.LayoutNeeded);
|
||||
Assert.True (t.IsLayoutNeeded ());
|
||||
w.Height = 200;
|
||||
t.LayoutSubviews ();
|
||||
|
||||
@@ -582,7 +582,7 @@ public class DimTests
|
||||
Assert.NotEqual (dim1, dim2);
|
||||
|
||||
testRect1 = new (0, 1, 2, 3);
|
||||
view1 = new() { Frame = testRect1 };
|
||||
view1 = new () { Frame = testRect1 };
|
||||
testRect2 = new (0, 1, 2, 3);
|
||||
dim1 = Width (view1);
|
||||
dim2 = Width (view1);
|
||||
@@ -591,7 +591,7 @@ public class DimTests
|
||||
Assert.Equal (dim1, dim2);
|
||||
|
||||
testRect1 = new (0, -1, 2, 3);
|
||||
view1 = new() { Frame = testRect1 };
|
||||
view1 = new () { Frame = testRect1 };
|
||||
testRect2 = new (0, -1, 2, 3);
|
||||
dim1 = Width (view1);
|
||||
dim2 = Width (view1);
|
||||
@@ -600,9 +600,9 @@ public class DimTests
|
||||
Assert.Equal (dim1, dim2);
|
||||
|
||||
testRect1 = new (0, -1, 2, 3);
|
||||
view1 = new() { Frame = testRect1 };
|
||||
view1 = new () { Frame = testRect1 };
|
||||
testRect2 = Rectangle.Empty;
|
||||
view2 = new() { Frame = testRect2 };
|
||||
view2 = new () { Frame = testRect2 };
|
||||
dim1 = Width (view1);
|
||||
dim2 = Width (view2);
|
||||
Assert.NotEqual (dim1, dim2);
|
||||
@@ -632,7 +632,7 @@ public class DimTests
|
||||
testValView.Dispose ();
|
||||
|
||||
testVal = new (1, 2, 3, 4);
|
||||
testValView = new() { Frame = testVal };
|
||||
testValView = new () { Frame = testVal };
|
||||
dim = Width (testValView);
|
||||
Assert.Equal ($"View(Width,View(){testVal})", dim.ToString ());
|
||||
testValView.Dispose ();
|
||||
|
||||
@@ -40,9 +40,11 @@ public class FrameTests (ITestOutputHelper output)
|
||||
var newFrame = new Rectangle (1, 2, 30, 40);
|
||||
|
||||
var v = new View ();
|
||||
Assert.Equal (Rectangle.Empty, v.Frame);
|
||||
v.Dispose ();
|
||||
|
||||
v = new View { Frame = frame };
|
||||
Assert.Equal (frame, v.Frame);
|
||||
|
||||
v.Frame = newFrame;
|
||||
Assert.Equal (newFrame, v.Frame);
|
||||
|
||||
@@ -34,6 +34,67 @@ public class LayoutTests (ITestOutputHelper output)
|
||||
second.Dispose ();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Add_Does_Not_Call_LayoutSubviews ()
|
||||
{
|
||||
var superView = new View { Id = "superView" };
|
||||
var view = new View { Id = "view" };
|
||||
bool layoutStartedRaised = false;
|
||||
bool layoutCompleteRaised = false;
|
||||
superView.LayoutStarted += (sender, e) => layoutStartedRaised = true;
|
||||
superView.LayoutComplete += (sender, e) => layoutCompleteRaised = true;
|
||||
|
||||
superView.Add (view);
|
||||
|
||||
Assert.False (layoutStartedRaised);
|
||||
Assert.False (layoutCompleteRaised);
|
||||
|
||||
superView.Remove(view);
|
||||
|
||||
superView.BeginInit();
|
||||
superView.EndInit ();
|
||||
|
||||
superView.Add (view);
|
||||
|
||||
Assert.False (layoutStartedRaised);
|
||||
Assert.False (layoutCompleteRaised);
|
||||
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BeginEndInit_Do_Not_Call_LayoutSubviews ()
|
||||
{
|
||||
var superView = new View { Id = "superView" };
|
||||
bool layoutStartedRaised = false;
|
||||
bool layoutCompleteRaised = false;
|
||||
superView.LayoutStarted += (sender, e) => layoutStartedRaised = true;
|
||||
superView.LayoutComplete += (sender, e) => layoutCompleteRaised = true;
|
||||
superView.BeginInit ();
|
||||
superView.EndInit ();
|
||||
Assert.False (layoutStartedRaised);
|
||||
Assert.False (layoutCompleteRaised);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void LayoutSubViews_Raises_LayoutStarted_LayoutComplete ()
|
||||
{
|
||||
var superView = new View { Id = "superView" };
|
||||
int layoutStartedRaised = 0;
|
||||
int layoutCompleteRaised = 0;
|
||||
superView.LayoutStarted += (sender, e) => layoutStartedRaised++;
|
||||
superView.LayoutComplete += (sender, e) => layoutCompleteRaised++;
|
||||
|
||||
superView.LayoutSubviews ();
|
||||
Assert.Equal (1, layoutStartedRaised);
|
||||
Assert.Equal (1, layoutCompleteRaised);
|
||||
|
||||
superView.BeginInit ();
|
||||
superView.EndInit ();
|
||||
superView.LayoutSubviews ();
|
||||
Assert.Equal (2, layoutStartedRaised);
|
||||
Assert.Equal (2, layoutCompleteRaised);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void LayoutSubviews_RootHas_SuperView ()
|
||||
{
|
||||
|
||||
@@ -61,8 +61,7 @@ public class PosCenterTests (ITestOutputHelper output)
|
||||
var superView = new View { Width = 10, Height = 10 };
|
||||
var view = new View { X = Center (), Y = Center (), Width = 20, Height = 20 };
|
||||
superView.Add (view);
|
||||
superView.BeginInit();
|
||||
superView.EndInit();
|
||||
superView.LayoutSubviews ();
|
||||
|
||||
Assert.Equal (-5, view.Frame.Left);
|
||||
Assert.Equal (-5, view.Frame.Top);
|
||||
|
||||
@@ -715,7 +715,7 @@ w ";
|
||||
Assert.Equal (new (0, 0, 2, 1), lbl.Frame);
|
||||
Assert.Equal (new (0, 0, 3, 1), lbl._needsDisplayRect);
|
||||
Assert.Equal (new (0, 0, 0, 0), lbl.SuperView._needsDisplayRect);
|
||||
Assert.True (lbl.SuperView.LayoutNeeded);
|
||||
Assert.True (lbl.SuperView.IsLayoutNeeded ());
|
||||
Application.Refresh();
|
||||
Assert.Equal ("12 ", GetContents ());
|
||||
|
||||
|
||||
@@ -1128,7 +1128,6 @@ At 0,0
|
||||
}
|
||||
}
|
||||
|
||||
ClearLayoutNeeded ();
|
||||
ClearNeedsDisplay ();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user