Use new radio button menu style
- Issue MatterHackers/MCCentral#2769 Model render menu options should use gutter and bool menu item type
This commit is contained in:
parent
877ea4d040
commit
dc82f027cd
1 changed files with 35 additions and 32 deletions
|
|
@ -1336,11 +1336,41 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
popupMenu.CreateHorizontalLine();
|
||||
|
||||
AddRadioButton("Shaded".Localize(), RenderTypes.Shaded, popupMenu);
|
||||
AddRadioButton("Outlines".Localize(), RenderTypes.Outlines, popupMenu);
|
||||
AddRadioButton("Polygons".Localize(), RenderTypes.Polygons, popupMenu);
|
||||
AddRadioButton("Materials Option".Localize(), RenderTypes.Materials, popupMenu);
|
||||
AddRadioButton("Overhang".Localize(), RenderTypes.Overhang, popupMenu);
|
||||
void switchToRenderType(RenderTypes renderType)
|
||||
{
|
||||
meshViewerWidget.RenderType = renderType;
|
||||
UserSettings.Instance.set(UserSettingsKey.defaultRenderSetting, renderType.ToString());
|
||||
}
|
||||
|
||||
popupMenu.CreateBoolMenuItem(
|
||||
"Shaded".Localize(),
|
||||
() => meshViewerWidget.RenderType == RenderTypes.Shaded,
|
||||
(v) => switchToRenderType(RenderTypes.Shaded),
|
||||
useRadioStyle: true);
|
||||
|
||||
popupMenu.CreateBoolMenuItem(
|
||||
"Outlines".Localize(),
|
||||
() => meshViewerWidget.RenderType == RenderTypes.Outlines,
|
||||
(v) => switchToRenderType(RenderTypes.Outlines),
|
||||
useRadioStyle: true);
|
||||
|
||||
popupMenu.CreateBoolMenuItem(
|
||||
"Polygons".Localize(),
|
||||
() => meshViewerWidget.RenderType == RenderTypes.Polygons,
|
||||
(v) => switchToRenderType(RenderTypes.Polygons),
|
||||
useRadioStyle: true);
|
||||
|
||||
popupMenu.CreateBoolMenuItem(
|
||||
"Materials Option".Localize(),
|
||||
() => meshViewerWidget.RenderType == RenderTypes.Materials,
|
||||
(v) => switchToRenderType(RenderTypes.Materials),
|
||||
useRadioStyle: true);
|
||||
|
||||
popupMenu.CreateBoolMenuItem(
|
||||
"Overhang".Localize(),
|
||||
() => meshViewerWidget.RenderType == RenderTypes.Overhang,
|
||||
(value) => switchToRenderType(RenderTypes.Overhang),
|
||||
useRadioStyle: true);
|
||||
|
||||
popupMenu.CreateHorizontalLine();
|
||||
|
||||
|
|
@ -1349,33 +1379,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
return popupMenu;
|
||||
}
|
||||
|
||||
private void AddRadioButton(string label, RenderTypes renderTypes, PopupMenu popupMenu, Action action = null)
|
||||
{
|
||||
var radioButton = new RadioButton(label, textColor: Color.Black)
|
||||
{
|
||||
Checked = (meshViewerWidget.RenderType == renderTypes),
|
||||
HAnchor = HAnchor.MaxFitOrStretch,
|
||||
Margin = 0
|
||||
};
|
||||
radioButton.CheckedStateChanged += (s, e) =>
|
||||
{
|
||||
if (radioButton.Checked)
|
||||
{
|
||||
if (action == null)
|
||||
{
|
||||
meshViewerWidget.RenderType = renderTypes;
|
||||
UserSettings.Instance.set(UserSettingsKey.defaultRenderSetting, meshViewerWidget.RenderType.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
action.Invoke();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
popupMenu.CreateMenuItem(radioButton, $"{label}-Menu");
|
||||
}
|
||||
|
||||
protected bool autoRotating = false;
|
||||
protected bool allowAutoRotate = false;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue