diff --git a/ActionBar/TemperatureWidgetExtruder.cs b/ActionBar/TemperatureWidgetExtruder.cs index 08c183ea7..19556ce7a 100644 --- a/ActionBar/TemperatureWidgetExtruder.cs +++ b/ActionBar/TemperatureWidgetExtruder.cs @@ -108,7 +108,7 @@ namespace MatterHackers.MatterControl.ActionBar }; container.AddChild(new SettingsItem( - string.Format("{0} {1}", "HotEnd".Localize(), extruderIndex + 1), + string.Format("{0} {1}", "Hot End".Localize(), extruderIndex + 1), new SettingsItem.ToggleSwitchConfig() { Checked = false, diff --git a/PartPreviewWindow/View3D/MeshViewerWidget.cs b/PartPreviewWindow/View3D/MeshViewerWidget.cs index 12dbc358f..65f445b06 100644 --- a/PartPreviewWindow/View3D/MeshViewerWidget.cs +++ b/PartPreviewWindow/View3D/MeshViewerWidget.cs @@ -361,7 +361,7 @@ namespace MatterHackers.MeshVisualizer private void DrawObject(IObject3D object3D, Matrix4X4 transform, List transparentMeshes, bool parentSelected, DrawEventArgs e) { - foreach (var renderData in object3D.VisibleMeshes(transform)) + foreach (var renderData in object3D.VisibleMeshes(transform, object3D.Color, object3D.MaterialIndex, object3D.OutputType)) { bool isSelected = parentSelected || scene.HasSelection && (object3D == scene.SelectedItem || scene.SelectedItem.Children.Contains(object3D)); diff --git a/PartPreviewWindow/View3D/SceneActions.cs b/PartPreviewWindow/View3D/SceneActions.cs index bf42d16cb..d3144f3e0 100644 --- a/PartPreviewWindow/View3D/SceneActions.cs +++ b/PartPreviewWindow/View3D/SceneActions.cs @@ -232,10 +232,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { // Create and perform the delete operation var deleteOperation = new DeleteCommand(view3DWidget, Scene.SelectedItem); - deleteOperation.Do(); // Store the operation for undo/redo - view3DWidget.Scene.UndoBuffer.Add(deleteOperation); + view3DWidget.Scene.UndoBuffer.AddAndDo(deleteOperation); + + Scene.ClearSelection(); } } diff --git a/PartPreviewWindow/View3D/UndoCommands/DeleteUndoCommand.cs b/PartPreviewWindow/View3D/UndoCommands/DeleteUndoCommand.cs index 2f7ad4a68..c9c5b4e88 100644 --- a/PartPreviewWindow/View3D/UndoCommands/DeleteUndoCommand.cs +++ b/PartPreviewWindow/View3D/UndoCommands/DeleteUndoCommand.cs @@ -27,6 +27,7 @@ of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. */ +using System.Collections.Generic; using MatterHackers.Agg.UI; using MatterHackers.DataConverters3D; @@ -34,21 +35,40 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { public class DeleteCommand : IUndoRedoCommand { - private IObject3D item; + private List items = new List(); private View3DWidget view3DWidget; public DeleteCommand(View3DWidget view3DWidget, IObject3D deletingItem) { this.view3DWidget = view3DWidget; - this.item = deletingItem; + if (deletingItem.ItemType == Object3DTypes.SelectionGroup) + { + var childrenToAdd = deletingItem.Children; + // push whatever happend to the selection into the objects before saving them + view3DWidget.Scene.ClearSelection(); + // save them in our list + foreach (var item in childrenToAdd) + { + items.Add(item); + } + } + else + { + this.items.Add(deletingItem); + } } public void Do() { + view3DWidget.Scene.ClearSelection(); + view3DWidget.Scene.ModifyChildren(children => { - children.Remove(item); + foreach (var item in items) + { + children.Remove(item); + } }); view3DWidget.Scene.SelectLastChild(); @@ -60,10 +80,17 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { view3DWidget.Scene.ModifyChildren(children => { - children.Add(item); + foreach (var item in items) + { + children.Add(item); + } }); - view3DWidget.Scene.SelectedItem = item; + view3DWidget.Scene.ClearSelection(); + foreach (var item in items) + { + view3DWidget.Scene.AddToSelection(item); + } view3DWidget.PartHasBeenChanged(); } diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 272f9d867..d3b689891 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 272f9d86731a3e3f2fa71118971fa2b2399ecef3 +Subproject commit d3b689891485d6687c9aa1692996fa8b62a53050