diff --git a/MatterControl.csproj b/MatterControl.csproj index aa0e86141..8aaf8130f 100644 --- a/MatterControl.csproj +++ b/MatterControl.csproj @@ -229,7 +229,6 @@ - diff --git a/PartPreviewWindow/View3D/SceneActions.cs b/PartPreviewWindow/View3D/SceneActions.cs index 8ae131ee7..1fe55b895 100644 --- a/PartPreviewWindow/View3D/SceneActions.cs +++ b/PartPreviewWindow/View3D/SceneActions.cs @@ -215,5 +215,40 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } } + public static async void GroupSelection(this InteractiveScene Scene, View3DWidget view3DWidget) + { + if (Scene.HasChildren) + { + view3DWidget.processingProgressControl.PercentComplete = 0; + view3DWidget.processingProgressControl.Visible = true; + view3DWidget.LockEditControls(); + view3DWidget.viewIsInEditModePreLock = true; + + var item = Scene.SelectedItem; + + await Task.Run(() => + { + if (Scene.IsSelected(Object3DTypes.SelectionGroup)) + { + // Create and perform the delete operation + var operation = new GroupCommand(view3DWidget, Scene.SelectedItem); + operation.Do(); + + // Store the operation for undo/redo + view3DWidget.UndoBuffer.Add(operation); + } + }); + + if (view3DWidget.HasBeenClosed) + { + return; + } + + view3DWidget.UnlockEditControls(); + + view3DWidget.Invalidate(); + } + } + } } \ No newline at end of file diff --git a/PartPreviewWindow/View3D/View3DGroup.cs b/PartPreviewWindow/View3D/View3DGroup.cs deleted file mode 100644 index 2d23f7095..000000000 --- a/PartPreviewWindow/View3D/View3DGroup.cs +++ /dev/null @@ -1,72 +0,0 @@ -/* -Copyright (c) 2014, Lars Brubaker -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation are those -of the authors and should not be interpreted as representing official policies, -either expressed or implied, of the FreeBSD Project. -*/ - -using MatterHackers.DataConverters3D; -using System.Threading.Tasks; - -namespace MatterHackers.MatterControl.PartPreviewWindow -{ - public partial class View3DWidget - { - private async void GroupSelection() - { - if (Scene.HasChildren) - { - processingProgressControl.PercentComplete = 0; - processingProgressControl.Visible = true; - LockEditControls(); - viewIsInEditModePreLock = true; - - var item = Scene.SelectedItem; - - await Task.Run(() => - { - if (Scene.IsSelected(Object3DTypes.SelectionGroup)) - { - // Create and perform the delete operation - var operation = new GroupCommand(this, Scene.SelectedItem); - operation.Do(); - - // Store the operation for undo/redo - UndoBuffer.Add(operation); - } - }); - - if (HasBeenClosed) - { - return; - } - - UnlockEditControls(); - - Invalidate(); - } - } - } -} \ No newline at end of file diff --git a/PartPreviewWindow/View3D/View3DWidget.cs b/PartPreviewWindow/View3D/View3DWidget.cs index a2be42a24..d3650eaaf 100644 --- a/PartPreviewWindow/View3D/View3DWidget.cs +++ b/PartPreviewWindow/View3D/View3DWidget.cs @@ -363,7 +363,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow doEdittingButtonsContainer.AddChild(groupButton); groupButton.Click += (sender, e) => { - GroupSelection(); + this.Scene.GroupSelection(this); }; Button alignButton = smallMarginButtonFactory.Generate("Align".Localize());