Move DesignApps help into menus

This commit is contained in:
John Lewin 2018-08-28 18:45:58 -07:00
parent 02cc1098f4
commit ccd15c2cf0
7 changed files with 64 additions and 96 deletions

View file

@ -97,44 +97,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
var scene = sceneContext.Scene;
// put in the help icon
var helpIcon = AggContext.StaticData.LoadIcon("help.png", 16, 16, theme.InvertIcons).SetPreMultiply();
var helpButton = new IconButton(helpIcon, theme)
{
Margin = theme.ButtonSpacing,
ToolTipText = "Help".Localize(),
Visible = false
};
helpButton.Click += (s, e) =>
{
// show the help in a new markdown pop-up
if (item is IHelpMarkdown helpMarkdown
&& !string.IsNullOrWhiteSpace(helpMarkdown.HelpMarkdown))
{
var helpWindow = new SystemWindow(400, 300);
helpWindow.AddChild(new MarkdownWidget(theme)
{
Markdown = helpMarkdown.HelpMarkdown
});
helpWindow.ShowAsSystemWindow();
}
};
scene.SelectionChanged += (s, e) =>
{
if (item is IHelpMarkdown helpMarkdown
&& !string.IsNullOrWhiteSpace(helpMarkdown.HelpMarkdown))
{
helpButton.Visible = true;
}
else
{
helpButton.Visible = false;
}
};
toolbar.AddChild(helpButton);
// put in a make permanent button
var icon = AggContext.StaticData.LoadIcon("noun_766157.png", 16, 16, theme.InvertIcons).SetPreMultiply();
var applyButton = new IconButton(icon, theme)
@ -148,14 +110,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
this.item.Apply(view3DWidget.Scene.UndoBuffer);
scene.SelectedItem = null;
};
scene.SelectionChanged += (s, e) => applyButton.Enabled = scene.SelectedItem?.CanApply == true;
toolbar.AddChild(applyButton);
// put in a remove button
var removeButton = new IconButton(AggContext.StaticData.LoadIcon("close.png", 16, 16, theme.InvertIcons), theme)
{
Margin = theme.ButtonSpacing,
ToolTipText = "Delete".Localize()
ToolTipText = "Delete".Localize(),
Enabled = scene.SelectedItem != null
};
removeButton.Click += (s, e) =>
{
@ -174,11 +136,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
};
toolbar.AddChild(removeButton);
var overflowButton = new OverflowBar.OverflowMenuButton(theme);
overflowButton.Enabled = scene.SelectedItem != null;
scene.SelectionChanged += (s, e) => overflowButton.Enabled = scene.SelectedItem != null;
overflowButton.PopupBorderColor = ApplicationController.Instance.MenuTheme.GetBorderColor(120);
var overflowButton = new OverflowBar.OverflowMenuButton(theme)
{
Enabled = scene.SelectedItem != null,
PopupBorderColor = ApplicationController.Instance.MenuTheme.GetBorderColor(120)
};
overflowButton.DynamicPopupContent = () =>
{
return ApplicationController.Instance.GetActionMenuForSceneItem(item, sceneContext.Scene);
@ -252,6 +214,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
sectionWidget.Enabled = false;
}
}
scene.SelectionChanged += (s, e) =>
{
applyButton.Enabled = scene.SelectedItem?.CanApply == true;
removeButton.Enabled = scene.SelectedItem != null;
overflowButton.Enabled = scene.SelectedItem != null;
};
}
/// <summary>

View file

@ -37,6 +37,7 @@ using MatterHackers.Agg.UI;
using MatterHackers.DataConverters3D;
using MatterHackers.Localizations;
using MatterHackers.MatterControl.CustomWidgets;
using MatterHackers.MatterControl.DesignTools;
using MatterHackers.MatterControl.Library;
using MatterHackers.MeshVisualizer;
using MatterHackers.RayTracer;
@ -1236,6 +1237,17 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
}};
theme.CreateMenuItems(menu, actions, emptyMenu: false);
menu.CreateHorizontalLine();
string componentID = (selectedItem as ComponentObject3D)?.ComponentID;
var helpItem = menu.CreateMenuItem("Help".Localize());
helpItem.Enabled = !string.IsNullOrEmpty(componentID) && ApplicationController.Instance.HelpArticlesByID.ContainsKey(componentID);
helpItem.Click += (s, e) =>
{
DialogWindow.Show(new HelpPage(componentID));
};
});
}
else // Allow right click on bed in all modes