in src/StructuredLogViewer/Controls/SplitterPanel.cs [107:180]
private void UpdateRowColumnInfo()
{
Children.Clear();
RowDefinitions.Clear();
ColumnDefinitions.Clear();
if (oldFirstSize == default(GridLength))
{
oldFirstSize = FirstChildRelativeSize;
}
if (oldSecondSize == default(GridLength))
{
oldSecondSize = SecondChildRelativeSize;
}
if (Orientation == Orientation.Horizontal)
{
ColumnDefinitions.Add(new ColumnDefinition() { Width = oldFirstSize });
ColumnDefinitions.Add(new ColumnDefinition() { Width = separatorSize });
ColumnDefinitions.Add(new ColumnDefinition() { Width = oldSecondSize });
RowDefinitions.Add(new RowDefinition());
SetRow(gridSplitter, 0);
SetColumn(gridSplitter, 1);
gridSplitter.ResizeDirection = GridResizeDirection.Columns;
gridSplitter.Width = 5;
gridSplitter.HorizontalAlignment = HorizontalAlignment.Stretch;
gridSplitter.VerticalAlignment = VerticalAlignment.Stretch;
}
else
{
RowDefinitions.Add(new RowDefinition() { Height = oldFirstSize });
RowDefinitions.Add(new RowDefinition() { Height = separatorSize });
RowDefinitions.Add(new RowDefinition() { Height = oldSecondSize });
ColumnDefinitions.Add(new ColumnDefinition());
SetRow(gridSplitter, 1);
SetColumn(gridSplitter, 0);
gridSplitter.ResizeDirection = GridResizeDirection.Rows;
gridSplitter.Height = 5;
gridSplitter.HorizontalAlignment = HorizontalAlignment.Stretch;
gridSplitter.VerticalAlignment = VerticalAlignment.Stretch;
}
if (FirstChild != null)
{
SetRow(FirstChild, 0);
SetColumn(FirstChild, 0);
SetRowSpan(FirstChild, 1);
SetColumnSpan(FirstChild, 1);
Children.Add(FirstChild);
}
Children.Add(gridSplitter);
if (SecondChild != null)
{
if (Orientation == Orientation.Horizontal)
{
SetRow(SecondChild, 0);
SetColumn(SecondChild, 2);
}
else
{
SetRow(SecondChild, 2);
SetColumn(SecondChild, 0);
}
SetRowSpan(SecondChild, 1);
SetColumnSpan(SecondChild, 1);
Children.Add(SecondChild);
}
UpdateSplitterVisibility();
}