From 61dab45d0b8a282def54dae229c35415399ef197 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Fri, 22 May 2015 15:07:48 -0700 Subject: [PATCH] Put in the speeds legend Removed unused icons --- PartPreviewWindow/ColorGradientWidget.cs | 170 +++++++++---------- PartPreviewWindow/ViewGcodeBasic.cs | 71 ++++---- StaticData/Icons/ColorGradient/blue.png | Bin 146 -> 0 bytes StaticData/Icons/ColorGradient/green.png | Bin 146 -> 0 bytes StaticData/Icons/ColorGradient/lightblue.png | Bin 146 -> 0 bytes StaticData/Icons/ColorGradient/orange.png | Bin 146 -> 0 bytes StaticData/Icons/ColorGradient/red.png | Bin 146 -> 0 bytes StaticData/Icons/ColorGradient/teal.png | Bin 146 -> 0 bytes StaticData/Icons/ColorGradient/yellow.png | Bin 146 -> 0 bytes 9 files changed, 107 insertions(+), 134 deletions(-) delete mode 100644 StaticData/Icons/ColorGradient/blue.png delete mode 100644 StaticData/Icons/ColorGradient/green.png delete mode 100644 StaticData/Icons/ColorGradient/lightblue.png delete mode 100644 StaticData/Icons/ColorGradient/orange.png delete mode 100644 StaticData/Icons/ColorGradient/red.png delete mode 100644 StaticData/Icons/ColorGradient/teal.png delete mode 100644 StaticData/Icons/ColorGradient/yellow.png diff --git a/PartPreviewWindow/ColorGradientWidget.cs b/PartPreviewWindow/ColorGradientWidget.cs index 2f12184fd..d74c154d5 100644 --- a/PartPreviewWindow/ColorGradientWidget.cs +++ b/PartPreviewWindow/ColorGradientWidget.cs @@ -1,115 +1,99 @@ -using System; +using MatterHackers.Agg; +using MatterHackers.Agg.UI; +using MatterHackers.GCodeVisualizer; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Diagnostics; -using System.Threading.Tasks; -using MatterHackers.Agg; -using MatterHackers.MatterControl.PrintQueue; -using MatterHackers.GCodeVisualizer; -using MatterHackers.Agg.UI; -using MatterHackers.MeshVisualizer; -using MatterHackers.VectorMath; -using System.IO; -using MatterHackers.Agg.PlatformAbstract; -using System.Text.RegularExpressions; namespace MatterHackers.MatterControl.PartPreviewWindow { + public class ColorGradientWidget : FlowLayoutWidget + { + public ColorGradientWidget(GCodeFile gcodeFileTest) + : base(FlowDirection.TopToBottom) + { + BackgroundColor = new RGBA_Bytes(0, 0, 0, 120); - public class ColorGradientWidget : FlowLayoutWidget - { + HashSet speeds = new HashSet(); + PrinterMachineInstruction previousInstruction = gcodeFileTest.Instruction(0); + for (int i = 1; i < gcodeFileTest.LineCount; i++) + { + PrinterMachineInstruction instruction = gcodeFileTest.Instruction(i); + if (instruction.EPosition > previousInstruction.EPosition && (instruction.Line.IndexOf('X') != -1 || instruction.Line.IndexOf('Y') != -1)) + { + speeds.Add((float)instruction.FeedRate); + } + previousInstruction = instruction; + } - public ColorGradientWidget(GCodeFile gcodeFileTest) - : base(FlowDirection.TopToBottom) - { + ExtrusionColors extrusionColors = new ExtrusionColors(); - BackgroundColor = new RGBA_Bytes(0, 0, 0, 120); + speeds.Select(speed => extrusionColors.GetColorForSpeed(speed)).ToArray(); - HashSet speeds = new HashSet(); - PrinterMachineInstruction previousInstruction = gcodeFileTest.Instruction(0); - for (int i = 1; i < gcodeFileTest.LineCount; i++) - { - PrinterMachineInstruction instruction = gcodeFileTest.Instruction(i); - if(instruction.EPosition > previousInstruction.EPosition && (instruction.Line.IndexOf('X') != -1 || instruction.Line.IndexOf('Y') != -1)) - { - speeds.Add((float)instruction.FeedRate); - } - previousInstruction = instruction; - } + float min = speeds.Min(); + float max = speeds.Max(); + int maxItems = Math.Min(7, speeds.Count()); - ExtrusionColors extrusionColors = new ExtrusionColors(); + int count = maxItems - 1; + float increment = (max - min) / count; + int index = 0; - speeds.Select(speed => extrusionColors.GetColorForSpeed(speed)).ToArray(); + int[] rangeValues; + if (speeds.Count < 8) + { + rangeValues = speeds.Select(s => (int)s).OrderBy(i => i).ToArray(); + } + else + { + rangeValues = Enumerable.Range(0, maxItems).Select(x => (int)(min + increment * index++)).ToArray(); + } - float min = speeds.Min(); - float max = speeds.Max(); - int maxItems = Math.Min(7, speeds.Count()); + RGBA_Bytes[] speedColors = rangeValues.OrderBy(s => s).Select(speed => extrusionColors.GetColorForSpeed(speed)).ToArray(); - int count = maxItems - 1; - float increment = (max - min) / count; - int index = 0; + for (int i = 0; i < speedColors.Length; i++) + { + RGBA_Bytes color = speedColors[i]; + int speed = rangeValues[i]; - int[] rangeValues; - if (speeds.Count < 8) - { - rangeValues = speeds.Select(s => (int)s).OrderBy(i => i).ToArray(); - } - else - { - rangeValues = Enumerable.Range(0, maxItems).Select(x => (int)(min + increment * index++)).ToArray(); - } + GuiWidget colorWidget = new GuiWidget(); + colorWidget.Width = 20; + colorWidget.Height = 20; + colorWidget.BackgroundColor = color; + colorWidget.Margin = new BorderDouble(2); + float feedRateToMMPerSecond = speed / 60; - RGBA_Bytes[] speedColors = rangeValues.OrderBy(s => s).Select(speed => extrusionColors.GetColorForSpeed(speed)).ToArray(); + ColorToSpeedWidget colorToSpeedWidget = new ColorToSpeedWidget(colorWidget, feedRateToMMPerSecond.ToString()); + this.AddChild(colorToSpeedWidget); + } - for (int i = 0; i < speedColors.Length; i++) - { - RGBA_Bytes color = speedColors[i]; - int speed = rangeValues[i]; + Margin = new BorderDouble(5, 5, 200, 50); + Margin *= TextWidget.GlobalPointSizeScaleRatio; + HAnchor |= Agg.UI.HAnchor.ParentLeft; + VAnchor = Agg.UI.VAnchor.ParentTop; + } - GuiWidget colorWidget = new GuiWidget(); - colorWidget.Width = 20; - colorWidget.Height = 20; - colorWidget.BackgroundColor = color; - colorWidget.Margin = new BorderDouble(2); - float feedRateToMMPerSecond = speed / 60; + public class ColorToSpeedWidget : FlowLayoutWidget + { + public string layerSpeed; + public GuiWidget speedColor; + public ColorToSpeedWidget(GuiWidget colorWidget, String speed) + : base(FlowDirection.LeftToRight) + { + Margin = new BorderDouble(2); - ColorToSpeedWidget colorToSpeedWidget = new ColorToSpeedWidget(colorWidget, feedRateToMMPerSecond.ToString()); - this.AddChild(colorToSpeedWidget); - - } + speedColor = colorWidget; + layerSpeed = speed + " mm\\s"; - Margin = new BorderDouble(5, 5, 200, 50); - HAnchor |= Agg.UI.HAnchor.ParentLeft; - VAnchor = Agg.UI.VAnchor.ParentTop; + colorWidget.Margin = new BorderDouble(left: 2); - } - - public class ColorToSpeedWidget : FlowLayoutWidget - { - public GuiWidget speedColor; - public string layerSpeed; + TextWidget speedTextBox = new TextWidget(layerSpeed, pointSize: 12); + speedTextBox.TextColor = RGBA_Bytes.White; + speedTextBox.VAnchor = VAnchor.ParentCenter; + speedTextBox.Margin = new BorderDouble(left: 2); - public ColorToSpeedWidget(GuiWidget colorWidget, String speed) - : base(FlowDirection.LeftToRight) - { - Margin = new BorderDouble(2); - - speedColor = colorWidget; - layerSpeed = speed + " mm\\s"; - - colorWidget.Margin = new BorderDouble(left: 2); - - TextWidget speedTextBox = new TextWidget(layerSpeed, pointSize: 12); - speedTextBox.TextColor = RGBA_Bytes.White; - speedTextBox.VAnchor = VAnchor.ParentCenter; - speedTextBox.Margin = new BorderDouble(left: 2); - - this.AddChild(colorWidget); - this.AddChild(speedTextBox); - } - } - - } - + this.AddChild(colorWidget); + this.AddChild(speedTextBox); + } + } + } } \ No newline at end of file diff --git a/PartPreviewWindow/ViewGcodeBasic.cs b/PartPreviewWindow/ViewGcodeBasic.cs index 828df9b03..4691efe3a 100644 --- a/PartPreviewWindow/ViewGcodeBasic.cs +++ b/PartPreviewWindow/ViewGcodeBasic.cs @@ -67,11 +67,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow private CheckBox expandModelOptions; private CheckBox expandDisplayOptions; private CheckBox syncToPrint; - private CheckBox showSpeeds; + private CheckBox showSpeeds; private GuiWidget gcodeDisplayWidget; - private ColorGradientWidget gradient; + private ColorGradientWidget gradientWidget; private EventHandler unregisterEvents; private WindowMode windowMode; @@ -568,25 +568,23 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // put in a show speed checkbox { - showSpeeds = new CheckBox(LocalizedString.Get("Speeds"), textColor: ActiveTheme.Instance.PrimaryTextColor); + showSpeeds = new CheckBox(LocalizedString.Get("Speeds"), textColor: ActiveTheme.Instance.PrimaryTextColor); showSpeeds.Checked = gcodeViewWidget.RenderSpeeds; - //showSpeeds.Checked = gradient.Visible; + //showSpeeds.Checked = gradient.Visible; showSpeeds.CheckedStateChanged += (sender, e) => { - - /* if (!showSpeeds.Checked) - { - gradient.Visible = false; - } - else - { - gradient.Visible = true; - }*/ - - gradient.Visible = showSpeeds.Checked; + /* if (!showSpeeds.Checked) + { + gradient.Visible = false; + } + else + { + gradient.Visible = true; + }*/ + + gradientWidget.Visible = showSpeeds.Checked; gcodeViewWidget.RenderSpeeds = showSpeeds.Checked; - }; layerInfoContainer.AddChild(showSpeeds); @@ -899,16 +897,13 @@ namespace MatterHackers.MatterControl.PartPreviewWindow && gcodeViewWidget.LoadedGCode != null && gcodeViewWidget.LoadedGCode.LineCount > 0) { - - CloseIfNotNull(gradient); - gradient = new ColorGradientWidget(gcodeViewWidget.LoadedGCode); - AddChild(gradient); - gradient.Visible = false; - - + CloseIfNotNull(gradientWidget); + gradientWidget = new ColorGradientWidget(gcodeViewWidget.LoadedGCode); + AddChild(gradientWidget); + gradientWidget.Visible = false; CreateOptionsContent(); - setGradientVisibility(); + setGradientVisibility(); buttonRightPanel.Visible = true; viewControlsToggle.Visible = true; @@ -936,9 +931,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow layerRenderRatioSlider.SecondValueChanged += new EventHandler(layerEndRenderRatioSlider_ValueChanged); AddChild(layerRenderRatioSlider); - - - SetSliderSizes(); // let's change the active layer so that it is set to the first layer with data @@ -951,20 +943,17 @@ namespace MatterHackers.MatterControl.PartPreviewWindow } } - private void setGradientVisibility() - { - if (showSpeeds.Checked) - { - gradient.Visible = true; - } - else - { - gradient.Visible = false; - } - - - - } + private void setGradientVisibility() + { + if (showSpeeds.Checked) + { + gradientWidget.Visible = true; + } + else + { + gradientWidget.Visible = false; + } + } private void layerStartRenderRatioSlider_ValueChanged(object sender, EventArgs e) { diff --git a/StaticData/Icons/ColorGradient/blue.png b/StaticData/Icons/ColorGradient/blue.png deleted file mode 100644 index dd29c4a9115228670c9e53b20ab5824eaebac91e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFqn9{IEGZ*O4@Sj{{(JaZG%Q-e|yQz{EjrrIztFqn9{IEGZ*N?LQ{>BIvE4lFp}AZKxaN##-FjYc14 xi5U_aEQ{HCqztkcSQ?5RvvPg0XW%ek*l~qb_o3^70}Kod44$rjF6*2UngF%}Eye%< diff --git a/StaticData/Icons/ColorGradient/lightblue.png b/StaticData/Icons/ColorGradient/lightblue.png deleted file mode 100644 index 897b0d239c316e96de6a248a7d5149efe748d47e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFqn9{IEGZ*N?K$6*`l$r(Xp}7rl5h<;|TLc=9z2; w28IC~ZoCqv30D|67@i*E7I{(6AdtY&XU6&{(JaZG%Q-e|yQz{EjrrIztFqn9{IEGZ*O8R3IYuVV?=-Ak3Q_#TbafEpz^Gr4a w1H%9gH(m+Tgewdj3{Q`7i@d035J+I?iD6CT`rqr%z`(%Z>FVdQ&MBb@0P;L3#{d8T diff --git a/StaticData/Icons/ColorGradient/red.png b/StaticData/Icons/ColorGradient/red.png deleted file mode 100644 index 37d2594368e2065275899d5f30c672d8a374075a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFqn9{IEGZ*N~+0QH1)uN0}Bo~$XOg{(JaZG%Q-e|yQz{EjrrIztFqn9{IEGZ*N;-4j-n6l?(Xp}7rl5h<;|TLc=9z2; w28IC~ZoCqv30D|67@i*E7I{(6AdtZDpqsVqW!J-v3=9kmp00i_>zopr03{kL+5i9m diff --git a/StaticData/Icons/ColorGradient/yellow.png b/StaticData/Icons/ColorGradient/yellow.png deleted file mode 100644 index f9a96034b583fdc3f271694e2c5a90ed538e6a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFqn9{IEGZ*N~-x5px)Tn=-Ak3Q_#TbafEpz^Gr4a w1H%9gH(m+Tgewdj3{Q`7i@d035J+HHBE`CFHQN?d1_lNOPgg&ebxsLQ0Qfa2tN;K2