|
@@ -123,11 +123,12 @@ public class ContentScrolling : Scenario
|
|
|
Width = Dim.Fill (),
|
|
|
Height = Dim.Fill ()
|
|
|
};
|
|
|
+
|
|
|
app.Add (view);
|
|
|
|
|
|
// Add Scroll Setting UI to Padding
|
|
|
- view.Padding.Thickness = new (0, 3, 0, 0);
|
|
|
- view.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
|
|
+ view.Padding.Thickness = view.Padding.Thickness with { Top = view.Padding.Thickness.Top + 4 };
|
|
|
+ //view.Padding.ColorScheme = Colors.ColorSchemes ["Error"];
|
|
|
|
|
|
var cbAllowNegativeX = new CheckBox
|
|
|
{
|
|
@@ -135,7 +136,7 @@ public class ContentScrolling : Scenario
|
|
|
Y = 0,
|
|
|
CanFocus = false
|
|
|
};
|
|
|
- cbAllowNegativeX.CheckedState = view.ViewportSettings.HasFlag(ViewportSettings.AllowNegativeX) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
+ cbAllowNegativeX.CheckedState = view.ViewportSettings.HasFlag (ViewportSettings.AllowNegativeX) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
cbAllowNegativeX.CheckedStateChanging += AllowNegativeX_Toggle;
|
|
|
|
|
|
void AllowNegativeX_Toggle (object sender, CancelEventArgs<CheckState> e)
|
|
@@ -159,7 +160,7 @@ public class ContentScrolling : Scenario
|
|
|
Y = 0,
|
|
|
CanFocus = false
|
|
|
};
|
|
|
- cbAllowNegativeY.CheckedState = view.ViewportSettings.HasFlag(ViewportSettings.AllowNegativeY) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
+ cbAllowNegativeY.CheckedState = view.ViewportSettings.HasFlag (ViewportSettings.AllowNegativeY) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
cbAllowNegativeY.CheckedStateChanging += AllowNegativeY_Toggle;
|
|
|
|
|
|
void AllowNegativeY_Toggle (object sender, CancelEventArgs<CheckState> e)
|
|
@@ -182,7 +183,7 @@ public class ContentScrolling : Scenario
|
|
|
Y = Pos.Bottom (cbAllowNegativeX),
|
|
|
CanFocus = false
|
|
|
};
|
|
|
- cbAllowXGreaterThanContentWidth.CheckedState = view.ViewportSettings.HasFlag(ViewportSettings.AllowXGreaterThanContentWidth) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
+ cbAllowXGreaterThanContentWidth.CheckedState = view.ViewportSettings.HasFlag (ViewportSettings.AllowXGreaterThanContentWidth) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
cbAllowXGreaterThanContentWidth.CheckedStateChanging += AllowXGreaterThanContentWidth_Toggle;
|
|
|
|
|
|
void AllowXGreaterThanContentWidth_Toggle (object sender, CancelEventArgs<CheckState> e)
|
|
@@ -206,7 +207,7 @@ public class ContentScrolling : Scenario
|
|
|
Y = Pos.Bottom (cbAllowNegativeX),
|
|
|
CanFocus = false
|
|
|
};
|
|
|
- cbAllowYGreaterThanContentHeight.CheckedState = view.ViewportSettings.HasFlag(ViewportSettings.AllowYGreaterThanContentHeight) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
+ cbAllowYGreaterThanContentHeight.CheckedState = view.ViewportSettings.HasFlag (ViewportSettings.AllowYGreaterThanContentHeight) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
cbAllowYGreaterThanContentHeight.CheckedStateChanging += AllowYGreaterThanContentHeight_Toggle;
|
|
|
|
|
|
void AllowYGreaterThanContentHeight_Toggle (object sender, CancelEventArgs<CheckState> e)
|
|
@@ -284,7 +285,7 @@ public class ContentScrolling : Scenario
|
|
|
Y = Pos.Top (labelContentSize),
|
|
|
CanFocus = false
|
|
|
};
|
|
|
- cbClearOnlyVisible.CheckedState = view.ViewportSettings.HasFlag(ViewportSettings.ClearContentOnly) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
+ cbClearOnlyVisible.CheckedState = view.ViewportSettings.HasFlag (ViewportSettings.ClearContentOnly) ? CheckState.Checked : CheckState.UnChecked;
|
|
|
cbClearOnlyVisible.CheckedStateChanging += ClearVisibleContentOnly_Toggle;
|
|
|
|
|
|
void ClearVisibleContentOnly_Toggle (object sender, CancelEventArgs<CheckState> e)
|
|
@@ -321,7 +322,56 @@ public class ContentScrolling : Scenario
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- view.Padding.Add (labelContentSize, contentSizeWidth, labelComma, contentSizeHeight, cbClearOnlyVisible, cbDoNotClipContent);
|
|
|
+ var cbVerticalScrollBar = new CheckBox
|
|
|
+ {
|
|
|
+ Title = "Vertical ScrollBar",
|
|
|
+ X = 0,
|
|
|
+ Y = Pos.Bottom (labelContentSize),
|
|
|
+ CanFocus = false
|
|
|
+ };
|
|
|
+ view.VerticalScrollBar.ShowScrollIndicator = false;
|
|
|
+ cbVerticalScrollBar.CheckedState = view.VerticalScrollBar.Visible ? CheckState.Checked : CheckState.UnChecked;
|
|
|
+ cbVerticalScrollBar.CheckedStateChanging += VerticalScrollBar_Toggle;
|
|
|
+
|
|
|
+ void VerticalScrollBar_Toggle (object sender, CancelEventArgs<CheckState> e)
|
|
|
+ {
|
|
|
+ view.VerticalScrollBar.ShowScrollIndicator = e.NewValue == CheckState.Checked;
|
|
|
+ }
|
|
|
+
|
|
|
+ var cbHorizontalScrollBar = new CheckBox
|
|
|
+ {
|
|
|
+ Title = "Horizontal ScrollBar",
|
|
|
+ X = Pos.Right (cbVerticalScrollBar) + 1,
|
|
|
+ Y = Pos.Bottom (labelContentSize),
|
|
|
+ CanFocus = false
|
|
|
+ };
|
|
|
+ view.HorizontalScrollBar.ShowScrollIndicator = false;
|
|
|
+ cbHorizontalScrollBar.CheckedState = view.HorizontalScrollBar.ShowScrollIndicator ? CheckState.Checked : CheckState.UnChecked;
|
|
|
+ cbHorizontalScrollBar.CheckedStateChanging += HorizontalScrollBar_Toggle;
|
|
|
+
|
|
|
+ void HorizontalScrollBar_Toggle (object sender, CancelEventArgs<CheckState> e)
|
|
|
+ {
|
|
|
+ view.HorizontalScrollBar.ShowScrollIndicator = e.NewValue == CheckState.Checked;
|
|
|
+ }
|
|
|
+
|
|
|
+ var cbAutoHideScrollBars = new CheckBox
|
|
|
+ {
|
|
|
+ Title = "Auto-hide ScrollBars",
|
|
|
+ X = Pos.Right (cbHorizontalScrollBar) + 1,
|
|
|
+ Y = Pos.Bottom (labelContentSize),
|
|
|
+ CanFocus = false
|
|
|
+ };
|
|
|
+ view.HorizontalScrollBar.AutoHide = true;
|
|
|
+ view.VerticalScrollBar.AutoHide = true;
|
|
|
+ cbAutoHideScrollBars.CheckedState = view.HorizontalScrollBar.AutoHide ? CheckState.Checked : CheckState.UnChecked;
|
|
|
+ cbAutoHideScrollBars.CheckedStateChanging += AutoHideScrollBars_Toggle;
|
|
|
+
|
|
|
+ void AutoHideScrollBars_Toggle (object sender, CancelEventArgs<CheckState> e)
|
|
|
+ {
|
|
|
+ view.HorizontalScrollBar.AutoHide = view.VerticalScrollBar.AutoHide = e.NewValue == CheckState.Checked;
|
|
|
+ }
|
|
|
+
|
|
|
+ view.Padding.Add (labelContentSize, contentSizeWidth, labelComma, contentSizeHeight, cbClearOnlyVisible, cbDoNotClipContent, cbVerticalScrollBar, cbHorizontalScrollBar, cbAutoHideScrollBars);
|
|
|
|
|
|
// Add demo views to show that things work correctly
|
|
|
var textField = new TextField { X = 20, Y = 7, Width = 15, Text = "Test TextField" };
|