mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 16:59:35 +01:00
* POC * View.DrawFrame now uses LineCanvas * Fixes #2531. Toplevel should redraw only if it's needed. * Fix toplevel when mdi is enabled preventing clear the screen twice. * Massive LineCanvis updates * Fixes #2534. Bounds isn't updating when the Frame is changed. * Almost everything works! * Had to disable a few tests but all unit test now pass again * Deleted ConsoleDriver.DrawWindowFrame; hacked ProgressBar * Deleted ConsoleDriver.DrawWindowTitle; moved to Frame.DrawTitle * Renames BorderFrame to Border * Removed old commented code * Tweaked scenario * Added auto convert \r\n to Enviornment.NewLine in TestHelpers.AssertEqual * Fix merge errors. * Fix AssertEqual newlines to platform-specific. * Refactored frames drawing; view adds to its lineview, superview renders them * New titlebar style based on Border.Top size; fixed bugs * wzard bug --------- Co-authored-by: BDisp <bd.bdisp@gmail.com>
This commit is contained in:
@@ -23,7 +23,7 @@ namespace UICatalog.Scenarios {
|
||||
public ThicknessEditor ()
|
||||
{
|
||||
Margin.Thickness = new Thickness (0);
|
||||
BorderFrame.Thickness = new Thickness (1);
|
||||
Border.Thickness = new Thickness (1);
|
||||
}
|
||||
|
||||
public override void BeginInit ()
|
||||
@@ -121,7 +121,7 @@ namespace UICatalog.Scenarios {
|
||||
Add (copyTop);
|
||||
|
||||
//LayoutSubviews ();
|
||||
Height = Margin.Thickness.Vertical + BorderFrame.Thickness.Vertical + Padding.Thickness.Vertical + 4;
|
||||
Height = Margin.Thickness.Vertical + Border.Thickness.Vertical + Padding.Thickness.Vertical + 4;
|
||||
Width = 20;
|
||||
}
|
||||
}
|
||||
@@ -142,16 +142,16 @@ namespace UICatalog.Scenarios {
|
||||
};
|
||||
Add (marginEditor);
|
||||
|
||||
viewToEdit.BorderFrame.ColorScheme = Colors.ColorSchemes ["Base"];
|
||||
viewToEdit.Border.ColorScheme = Colors.ColorSchemes ["Base"];
|
||||
var borderEditor = new ThicknessEditor () {
|
||||
X = Pos.Right (marginEditor),
|
||||
Y = 0,
|
||||
Title = "Border",
|
||||
Thickness = viewToEdit.BorderFrame.Thickness,
|
||||
Thickness = viewToEdit.Border.Thickness,
|
||||
};
|
||||
borderEditor.Margin.Thickness = new Thickness (0, 0, 1, 0);
|
||||
borderEditor.ThicknessChanged += (s, a) => {
|
||||
viewToEdit.BorderFrame.Thickness = a.Thickness;
|
||||
viewToEdit.Border.Thickness = a.Thickness;
|
||||
};
|
||||
Add (borderEditor);
|
||||
|
||||
@@ -166,11 +166,11 @@ namespace UICatalog.Scenarios {
|
||||
e => NStack.ustring.Make (e.ToString ())).ToArray ()) {
|
||||
X = Pos.Left (styleLabel),
|
||||
Y = Pos.Bottom (styleLabel),
|
||||
SelectedItem = (int)viewToEdit.BorderFrame.BorderStyle
|
||||
SelectedItem = (int)viewToEdit.Border.BorderStyle
|
||||
};
|
||||
|
||||
rbBorderStyle.SelectedItemChanged += (s, e) => {
|
||||
viewToEdit.BorderFrame.BorderStyle = (LineStyle)e.SelectedItem;
|
||||
viewToEdit.Border.BorderStyle = (LineStyle)e.SelectedItem;
|
||||
viewToEdit.SetNeedsDisplay ();
|
||||
};
|
||||
Add (rbBorderStyle);
|
||||
@@ -192,7 +192,7 @@ namespace UICatalog.Scenarios {
|
||||
|
||||
|
||||
//rbBorderStyle.SelectedItemChanged += (e) => {
|
||||
// viewToEdit.BorderFrame.BorderStyle = (BorderStyle)e.SelectedItem;
|
||||
// viewToEdit.Border.BorderStyle = (BorderStyle)e.SelectedItem;
|
||||
// viewToEdit.SetNeedsDisplay ();
|
||||
//};
|
||||
|
||||
@@ -275,69 +275,68 @@ namespace UICatalog.Scenarios {
|
||||
view.Margin.Thickness = new Thickness (2, 2, 2, 2);
|
||||
view.Margin.ColorScheme = Colors.ColorSchemes ["Toplevel"];
|
||||
view.Margin.Data = "Margin";
|
||||
view.BorderFrame.Thickness = new Thickness (2);
|
||||
view.BorderFrame.BorderStyle = LineStyle.Single;
|
||||
view.BorderFrame.ColorScheme = view.ColorScheme;
|
||||
view.BorderFrame.Data = "BorderFrame";
|
||||
view.Border.Thickness = new Thickness (2);
|
||||
view.Border.BorderStyle = LineStyle.Single;
|
||||
view.Border.ColorScheme = view.ColorScheme;
|
||||
view.Border.Data = "Border";
|
||||
view.Padding.Thickness = new Thickness (2);
|
||||
view.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
||||
view.Padding.Data = "Padding";
|
||||
|
||||
var view2 = new View () {
|
||||
var window1 = new Window () {
|
||||
X = 2,
|
||||
Y = 3,
|
||||
Height = 7,
|
||||
Width = 17,
|
||||
Title = "View2",
|
||||
Text = "View #2",
|
||||
Title = "Window 1",
|
||||
Text = "Window #2",
|
||||
TextAlignment = TextAlignment.Centered
|
||||
};
|
||||
|
||||
//view2.InitializeFrames ();
|
||||
view2.Margin.Thickness = new Thickness (1);
|
||||
view2.Margin.ColorScheme = Colors.ColorSchemes ["Toplevel"];
|
||||
view2.Margin.Data = "Margin";
|
||||
view2.BorderFrame.Thickness = new Thickness (1);
|
||||
view2.BorderFrame.BorderStyle = LineStyle.Single;
|
||||
view2.BorderFrame.ColorScheme = view.ColorScheme;
|
||||
view2.BorderFrame.Data = "BorderFrame";
|
||||
view2.Padding.Thickness = new Thickness (1);
|
||||
view2.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
||||
view2.Padding.Data = "Padding";
|
||||
window1.Margin.Thickness = new Thickness (0);
|
||||
window1.Margin.ColorScheme = Colors.ColorSchemes ["Toplevel"];
|
||||
window1.Margin.Data = "Margin";
|
||||
window1.Border.Thickness = new Thickness (1);
|
||||
window1.Border.BorderStyle = LineStyle.Single;
|
||||
window1.Border.ColorScheme = view.ColorScheme;
|
||||
window1.Border.Data = "Border";
|
||||
window1.Padding.Thickness = new Thickness (0);
|
||||
window1.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
||||
window1.Padding.Data = "Padding";
|
||||
|
||||
view.Add (view2);
|
||||
view.Add (window1);
|
||||
|
||||
var view3 = new View () {
|
||||
X = Pos.Right (view2) + 1,
|
||||
var window2 = new Window () {
|
||||
X = Pos.Right (window1) + 1,
|
||||
Y = 3,
|
||||
Height = 5,
|
||||
Width = 37,
|
||||
Title = "View3",
|
||||
Text = "View #3 (Right(view2)+1",
|
||||
Title = "Window2",
|
||||
Text = "Window #2 (Right(window1)+1",
|
||||
TextAlignment = TextAlignment.Centered
|
||||
};
|
||||
|
||||
//view3.InitializeFrames ();
|
||||
view3.Margin.Thickness = new Thickness (1, 1, 0, 0);
|
||||
view3.Margin.ColorScheme = Colors.ColorSchemes ["Toplevel"];
|
||||
view3.Margin.Data = "Margin";
|
||||
view3.BorderFrame.Thickness = new Thickness (1, 1, 1, 1);
|
||||
view3.BorderFrame.BorderStyle = LineStyle.Single;
|
||||
view3.BorderFrame.ColorScheme = view.ColorScheme;
|
||||
view3.BorderFrame.Data = "BorderFrame";
|
||||
view3.Padding.Thickness = new Thickness (1, 1, 0, 0);
|
||||
view3.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
||||
view3.Padding.Data = "Padding";
|
||||
window2.Margin.Thickness = new Thickness (1, 1, 0, 0);
|
||||
window2.Margin.ColorScheme = Colors.ColorSchemes ["Toplevel"];
|
||||
window2.Margin.Data = "Margin";
|
||||
window2.Border.Thickness = new Thickness (1, 1, 1, 1);
|
||||
window2.Border.BorderStyle = LineStyle.Single;
|
||||
window2.Border.ColorScheme = view.ColorScheme;
|
||||
window2.Border.Data = "Border";
|
||||
window2.Padding.Thickness = new Thickness (1, 1, 0, 0);
|
||||
window2.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
||||
window2.Padding.Data = "Padding";
|
||||
|
||||
view.Add (view3);
|
||||
view.Add (window2);
|
||||
|
||||
var view4 = new View () {
|
||||
X = Pos.Right (view3) + 1,
|
||||
X = Pos.Right (window2) + 1,
|
||||
Y = 3,
|
||||
Height = 5,
|
||||
Width = 37,
|
||||
Title = "View4",
|
||||
Text = "View #4 (Right(view3)+1",
|
||||
Text = "View #4 (Right(window2)+1",
|
||||
TextAlignment = TextAlignment.Centered
|
||||
};
|
||||
|
||||
@@ -345,10 +344,10 @@ namespace UICatalog.Scenarios {
|
||||
view4.Margin.Thickness = new Thickness (0, 0, 1, 1);
|
||||
view4.Margin.ColorScheme = Colors.ColorSchemes ["Toplevel"];
|
||||
view4.Margin.Data = "Margin";
|
||||
view4.BorderFrame.Thickness = new Thickness (1, 1, 1, 1);
|
||||
view4.BorderFrame.BorderStyle = LineStyle.Single;
|
||||
view4.BorderFrame.ColorScheme = view.ColorScheme;
|
||||
view4.BorderFrame.Data = "BorderFrame";
|
||||
view4.Border.Thickness = new Thickness (1, 1, 1, 1);
|
||||
view4.Border.BorderStyle = LineStyle.Single;
|
||||
view4.Border.ColorScheme = view.ColorScheme;
|
||||
view4.Border.Data = "Border";
|
||||
view4.Padding.Thickness = new Thickness (0, 0, 1, 1);
|
||||
view4.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
||||
view4.Padding.Data = "Padding";
|
||||
@@ -368,10 +367,10 @@ namespace UICatalog.Scenarios {
|
||||
view5.Margin.Thickness = new Thickness (0, 0, 0, 0);
|
||||
view5.Margin.ColorScheme = Colors.ColorSchemes ["Toplevel"];
|
||||
view5.Margin.Data = "Margin";
|
||||
view5.BorderFrame.Thickness = new Thickness (1, 1, 1, 1);
|
||||
view5.BorderFrame.BorderStyle = LineStyle.Single;
|
||||
view5.BorderFrame.ColorScheme = view.ColorScheme;
|
||||
view5.BorderFrame.Data = "BorderFrame";
|
||||
view5.Border.Thickness = new Thickness (1, 1, 1, 1);
|
||||
view5.Border.BorderStyle = LineStyle.Single;
|
||||
view5.Border.ColorScheme = view.ColorScheme;
|
||||
view5.Border.Data = "Border";
|
||||
view5.Padding.Thickness = new Thickness (0, 0, 0, 0);
|
||||
view5.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
||||
view5.Padding.Data = "Padding";
|
||||
|
||||
Reference in New Issue
Block a user