From 2eda068c36ff7209ddd2601b4c5cad38ced9c5d9 Mon Sep 17 00:00:00 2001 From: gregory-diaz Date: Mon, 17 Mar 2014 12:13:06 -0700 Subject: [PATCH 1/3] "Save As" option has been added to part transform (not yet functional). --- MatterControl.userprefs | 29 ------------------------ PartPreviewWindow/View3DTransfromPart.cs | 20 +++++++++++++++- 2 files changed, 19 insertions(+), 30 deletions(-) delete mode 100644 MatterControl.userprefs diff --git a/MatterControl.userprefs b/MatterControl.userprefs deleted file mode 100644 index b9d2d2c59..000000000 --- a/MatterControl.userprefs +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PartPreviewWindow/View3DTransfromPart.cs b/PartPreviewWindow/View3DTransfromPart.cs index c7ac46d74..fcad68a28 100644 --- a/PartPreviewWindow/View3DTransfromPart.cs +++ b/PartPreviewWindow/View3DTransfromPart.cs @@ -100,7 +100,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow CheckBox expandScaleOptions; Button autoArrangeButton; - Button saveButton; + Button saveButton; + Button saveAsButton; Button closeButton; Button applyScaleButton; @@ -249,6 +250,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow && meshSelectInfo.downOnPart && meshSelectInfo.lastMoveDelta != Vector3.Zero) { + saveAsButton.Visible = true; saveButton.Visible = true; } @@ -775,6 +777,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow MeshExtraData.RemoveAt(SelectedMeshIndex); MeshTransforms.RemoveAt(SelectedMeshIndex); SelectedMeshIndex = Math.Min(SelectedMeshIndex, Meshes.Count - 1); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); } @@ -1038,6 +1041,12 @@ namespace MatterHackers.MatterControl.PartPreviewWindow verticalSpacer.VAnchor = VAnchor.ParentBottomTop; buttonRightPanel.AddChild(verticalSpacer); + //Create Save As Button + saveAsButton = whiteButtonFactory.Generate("Save As".Localize(), centerText: true); + saveAsButton.Visible = false; + saveAsButton.Cursor = Cursors.Hand; + buttonRightPanel.AddChild (saveAsButton); + saveButton = whiteButtonFactory.Generate(LocalizedString.Get("Save"), centerText: true); saveButton.Visible = false; saveButton.Cursor = Cursors.Hand; @@ -1190,6 +1199,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); MeshExtraData[SelectedMeshIndex].currentScale = scale; @@ -1246,6 +1256,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // and shift it back so the new center is where the old center was SelectedMeshTransform *= Matrix4X4.CreateTranslation(startingCenter - bounds.Center); PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1269,6 +1280,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // and shift it back so the new center is where the old center was SelectedMeshTransform *= Matrix4X4.CreateTranslation(startingCenter - bounds.Center); PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1291,6 +1303,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow bounds = SelectedMesh.GetAxisAlignedBoundingBox(SelectedMeshTransform); // and shift it back so the new center is where the old center was SelectedMeshTransform *= Matrix4X4.CreateTranslation(startingCenter - bounds.Center); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1305,6 +1318,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { MakeLowestFaceFlat(SelectedMeshIndex); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1337,6 +1351,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow totalTransfrom *= Matrix4X4.CreateTranslation(center); SelectedMeshTransform *= totalTransfrom; + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1355,6 +1370,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow totalTransfrom *= Matrix4X4.CreateTranslation(center); SelectedMeshTransform *= totalTransfrom; + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1375,6 +1391,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow SelectedMeshTransform *= totalTransfrom; PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1609,6 +1626,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // and shift it back so the new center is where the old center was MeshTransforms[indexToLayFlat] *= Matrix4X4.CreateTranslation(startingCenter - bounds.Center); PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); } From 05ca828e69f7aecb27b3864ff06d3a9076f0a777 Mon Sep 17 00:00:00 2001 From: gregory-diaz Date: Mon, 17 Mar 2014 12:14:43 -0700 Subject: [PATCH 2/3] Save As added to translations --- StaticData/Translations/Master.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index 40a8c35d4..b63a3d8dd 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -910,3 +910,12 @@ Translated:There is a recommended update available. English:Layer View Translated:Layer View +English:Save As +Translated:Save As + +English:Installed Plugins +Translated:Installed Plugins + +English:Select a Design Tool +Translated:Select a Design Tool + From 4405c356a5344f01347680c4bb83ce145ebcb130 Mon Sep 17 00:00:00 2001 From: gregory-diaz Date: Mon, 17 Mar 2014 13:53:29 -0700 Subject: [PATCH 3/3] Added code so that when Save As button is clicked an empty window is opened. --- MatterControl.csproj | 7 ++--- PartPreviewWindow/SaveAsWindow.cs | 38 ++++++++++++++++++++++++ PartPreviewWindow/View3DTransfromPart.cs | 11 +++++++ 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 PartPreviewWindow/SaveAsWindow.cs diff --git a/MatterControl.csproj b/MatterControl.csproj index 2f1e956dd..6754b22d5 100644 --- a/MatterControl.csproj +++ b/MatterControl.csproj @@ -38,7 +38,6 @@ 1.0.0.%2a false true - 0.8.2 True @@ -190,11 +189,11 @@ + - False - .\ICSharpCode.SharpZipLib.dll + ICSharpCode.SharpZipLib.dll PdfSharp.dll @@ -327,7 +326,7 @@ {865172A0-A1A9-49C2-9386-F2FDB4E141B7} MatterControlPluginSystem - + {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B} Agg diff --git a/PartPreviewWindow/SaveAsWindow.cs b/PartPreviewWindow/SaveAsWindow.cs new file mode 100644 index 000000000..79da3b43d --- /dev/null +++ b/PartPreviewWindow/SaveAsWindow.cs @@ -0,0 +1,38 @@ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.IO; +using System.Text; + +using MatterHackers.Agg; +using MatterHackers.Agg.UI; +using MatterHackers.VectorMath; +using MatterHackers.Agg.Image; +using MatterHackers.MatterControl.DataStorage; +using MatterHackers.Localizations; + +namespace MatterHackers.MatterControl +{ + public class SaveAsWindow : SystemWindow + { + public SaveAsWindow() + : base (360, 300) + { + Title = "Save As Window"; + + FlowLayoutWidget topToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom); + topToBottom.AnchorAll(); + topToBottom.Padding = new BorderDouble(3, 0, 3, 5); + + FlowLayoutWidget headerRow = new FlowLayoutWidget(FlowDirection.LeftToRight); + headerRow.HAnchor = HAnchor.ParentLeftRight; + headerRow.Margin = new BorderDouble(0, 3, 0, 0); + headerRow.Padding = new BorderDouble(0, 3, 0, 3); + ShowAsSystemWindow (); + + + } + } +} + diff --git a/PartPreviewWindow/View3DTransfromPart.cs b/PartPreviewWindow/View3DTransfromPart.cs index fcad68a28..fad2d4158 100644 --- a/PartPreviewWindow/View3DTransfromPart.cs +++ b/PartPreviewWindow/View3DTransfromPart.cs @@ -105,6 +105,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow Button closeButton; Button applyScaleButton; + SaveAsWindow saveAs; + PrintItemWrapper printItemWrapper; List asynchMeshesList = new List(); @@ -1415,6 +1417,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow expandRotateOptions.CheckedStateChanged += new CheckBox.CheckedStateChangedEventHandler(expandRotateOptions_CheckedStateChanged); expandScaleOptions.CheckedStateChanged += new CheckBox.CheckedStateChangedEventHandler(expandScaleOptions_CheckedStateChanged); + + + saveAsButton.Click += (sender, e) => + { + new SaveAsWindow(); + + }; + saveButton.Click += (sender, e) => { MergeAndSavePartsToStl(); @@ -1423,6 +1433,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow ActiveTheme.Instance.ThemeChanged.RegisterEvent(Instance_ThemeChanged, ref unregisterEvents); } + bool partSelectButtonWasClicked = false; private void MergeAndSavePartsToStl() {