Merge pull request #2429 from jlewin/design_tools
Improve tab styling, auto-size GCode fields
This commit is contained in:
commit
ba46a00549
3 changed files with 52 additions and 39 deletions
|
|
@ -176,10 +176,22 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
new RGBA_Bytes(),
|
new RGBA_Bytes(),
|
||||||
useUnderlineStyling: true));
|
useUnderlineStyling: true));
|
||||||
|
|
||||||
|
|
||||||
|
var column = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||||
|
column.AnchorAll();
|
||||||
|
|
||||||
|
var hline = new HorizontalLine()
|
||||||
|
{
|
||||||
|
BackgroundColor = ApplicationController.Instance.Theme.SlightShade,
|
||||||
|
Height = 4
|
||||||
|
};
|
||||||
|
column.AddChild(hline);
|
||||||
|
|
||||||
TabControl sideTabs = CreateSideTabsAndPages(category, showHelpControls);
|
TabControl sideTabs = CreateSideTabsAndPages(category, showHelpControls);
|
||||||
sideTabBarsListForLayout.Add(sideTabs.TabBar);
|
sideTabBarsListForLayout.Add(sideTabs.TabBar);
|
||||||
|
column.AddChild(sideTabs);
|
||||||
|
|
||||||
categoryPage.AddChild(sideTabs);
|
categoryPage.AddChild(column);
|
||||||
}
|
}
|
||||||
|
|
||||||
topCategoryTabs.TabBar.AddChild(new HorizontalSpacer());
|
topCategoryTabs.TabBar.AddChild(new HorizontalSpacer());
|
||||||
|
|
@ -279,13 +291,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
name = "";
|
name = "";
|
||||||
|
|
||||||
TabPage currentPage = topCategoryTabs.GetActivePage();
|
TabPage currentPage = topCategoryTabs.GetActivePage();
|
||||||
TabControl currentGroup = null;
|
if (currentPage.Children.FirstOrDefault() is TabControl currentGroup)
|
||||||
|
|
||||||
if (currentPage.Children.Count > 0)
|
|
||||||
{
|
|
||||||
currentGroup = currentPage.Children[0] as TabControl;
|
|
||||||
}
|
|
||||||
if (currentGroup != null)
|
|
||||||
{
|
{
|
||||||
index = currentGroup.SelectedTabIndex;
|
index = currentGroup.SelectedTabIndex;
|
||||||
name = currentGroup.SelectedTabName;
|
name = currentGroup.SelectedTabName;
|
||||||
|
|
@ -337,9 +343,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
{
|
{
|
||||||
this.HAnchor = HAnchor.Stretch;
|
this.HAnchor = HAnchor.Stretch;
|
||||||
|
|
||||||
TabControl leftSideGroupTabs = new TabControl(Orientation.Vertical);
|
var leftSideGroupTabs = new TabControl(Orientation.Vertical);
|
||||||
leftSideGroupTabs.Margin = new BorderDouble(0, 0, 0, 5);
|
leftSideGroupTabs.TabBar.HAnchor = HAnchor.Fit;
|
||||||
leftSideGroupTabs.TabBar.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
|
leftSideGroupTabs.TabBar.BorderColor = RGBA_Bytes.Transparent;
|
||||||
|
leftSideGroupTabs.TabBar.BackgroundColor = ApplicationController.Instance.Theme.SlightShade;
|
||||||
|
|
||||||
foreach (OrganizerGroup group in category.GroupsList)
|
foreach (OrganizerGroup group in category.GroupsList)
|
||||||
{
|
{
|
||||||
|
|
@ -355,14 +362,19 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
groupTabPage,
|
groupTabPage,
|
||||||
group.Name + " Tab",
|
group.Name + " Tab",
|
||||||
14,
|
14,
|
||||||
ActiveTheme.Instance.TabLabelSelected,
|
ActiveTheme.Instance.TabLabelSelected,
|
||||||
new RGBA_Bytes(),
|
ActiveTheme.Instance.TertiaryBackgroundColor,
|
||||||
ActiveTheme.Instance.TabLabelUnselected,
|
ActiveTheme.Instance.TabLabelUnselected,
|
||||||
new RGBA_Bytes(),
|
RGBA_Bytes.Transparent,
|
||||||
32);
|
32);
|
||||||
|
|
||||||
groupTabWidget.HAnchor = HAnchor.Stretch;
|
groupTabWidget.HAnchor = HAnchor.Stretch;
|
||||||
|
|
||||||
|
foreach(var child in groupTabWidget.Children)
|
||||||
|
{
|
||||||
|
child.HAnchor = HAnchor.MaxFitOrStretch;
|
||||||
|
child.Padding = new BorderDouble(10);
|
||||||
|
}
|
||||||
|
|
||||||
var subGroupLayoutTopToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
var subGroupLayoutTopToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||||
subGroupLayoutTopToBottom.AnchorAll();
|
subGroupLayoutTopToBottom.AnchorAll();
|
||||||
|
|
||||||
|
|
@ -1067,20 +1079,22 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
{
|
{
|
||||||
if (placeFieldInDedicatedRow)
|
if (placeFieldInDedicatedRow)
|
||||||
{
|
{
|
||||||
var wrapper = new FlowLayoutWidget(FlowDirection.TopToBottom)
|
var column = new FlowLayoutWidget(FlowDirection.TopToBottom)
|
||||||
{
|
{
|
||||||
|
Name = "column",
|
||||||
HAnchor = HAnchor.Stretch,
|
HAnchor = HAnchor.Stretch,
|
||||||
VAnchor = VAnchor.Fit
|
VAnchor = VAnchor.Fit
|
||||||
};
|
};
|
||||||
wrapper.AddChild(settingsRow);
|
column.AddChild(settingsRow);
|
||||||
|
|
||||||
var dedicatedFieldRow = new FlowLayoutWidget()
|
var row = new FlowLayoutWidget()
|
||||||
{
|
{
|
||||||
|
Name = "row",
|
||||||
VAnchor = VAnchor.Fit,
|
VAnchor = VAnchor.Fit,
|
||||||
HAnchor = HAnchor.Stretch,
|
HAnchor = HAnchor.Stretch,
|
||||||
BackgroundColor = settingsRow.BackgroundColor
|
BackgroundColor = settingsRow.BackgroundColor
|
||||||
};
|
};
|
||||||
wrapper.AddChild(dedicatedFieldRow);
|
column.AddChild(row);
|
||||||
|
|
||||||
var vline = new VerticalLine()
|
var vline = new VerticalLine()
|
||||||
{
|
{
|
||||||
|
|
@ -1090,25 +1104,26 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
VAnchor = VAnchor.Stretch,
|
VAnchor = VAnchor.Stretch,
|
||||||
MinimumSize = new Vector2(0, 28),
|
MinimumSize = new Vector2(0, 28),
|
||||||
};
|
};
|
||||||
dedicatedFieldRow.AddChild(vline);
|
row.AddChild(vline);
|
||||||
|
|
||||||
var contentContainer = new GuiWidget
|
var contentWrapper = new GuiWidget
|
||||||
{
|
{
|
||||||
|
Name = "contentWrapper",
|
||||||
HAnchor = HAnchor.Stretch,
|
HAnchor = HAnchor.Stretch,
|
||||||
VAnchor = VAnchor.Fit,
|
VAnchor = VAnchor.Fit,
|
||||||
Padding = new BorderDouble(right: 16, bottom: 10),
|
Padding = new BorderDouble(right: 16, bottom: 10),
|
||||||
};
|
};
|
||||||
contentContainer.AddChild(uiField.Content);
|
contentWrapper.AddChild(uiField.Content);
|
||||||
|
|
||||||
dedicatedFieldRow.AddChild(contentContainer);
|
row.AddChild(contentWrapper);
|
||||||
|
|
||||||
settingsRow.StyleChanged += (s, e) =>
|
settingsRow.StyleChanged += (s, e) =>
|
||||||
{
|
{
|
||||||
dedicatedFieldRow.BackgroundColor = settingsRow.BackgroundColor;
|
row.BackgroundColor = settingsRow.BackgroundColor;
|
||||||
vline.BackgroundColor = settingsRow.HighlightColor;
|
vline.BackgroundColor = settingsRow.HighlightColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
return wrapper;
|
return column;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -1239,24 +1254,19 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
{
|
{
|
||||||
this.AnchorAll();
|
this.AnchorAll();
|
||||||
this.AutoScroll = true;
|
this.AutoScroll = true;
|
||||||
this.ScrollArea.HAnchor |= HAnchor.Stretch;
|
this.ScrollArea.HAnchor = HAnchor.Stretch;
|
||||||
|
this.Padding = new BorderDouble(left: 8);
|
||||||
topToBottomItemList = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
|
||||||
topToBottomItemList.HAnchor = HAnchor.MaxFitOrStretch;
|
|
||||||
topToBottomItemList.Margin = new BorderDouble(top: 3);
|
|
||||||
|
|
||||||
|
topToBottomItemList = new FlowLayoutWidget(FlowDirection.TopToBottom)
|
||||||
|
{
|
||||||
|
HAnchor = HAnchor.Stretch,
|
||||||
|
};
|
||||||
base.AddChild(topToBottomItemList);
|
base.AddChild(topToBottomItemList);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void AddChild(GuiWidget child, int indexInChildrenList = -1)
|
public override void AddChild(GuiWidget child, int indexInChildrenList = -1)
|
||||||
{
|
{
|
||||||
FlowLayoutWidget itemHolder = new FlowLayoutWidget();
|
topToBottomItemList.AddChild(child, indexInChildrenList);
|
||||||
itemHolder.Margin = new BorderDouble(0, 0, 0, 0);
|
|
||||||
itemHolder.HAnchor = HAnchor.MaxFitOrStretch;
|
|
||||||
itemHolder.AddChild(child);
|
|
||||||
itemHolder.VAnchor = VAnchor.Fit;
|
|
||||||
|
|
||||||
topToBottomItemList.AddChild(itemHolder, indexInChildrenList);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
|
|
||||||
public override void Initialize(int tabIndex)
|
public override void Initialize(int tabIndex)
|
||||||
{
|
{
|
||||||
editWidget = new MHTextEditWidget("", pixelWidth: 320, pixelHeight: multiLineEditHeight, multiLine: true, tabIndex: tabIndex, typeFace: ApplicationController.MonoSpacedTypeFace)
|
editWidget = new MHTextEditWidget("", pixelWidth: 320, multiLine: true, tabIndex: tabIndex, typeFace: ApplicationController.MonoSpacedTypeFace)
|
||||||
{
|
{
|
||||||
HAnchor = HAnchor.Stretch,
|
HAnchor = HAnchor.Stretch,
|
||||||
|
VAnchor = VAnchor.Fit,
|
||||||
};
|
};
|
||||||
editWidget.DrawFromHintedCache();
|
editWidget.DrawFromHintedCache();
|
||||||
editWidget.ActualTextEditWidget.EditComplete += (sender, e) =>
|
editWidget.ActualTextEditWidget.EditComplete += (sender, e) =>
|
||||||
|
|
@ -61,6 +62,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
||||||
protected override void OnValueChanged(FieldChangedEventArgs fieldChangedEventArgs)
|
protected override void OnValueChanged(FieldChangedEventArgs fieldChangedEventArgs)
|
||||||
{
|
{
|
||||||
editWidget.Text = this.Value.Replace("\\n", "\n");
|
editWidget.Text = this.Value.Replace("\\n", "\n");
|
||||||
|
editWidget.ActualTextEditWidget.Height = Math.Min(editWidget.ActualTextEditWidget.Printer.LocalBounds.Height, 500);
|
||||||
|
|
||||||
base.OnValueChanged(fieldChangedEventArgs);
|
base.OnValueChanged(fieldChangedEventArgs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit e9e210880a985715b794d917d8e66856d8156d12
|
Subproject commit 4225c500bacfe2598a6d22efc9cd5fbd19b3aa78
|
||||||
Loading…
Add table
Add a link
Reference in a new issue