Consolidate Apply/Delete for clarity around outcome
This commit is contained in:
parent
09e7ed9e4c
commit
39b2ab35a3
3 changed files with 24 additions and 20 deletions
|
|
@ -28,6 +28,7 @@ either expressed or implied, of the FreeBSD Project.
|
|||
*/
|
||||
|
||||
using MatterHackers.Agg;
|
||||
using MatterHackers.Agg.Image;
|
||||
using MatterHackers.Agg.UI;
|
||||
using MatterHackers.Agg.VertexSource;
|
||||
using MatterHackers.MatterControl.CustomWidgets;
|
||||
|
|
@ -45,6 +46,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
this.HoverColor = theme.MinimalShade;
|
||||
}
|
||||
|
||||
public PopupMenuButton(ImageBuffer imageBuffer, ThemeConfig theme)
|
||||
: this (new IconButton(imageBuffer, theme), theme)
|
||||
{
|
||||
}
|
||||
|
||||
public PopupMenuButton(GuiWidget viewWidget, ThemeConfig theme)
|
||||
: base(viewWidget)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -96,29 +96,17 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
var scene = sceneContext.Scene;
|
||||
|
||||
// put in a make permanent button
|
||||
var icon = AggContext.StaticData.LoadIcon("fa-check_16.png", 16, 16, theme.InvertIcons).SetPreMultiply();
|
||||
var applyButton = new IconButton(icon, theme)
|
||||
{
|
||||
Margin = theme.ButtonSpacing,
|
||||
ToolTipText = "Apply operation and make permanent".Localize(),
|
||||
Enabled = scene.SelectedItem?.CanApply == true
|
||||
};
|
||||
applyButton.Click += (s, e) =>
|
||||
var removeMenu = new PopupMenu(theme);
|
||||
|
||||
var applyAndDeleteItem = removeMenu.CreateMenuItem("Apply & Delete".Localize(), AggContext.StaticData.LoadIcon("fa-check_16.png", 16, 16, theme.InvertIcons).SetPreMultiply());
|
||||
applyAndDeleteItem.Click += (s, e) => UiThread.RunOnIdle(() =>
|
||||
{
|
||||
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 = "Remove operation from parts".Localize()
|
||||
};
|
||||
removeButton.Click += (s, e) =>
|
||||
var deleteItem = removeMenu.CreateMenuItem("Delete".Localize());
|
||||
deleteItem.Click += (s, e) => UiThread.RunOnIdle(() =>
|
||||
{
|
||||
var rootSelection = scene.SelectedItemRoot;
|
||||
|
||||
|
|
@ -132,6 +120,16 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
{
|
||||
scene.SelectedItem = rootSelection;
|
||||
}
|
||||
});
|
||||
|
||||
// Delete button
|
||||
var removeButton = new PopupMenuButton(AggContext.StaticData.LoadIcon("close.png", 16, 16, theme.InvertIcons), theme);
|
||||
|
||||
removeButton.PopupBorderColor = ApplicationController.Instance.MenuTheme.GetBorderColor(120);
|
||||
removeButton.DynamicPopupContent = () =>
|
||||
{
|
||||
applyAndDeleteItem.Enabled = scene.SelectedItem?.CanApply == true;
|
||||
return removeMenu;
|
||||
};
|
||||
toolbar.AddChild(removeButton);
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit a04aa7553129c7287291227acbb9f0f8522f44f4
|
||||
Subproject commit 0aa034ed886a837411ffc45ac7dd5eb0abf051ac
|
||||
Loading…
Add table
Add a link
Reference in a new issue