diff --git a/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs b/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs index 55c642bc7..07aa4dc84 100644 --- a/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs +++ b/ConfigurationPage/PrintLeveling/LevelWizard7PointRadial.cs @@ -122,10 +122,11 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling { Vector3 delta = outPosition - lastDestinationWithLevelingApplied; lastDestinationWithLevelingApplied = outPosition; - outPosition -= delta; + outPosition = delta; } else { + lastDestinationWithLevelingApplied = outPosition; } newLine = newLine.Append(String.Format("X{0:0.##} Y{1:0.##} Z{2:0.###}", outPosition.x, outPosition.y, outPosition.z)); diff --git a/PartPreviewWindow/PartPreviewContent.cs b/PartPreviewWindow/PartPreviewContent.cs index 4f518265c..c47ea6311 100644 --- a/PartPreviewWindow/PartPreviewContent.cs +++ b/PartPreviewWindow/PartPreviewContent.cs @@ -137,23 +137,30 @@ namespace MatterHackers.MatterControl.PartPreviewWindow layerView = new TabPage(viewGcodeBasic, LocalizedString.Get("Layer View").ToUpper()); int tabPointSize = 16; - // add the correct tabs based on wether we are stand alone or embeded - if (windowMode == View3DWidget.WindowMode.StandAlone || OsInformation.OperatingSystem == OSType.Android) + // add the correct tabs based on wether we are stand alone or embeded + Tab threeDViewTab; + Tab layerViewTab; + if (windowMode == View3DWidget.WindowMode.StandAlone || OsInformation.OperatingSystem == OSType.Android) { - tabControl.AddTab(new SimpleTextTabWidget(partPreview3DView, "3D View Tab", tabPointSize, - selectedTabColor, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes())); - tabControl.AddTab(new SimpleTextTabWidget(layerView, "Layer View Tab", tabPointSize, - selectedTabColor, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes())); + threeDViewTab = new SimpleTextTabWidget(partPreview3DView, "3D View Tab", tabPointSize, + selectedTabColor, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes()); + tabControl.AddTab(threeDViewTab); + layerViewTab = new SimpleTextTabWidget(layerView, "Layer View Tab", tabPointSize, + selectedTabColor, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes()); + tabControl.AddTab(layerViewTab); } else { - tabControl.AddTab(new PopOutTextTabWidget(partPreview3DView, "3D View Tab", new Vector2(590, 400), tabPointSize)); - Tab layerViewTab = new PopOutTextTabWidget(layerView, "Layer View Tab", new Vector2(590, 400), tabPointSize); - layerViewTab.ToolTipText = "Preview layer Tool Paths".Localize(); + threeDViewTab = new PopOutTextTabWidget(partPreview3DView, "3D View Tab", new Vector2(590, 400), tabPointSize); + tabControl.AddTab(threeDViewTab); + layerViewTab = new PopOutTextTabWidget(layerView, "Layer View Tab", new Vector2(590, 400), tabPointSize); tabControl.AddTab(layerViewTab); } - this.AddChild(tabControl); + threeDViewTab.ToolTipText = "Preview 3D Design".Localize(); + layerViewTab.ToolTipText = "Preview layer Tool Paths".Localize(); + + this.AddChild(tabControl); } public void SwitchToGcodeView() diff --git a/PartPreviewWindow/ViewControls2D.cs b/PartPreviewWindow/ViewControls2D.cs index 7e6252fe3..27261ddb6 100644 --- a/PartPreviewWindow/ViewControls2D.cs +++ b/PartPreviewWindow/ViewControls2D.cs @@ -1,6 +1,36 @@ -using MatterHackers.Agg; +/* +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.Agg; using MatterHackers.Agg.UI; using System.IO; +using MatterHackers.Localizations; namespace MatterHackers.MatterControl.PartPreviewWindow { @@ -47,12 +77,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow string translateIconPath = Path.Combine("ViewTransformControls", "translate.png"); translateButton = iconTextImageButtonFactory.GenerateRadioButton("", translateIconPath); - translateButton.Margin = new BorderDouble(3); + translateButton.ToolTipText = "Move".Localize(); + translateButton.Margin = new BorderDouble(3); AddChild(translateButton); string scaleIconPath = Path.Combine("ViewTransformControls", "scale.png"); scaleButton = iconTextImageButtonFactory.GenerateRadioButton("", scaleIconPath); - scaleButton.Margin = new BorderDouble(3); + scaleButton.ToolTipText = "Zoom".Localize(); + scaleButton.Margin = new BorderDouble(3); AddChild(scaleButton); Margin = new BorderDouble(5); diff --git a/PartPreviewWindow/ViewControls3D.cs b/PartPreviewWindow/ViewControls3D.cs index 3b0fde6e0..ea9bd8883 100644 --- a/PartPreviewWindow/ViewControls3D.cs +++ b/PartPreviewWindow/ViewControls3D.cs @@ -1,9 +1,39 @@ -using MatterHackers.Agg; +/* +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.Agg; using MatterHackers.Agg.UI; using MatterHackers.MeshVisualizer; using MatterHackers.VectorMath; using System; using System.IO; +using MatterHackers.Localizations; namespace MatterHackers.MatterControl.PartPreviewWindow { @@ -55,7 +85,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow string rotateIconPath = Path.Combine("ViewTransformControls", "rotate.png"); rotateButton = textImageButtonFactory.GenerateRadioButton("", rotateIconPath); - rotateButton.Margin = new BorderDouble(3); + rotateButton.ToolTipText = "Rotate (Ctrl + L. Mouse)".Localize(); + rotateButton.Margin = new BorderDouble(3); AddChild(rotateButton); rotateButton.Click += (sender, e) => { @@ -64,7 +95,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow string translateIconPath = Path.Combine("ViewTransformControls", "translate.png"); translateButton = textImageButtonFactory.GenerateRadioButton("", translateIconPath); - translateButton.Margin = new BorderDouble(3); + translateButton.ToolTipText = "Move (Shift + L. Mouse)".Localize(); + translateButton.Margin = new BorderDouble(3); AddChild(translateButton); translateButton.Click += (sender, e) => { @@ -73,7 +105,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow string scaleIconPath = Path.Combine("ViewTransformControls", "scale.png"); scaleButton = textImageButtonFactory.GenerateRadioButton("", scaleIconPath); - scaleButton.Margin = new BorderDouble(3); + scaleButton.ToolTipText = "Zoom (Alt + L. Mouse)".Localize(); + scaleButton.Margin = new BorderDouble(3); AddChild(scaleButton); scaleButton.Click += (sender, e) => { @@ -87,7 +120,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow string partSelectIconPath = Path.Combine("ViewTransformControls", "partSelect.png"); partSelectButton = textImageButtonFactory.GenerateRadioButton("", partSelectIconPath); - partSelectButton.Margin = new BorderDouble(3); + partSelectButton.ToolTipText = "Select Part".Localize(); + partSelectButton.Margin = new BorderDouble(3); AddChild(partSelectButton); partSelectButton.Click += (sender, e) => { diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index f8de025c0..332bdff8a 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -3643,3 +3643,24 @@ Translated:Sign out of your MatterControl account English:Add a new Printer Profile Translated:Add a new Printer Profile +English:Rotate (Ctrl + L. Mouse) +Translated:Rotate (Ctrl + L. Mouse) + +English:Move (Shift + L. Mouse) +Translated:Move (Shift + L. Mouse) + +English:Zoom (Alt + L. Mouse) +Translated:Zoom (Alt + L. Mouse) + +English:Select Part +Translated:Select Part + +English:Move +Translated:Move + +English:Zoom +Translated:Zoom + +English:Preview 3D Design +Translated:Preview 3D Design +