Merge pull request #197 from tig/BDisp-v2_2489_scroll-tig-builtin

Tweaked `CharMap` based on your latest
This commit is contained in:
BDisp
2024-09-07 17:43:52 +01:00
committed by GitHub
2 changed files with 26 additions and 7 deletions

View File

@@ -111,5 +111,24 @@ public enum ViewportSettings
/// <see cref="ClipContentOnly"/> must be set for this setting to work (clipping beyond the visible area must be
/// disabled).
/// </remarks>
ClearContentOnly = 32
ClearContentOnly = 32,
/// <summary>
/// If set, the vertical scroll bar (see <see cref="View.HorizontalScrollBar"/>) will be enabled and automatically made visible
/// when the dimension of the <see cref="View.Viewport"/> is smaller than the dimension of <see cref="View.GetContentSize()"/>.
/// </summary>
EnableHorizontalScrollBar = 64,
/// <summary>
/// If set, the vertical scroll bar (see <see cref="View.VerticalScrollBar"/>) will be enabled and automatically made visible
/// when the dimension of the <see cref="View.Viewport"/> is smaller than the dimension of <see cref="View.GetContentSize()"/>.
/// </summary>
EnableVerticalScrollBar = 128,
/// <summary>
/// If set, the horizontal and vertical scroll bars (see cref="View.HorizontalScrollBar"/> and <see cref="View.VerticalScrollBar"/>)
/// will be enabled and automatically made visible when the dimension of the <see cref="View.Viewport"/> is smaller than the
/// dimension of <see cref="View.GetContentSize()"/>.
/// </summary>
EnableScrollBars = EnableHorizontalScrollBar | EnableVerticalScrollBar
}

View File

@@ -464,10 +464,10 @@ internal class CharMap : View
ScrollBar hScrollBar = new ()
{
X = 0,
X = RowLabelWidth + 1,
Y = Pos.AnchorEnd (),
Width = Dim.Fill (1),
Size = GetContentSize ().Width,
Size = COLUMN_WIDTH * 15,
Orientation = Orientation.Horizontal
};
@@ -476,10 +476,10 @@ internal class CharMap : View
ScrollBar vScrollBar = new ()
{
X = Pos.AnchorEnd (),
Y = 0,
Y = 1, // Header
Height = Dim.Fill (Dim.Func (() => hScrollBar.Visible ? 1 : 0)),
Orientation = Orientation.Vertical,
Size = GetContentSize ().Height
Size = GetContentSize ().Height - _rowHeight, // Minus one row so last row stays visible
};
vScrollBar.PositionChanged += (sender, args) => { Viewport = Viewport with { Y = args.CurrentValue }; };
@@ -488,7 +488,7 @@ internal class CharMap : View
ViewportChanged += (sender, args) =>
{
vScrollBar.Size = GetContentSize ().Height;
vScrollBar.Size = GetContentSize ().Height - _rowHeight; // Minus one row so last row stays visible
vScrollBar.Position = Viewport.Y;
};
}
@@ -970,7 +970,7 @@ internal class CharMap : View
document.RootElement,
new
JsonSerializerOptions
{ WriteIndented = true }
{ WriteIndented = true }
);
}