Making for of the 3d view reusable for all places that are implementing redundant stuff.
Getting rid of dead code. Getting rid of warnings
This commit is contained in:
parent
6a06306f84
commit
405b8be6bc
19 changed files with 175 additions and 327 deletions
|
|
@ -584,29 +584,8 @@ namespace MatterHackers.MatterControl
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool firstDraw = true;
|
|
||||||
public override void OnDraw(Graphics2D graphics2D)
|
public override void OnDraw(Graphics2D graphics2D)
|
||||||
{
|
{
|
||||||
#if false
|
|
||||||
if (firstDraw)
|
|
||||||
{
|
|
||||||
firstDraw = false;
|
|
||||||
SystemWindow testAbout = new SystemWindow(600, 300);
|
|
||||||
|
|
||||||
string path = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "OEMSettings", "AboutPage.html");
|
|
||||||
string htmlText = File.ReadAllText(path);
|
|
||||||
HTMLCanvas canvas = new HTMLCanvas(htmlText);
|
|
||||||
canvas.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
|
|
||||||
|
|
||||||
canvas.AddReplacementString("textColor", RGBA_Bytes.White.GetAsHTMLString());
|
|
||||||
|
|
||||||
canvas.AnchorAll();
|
|
||||||
testAbout.AddChild(canvas);
|
|
||||||
|
|
||||||
testAbout.ShowAsSystemWindow();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
graphics2D.FillRectangle(new RectangleDouble(0, this.Height - 1, this.Width, this.Height), ActiveTheme.Instance.PrimaryTextColor);
|
graphics2D.FillRectangle(new RectangleDouble(0, this.Height - 1, this.Width, this.Height), ActiveTheme.Instance.PrimaryTextColor);
|
||||||
base.OnDraw(graphics2D);
|
base.OnDraw(graphics2D);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
||||||
textImageButtonFactory.disabledTextColor = RGBA_Bytes.LightGray;
|
textImageButtonFactory.disabledTextColor = RGBA_Bytes.LightGray;
|
||||||
textImageButtonFactory.hoverTextColor = RGBA_Bytes.White;
|
textImageButtonFactory.hoverTextColor = RGBA_Bytes.White;
|
||||||
textImageButtonFactory.pressedTextColor = RGBA_Bytes.White;
|
textImageButtonFactory.pressedTextColor = RGBA_Bytes.White;
|
||||||
textImageButtonFactory.invertImageColor = false;
|
textImageButtonFactory.AllowThemeToAdjustImage = false;
|
||||||
|
|
||||||
textImageButtonFactory.borderWidth = -1;
|
textImageButtonFactory.borderWidth = -1;
|
||||||
textImageButtonFactory.disabledFillColor = ActiveTheme.Instance.PrimaryAccentColor;
|
textImageButtonFactory.disabledFillColor = ActiveTheme.Instance.PrimaryAccentColor;
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,6 @@ namespace MatterHackers.MatterControl
|
||||||
{
|
{
|
||||||
public class CompactSlidePanel : SlidePanel
|
public class CompactSlidePanel : SlidePanel
|
||||||
{
|
{
|
||||||
SimpleTextTabWidget aboutTabView;
|
|
||||||
TabControl advancedControlsTabControl;
|
TabControl advancedControlsTabControl;
|
||||||
TabControl mainControlsTabControl;
|
TabControl mainControlsTabControl;
|
||||||
SliceSettingsWidget sliceSettingsWidget;
|
SliceSettingsWidget sliceSettingsWidget;
|
||||||
|
|
|
||||||
|
|
@ -282,10 +282,6 @@ namespace MatterHackers.MatterControl
|
||||||
return topLine;
|
return topLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
NumberEdit feedRateValue;
|
|
||||||
Slider feedRateRatioSlider;
|
|
||||||
Slider extrusionRatioSlider;
|
|
||||||
NumberEdit extrusionValue;
|
|
||||||
PrintLevelWizardWindow printLevelWizardWindow;
|
PrintLevelWizardWindow printLevelWizardWindow;
|
||||||
|
|
||||||
public override void OnClosed(EventArgs e)
|
public override void OnClosed(EventArgs e)
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ namespace MatterHackers.MatterControl
|
||||||
public int fontSize = 12;
|
public int fontSize = 12;
|
||||||
public double borderWidth = 1;
|
public double borderWidth = 1;
|
||||||
public bool invertImageLocation = false;
|
public bool invertImageLocation = false;
|
||||||
public bool invertImageColor = true;
|
public bool AllowThemeToAdjustImage = true;
|
||||||
FlowDirection flowDirection;
|
FlowDirection flowDirection;
|
||||||
public int FixedWidth = 0;
|
public int FixedWidth = 0;
|
||||||
public int FixedHeight = 40;
|
public int FixedHeight = 40;
|
||||||
|
|
@ -288,7 +288,7 @@ namespace MatterHackers.MatterControl
|
||||||
if (normalImageName != null)
|
if (normalImageName != null)
|
||||||
{
|
{
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(normalImageName), normalImage);
|
ImageIO.LoadImageData(this.GetImageLocation(normalImageName), normalImage);
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(normalImage);
|
InvertLightness.DoInvertLightness(normalImage);
|
||||||
}
|
}
|
||||||
|
|
@ -297,7 +297,7 @@ namespace MatterHackers.MatterControl
|
||||||
if (hoverImageName != null)
|
if (hoverImageName != null)
|
||||||
{
|
{
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(pressedImageName), pressedImage);
|
ImageIO.LoadImageData(this.GetImageLocation(pressedImageName), pressedImage);
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(pressedImage);
|
InvertLightness.DoInvertLightness(pressedImage);
|
||||||
}
|
}
|
||||||
|
|
@ -306,7 +306,7 @@ namespace MatterHackers.MatterControl
|
||||||
if (pressedImageName != null)
|
if (pressedImageName != null)
|
||||||
{
|
{
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(hoverImageName), hoverImage);
|
ImageIO.LoadImageData(this.GetImageLocation(hoverImageName), hoverImage);
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(hoverImage);
|
InvertLightness.DoInvertLightness(hoverImage);
|
||||||
}
|
}
|
||||||
|
|
@ -315,7 +315,7 @@ namespace MatterHackers.MatterControl
|
||||||
if (disabledImageName != null)
|
if (disabledImageName != null)
|
||||||
{
|
{
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(disabledImageName), disabledImage);
|
ImageIO.LoadImageData(this.GetImageLocation(disabledImageName), disabledImage);
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(disabledImage);
|
InvertLightness.DoInvertLightness(disabledImage);
|
||||||
}
|
}
|
||||||
|
|
@ -368,16 +368,11 @@ namespace MatterHackers.MatterControl
|
||||||
pressedToNormalImageName = normalImageName;
|
pressedToNormalImageName = normalImageName;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (normalImageName == "icon_arrow_right_no_border_32x32.png")
|
|
||||||
{
|
|
||||||
int a = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (normalImageName != null)
|
if (normalImageName != null)
|
||||||
{
|
{
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(normalImageName), normalImage);
|
ImageIO.LoadImageData(this.GetImageLocation(normalImageName), normalImage);
|
||||||
|
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(normalImage);
|
InvertLightness.DoInvertLightness(normalImage);
|
||||||
}
|
}
|
||||||
|
|
@ -386,7 +381,7 @@ namespace MatterHackers.MatterControl
|
||||||
if (pressedImageName != null)
|
if (pressedImageName != null)
|
||||||
{
|
{
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(pressedImageName), pressedImage);
|
ImageIO.LoadImageData(this.GetImageLocation(pressedImageName), pressedImage);
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(pressedImage);
|
InvertLightness.DoInvertLightness(pressedImage);
|
||||||
}
|
}
|
||||||
|
|
@ -396,7 +391,7 @@ namespace MatterHackers.MatterControl
|
||||||
if (normalToPressedImageName != null)
|
if (normalToPressedImageName != null)
|
||||||
{
|
{
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(normalToPressedImageName), normalToPressedImage);
|
ImageIO.LoadImageData(this.GetImageLocation(normalToPressedImageName), normalToPressedImage);
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(normalToPressedImage);
|
InvertLightness.DoInvertLightness(normalToPressedImage);
|
||||||
}
|
}
|
||||||
|
|
@ -405,7 +400,7 @@ namespace MatterHackers.MatterControl
|
||||||
if (pressedToNormalImageName != null)
|
if (pressedToNormalImageName != null)
|
||||||
{
|
{
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(pressedToNormalImageName), pressedToNormalImage);
|
ImageIO.LoadImageData(this.GetImageLocation(pressedToNormalImageName), pressedToNormalImage);
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(pressedToNormalImage);
|
InvertLightness.DoInvertLightness(pressedToNormalImage);
|
||||||
}
|
}
|
||||||
|
|
@ -443,7 +438,7 @@ namespace MatterHackers.MatterControl
|
||||||
{
|
{
|
||||||
iconImage = new ImageBuffer();
|
iconImage = new ImageBuffer();
|
||||||
ImageIO.LoadImageData(this.GetImageLocation(iconImageName), iconImage);
|
ImageIO.LoadImageData(this.GetImageLocation(iconImageName), iconImage);
|
||||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||||
{
|
{
|
||||||
InvertLightness.DoInvertLightness(iconImage);
|
InvertLightness.DoInvertLightness(iconImage);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,6 @@ namespace MatterHackers.MatterControl
|
||||||
ImageBuffer image = new Agg.Image.ImageBuffer();
|
ImageBuffer image = new Agg.Image.ImageBuffer();
|
||||||
|
|
||||||
// all te color stuff
|
// all te color stuff
|
||||||
public double BorderWidth = 0;
|
|
||||||
protected double borderRadius = 0;
|
protected double borderRadius = 0;
|
||||||
protected RGBA_Bytes HoverBorderColor = new RGBA_Bytes();
|
protected RGBA_Bytes HoverBorderColor = new RGBA_Bytes();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,6 @@ namespace MatterHackers.MatterControl.EeProm
|
||||||
public partial class EePromMarlinWidget : SystemWindow
|
public partial class EePromMarlinWidget : SystemWindow
|
||||||
{
|
{
|
||||||
EePromMarlinSettings currentEePromSettings;
|
EePromMarlinSettings currentEePromSettings;
|
||||||
bool reinit = true;
|
|
||||||
|
|
||||||
MHNumberEdit stepsPerMmX;
|
MHNumberEdit stepsPerMmX;
|
||||||
MHNumberEdit stepsPerMmY;
|
MHNumberEdit stepsPerMmY;
|
||||||
|
|
@ -307,13 +306,11 @@ namespace MatterHackers.MatterControl.EeProm
|
||||||
|
|
||||||
private void buttonReLoadSettings_Click(object sender, EventArgs e)
|
private void buttonReLoadSettings_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
reinit = false;
|
|
||||||
currentEePromSettings.Update();
|
currentEePromSettings.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetToFactorySettings(object sender, EventArgs e)
|
private void SetToFactorySettings(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
reinit = true;
|
|
||||||
currentEePromSettings.SetPrinterToFactorySettings();
|
currentEePromSettings.SetPrinterToFactorySettings();
|
||||||
currentEePromSettings.Update();
|
currentEePromSettings.Update();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
<PlatformTarget>x86</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|
@ -77,6 +77,7 @@
|
||||||
<Compile Include="CustomWidgets\FlowSpacers.cs" />
|
<Compile Include="CustomWidgets\FlowSpacers.cs" />
|
||||||
<Compile Include="DataStorage\Models.cs" />
|
<Compile Include="DataStorage\Models.cs" />
|
||||||
<Compile Include="LocalizedString.cs" />
|
<Compile Include="LocalizedString.cs" />
|
||||||
|
<Compile Include="PartPreviewWindow\BaseClasses\PartPreview3DWidget.cs" />
|
||||||
<Compile Include="PrinterCommunication\ActivePrinterProfile.cs" />
|
<Compile Include="PrinterCommunication\ActivePrinterProfile.cs" />
|
||||||
<Compile Include="ConfigurationPage\ConfigurationPage.cs" />
|
<Compile Include="ConfigurationPage\ConfigurationPage.cs" />
|
||||||
<Compile Include="CustomWidgets\DisableableWidget.cs" />
|
<Compile Include="CustomWidgets\DisableableWidget.cs" />
|
||||||
|
|
@ -93,7 +94,7 @@
|
||||||
<Compile Include="Utilities\FieldValidation.cs" />
|
<Compile Include="Utilities\FieldValidation.cs" />
|
||||||
<Compile Include="PartPreviewWindow\CreateDiscreteMeshes.cs" />
|
<Compile Include="PartPreviewWindow\CreateDiscreteMeshes.cs" />
|
||||||
<Compile Include="CustomWidgets\EditableNumberDisplay.cs" />
|
<Compile Include="CustomWidgets\EditableNumberDisplay.cs" />
|
||||||
<Compile Include="PartPreviewWindow\PartPreviewBaseWidget.cs" />
|
<Compile Include="PartPreviewWindow\BaseClasses\PartPreviewWidget.cs" />
|
||||||
<Compile Include="PartPreviewWindow\PlatingHelper.cs" />
|
<Compile Include="PartPreviewWindow\PlatingHelper.cs" />
|
||||||
<Compile Include="PartPreviewWindow\ProgressControl.cs" />
|
<Compile Include="PartPreviewWindow\ProgressControl.cs" />
|
||||||
<Compile Include="PartPreviewWindow\View3DTransfromPart.cs" />
|
<Compile Include="PartPreviewWindow\View3DTransfromPart.cs" />
|
||||||
|
|
@ -107,7 +108,6 @@
|
||||||
<Compile Include="PrintLibrary\PluginChooserWindow.cs" />
|
<Compile Include="PrintLibrary\PluginChooserWindow.cs" />
|
||||||
<Compile Include="PrintLibrary\ExportLibraryItemWindow.cs" />
|
<Compile Include="PrintLibrary\ExportLibraryItemWindow.cs" />
|
||||||
<Compile Include="PrintLibrary\RegisteredCreators.cs" />
|
<Compile Include="PrintLibrary\RegisteredCreators.cs" />
|
||||||
<Compile Include="PrintQueue\ExportToSdCardProcess.cs" />
|
|
||||||
<Compile Include="SlicerConfiguration\SlicerMapping\EngineMappingCura.cs" />
|
<Compile Include="SlicerConfiguration\SlicerMapping\EngineMappingCura.cs" />
|
||||||
<Compile Include="SlicerConfiguration\SlicerMapping\EngineMappingSlic3r.cs" />
|
<Compile Include="SlicerConfiguration\SlicerMapping\EngineMappingSlic3r.cs" />
|
||||||
<Compile Include="SlicerConfiguration\SlicerMapping\MappingClasses.cs" />
|
<Compile Include="SlicerConfiguration\SlicerMapping\MappingClasses.cs" />
|
||||||
|
|
|
||||||
113
PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs
Normal file
113
PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
/*
|
||||||
|
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 System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
using MatterHackers.Agg;
|
||||||
|
using MatterHackers.Agg.Image;
|
||||||
|
using MatterHackers.Agg.UI;
|
||||||
|
using MatterHackers.Agg.OpenGlGui;
|
||||||
|
using MatterHackers.PolygonMesh;
|
||||||
|
using MatterHackers.RenderOpenGl;
|
||||||
|
using MatterHackers.VectorMath;
|
||||||
|
using MatterHackers.MatterControl.DataStorage;
|
||||||
|
using MatterHackers.MatterControl.PrintQueue;
|
||||||
|
using MatterHackers.MeshVisualizer;
|
||||||
|
|
||||||
|
namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
|
{
|
||||||
|
public class PartPreview3DWidget : PartPreviewWidget
|
||||||
|
{
|
||||||
|
protected MeshViewerWidget meshViewerWidget;
|
||||||
|
|
||||||
|
public PartPreview3DWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Add3DViewControls()
|
||||||
|
{
|
||||||
|
FlowLayoutWidget transformTypeSelector = new FlowLayoutWidget();
|
||||||
|
transformTypeSelector.BackgroundColor = new RGBA_Bytes(0, 0, 0, 120);
|
||||||
|
textImageButtonFactory.FixedHeight = 20;
|
||||||
|
textImageButtonFactory.FixedWidth = 20;
|
||||||
|
textImageButtonFactory.AllowThemeToAdjustImage = false;
|
||||||
|
|
||||||
|
string rotateIconPath = Path.Combine("Icons", "ViewTransformControls", "rotate.png");
|
||||||
|
rotateViewButton = textImageButtonFactory.GenerateRadioButton("", rotateIconPath);
|
||||||
|
rotateViewButton.Margin = new BorderDouble(3);
|
||||||
|
transformTypeSelector.AddChild(rotateViewButton);
|
||||||
|
rotateViewButton.Click += (sender, e) =>
|
||||||
|
{
|
||||||
|
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Rotation;
|
||||||
|
};
|
||||||
|
|
||||||
|
string translateIconPath = Path.Combine("Icons", "ViewTransformControls", "translate.png");
|
||||||
|
RadioButton translateButton = textImageButtonFactory.GenerateRadioButton("", translateIconPath);
|
||||||
|
translateButton.Margin = new BorderDouble(3);
|
||||||
|
transformTypeSelector.AddChild(translateButton);
|
||||||
|
translateButton.Click += (sender, e) =>
|
||||||
|
{
|
||||||
|
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Translation;
|
||||||
|
};
|
||||||
|
|
||||||
|
string scaleIconPath = Path.Combine("Icons", "ViewTransformControls", "scale.png");
|
||||||
|
RadioButton scaleButton = textImageButtonFactory.GenerateRadioButton("", scaleIconPath);
|
||||||
|
scaleButton.Margin = new BorderDouble(3);
|
||||||
|
transformTypeSelector.AddChild(scaleButton);
|
||||||
|
scaleButton.Click += (sender, e) =>
|
||||||
|
{
|
||||||
|
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Scale;
|
||||||
|
};
|
||||||
|
|
||||||
|
viewControlsSeparator = new GuiWidget(2, 32);
|
||||||
|
viewControlsSeparator.BackgroundColor = RGBA_Bytes.White;
|
||||||
|
viewControlsSeparator.Margin = new BorderDouble(3);
|
||||||
|
transformTypeSelector.AddChild(viewControlsSeparator);
|
||||||
|
|
||||||
|
string partSelectIconPath = Path.Combine("Icons", "ViewTransformControls", "partSelect.png");
|
||||||
|
partSelectButton = textImageButtonFactory.GenerateRadioButton("", partSelectIconPath);
|
||||||
|
partSelectButton.Margin = new BorderDouble(3);
|
||||||
|
transformTypeSelector.AddChild(partSelectButton);
|
||||||
|
partSelectButton.Click += (sender, e) =>
|
||||||
|
{
|
||||||
|
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.None;
|
||||||
|
};
|
||||||
|
|
||||||
|
transformTypeSelector.Margin = new BorderDouble(5);
|
||||||
|
transformTypeSelector.HAnchor |= Agg.UI.HAnchor.ParentLeft;
|
||||||
|
transformTypeSelector.VAnchor = Agg.UI.VAnchor.ParentTop;
|
||||||
|
AddChild(transformTypeSelector);
|
||||||
|
rotateViewButton.Checked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -45,14 +45,23 @@ using MatterHackers.MatterControl.PrintQueue;
|
||||||
|
|
||||||
namespace MatterHackers.MatterControl.PartPreviewWindow
|
namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
{
|
{
|
||||||
public class PartPreviewBaseWidget : GuiWidget
|
public class PartPreviewWidget : GuiWidget
|
||||||
{
|
{
|
||||||
protected TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory();
|
protected TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory();
|
||||||
protected TextImageButtonFactory checkboxButtonFactory = new TextImageButtonFactory();
|
protected TextImageButtonFactory checkboxButtonFactory = new TextImageButtonFactory();
|
||||||
protected TextImageButtonFactory expandMenuOptionFactory = new TextImageButtonFactory();
|
protected TextImageButtonFactory expandMenuOptionFactory = new TextImageButtonFactory();
|
||||||
protected TextImageButtonFactory whiteButtonFactory = new TextImageButtonFactory();
|
protected TextImageButtonFactory whiteButtonFactory = new TextImageButtonFactory();
|
||||||
|
|
||||||
public PartPreviewBaseWidget()
|
protected RadioButton partSelectButton;
|
||||||
|
protected RadioButton translateButton;
|
||||||
|
protected RadioButton rotateViewButton;
|
||||||
|
protected RadioButton scaleButton;
|
||||||
|
protected GuiWidget viewControlsSeparator;
|
||||||
|
|
||||||
|
protected Cover buttonRightPanelDisabledCover;
|
||||||
|
protected FlowLayoutWidget buttonRightPanel;
|
||||||
|
|
||||||
|
public PartPreviewWidget()
|
||||||
{
|
{
|
||||||
textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor;
|
textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor;
|
||||||
textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor;
|
textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor;
|
||||||
|
|
@ -94,5 +103,32 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
|
|
||||||
BackgroundColor = RGBA_Bytes.White;
|
BackgroundColor = RGBA_Bytes.White;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void Add2DViewControls()
|
||||||
|
{
|
||||||
|
TextImageButtonFactory iconTextImageButtonFactory = new TextImageButtonFactory();
|
||||||
|
iconTextImageButtonFactory.AllowThemeToAdjustImage = false;
|
||||||
|
|
||||||
|
FlowLayoutWidget transformTypeSelector = new FlowLayoutWidget();
|
||||||
|
transformTypeSelector.BackgroundColor = new RGBA_Bytes(0, 0, 0, 120);
|
||||||
|
iconTextImageButtonFactory.FixedHeight = 20;
|
||||||
|
iconTextImageButtonFactory.FixedWidth = 20;
|
||||||
|
|
||||||
|
string translateIconPath = Path.Combine("Icons", "ViewTransformControls", "translate.png");
|
||||||
|
translateButton = iconTextImageButtonFactory.GenerateRadioButton("", translateIconPath);
|
||||||
|
translateButton.Margin = new BorderDouble(3);
|
||||||
|
transformTypeSelector.AddChild(translateButton);
|
||||||
|
|
||||||
|
string scaleIconPath = Path.Combine("Icons", "ViewTransformControls", "scale.png");
|
||||||
|
scaleButton = iconTextImageButtonFactory.GenerateRadioButton("", scaleIconPath);
|
||||||
|
scaleButton.Margin = new BorderDouble(3);
|
||||||
|
transformTypeSelector.AddChild(scaleButton);
|
||||||
|
|
||||||
|
transformTypeSelector.Margin = new BorderDouble(5);
|
||||||
|
transformTypeSelector.HAnchor |= Agg.UI.HAnchor.ParentLeft;
|
||||||
|
transformTypeSelector.VAnchor = Agg.UI.VAnchor.ParentTop;
|
||||||
|
AddChild(transformTypeSelector);
|
||||||
|
translateButton.Checked = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -51,7 +51,7 @@ using MatterHackers.Localizations;
|
||||||
|
|
||||||
namespace MatterHackers.MatterControl.PartPreviewWindow
|
namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
{
|
{
|
||||||
public class GcodeViewBasic : PartPreviewBaseWidget
|
public class GcodeViewBasic : PartPreviewWidget
|
||||||
{
|
{
|
||||||
public Slider selectLayerSlider;
|
public Slider selectLayerSlider;
|
||||||
public Slider layerStartRenderRatioSlider;
|
public Slider layerStartRenderRatioSlider;
|
||||||
|
|
@ -64,7 +64,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
Button generateGCodeButton;
|
Button generateGCodeButton;
|
||||||
FlowLayoutWidget buttonBottomPanel;
|
FlowLayoutWidget buttonBottomPanel;
|
||||||
FlowLayoutWidget layerSelectionButtonsPannel;
|
FlowLayoutWidget layerSelectionButtonsPannel;
|
||||||
FlowLayoutWidget buttonRightPanel;
|
|
||||||
|
|
||||||
FlowLayoutWidget modelOptionsContainer;
|
FlowLayoutWidget modelOptionsContainer;
|
||||||
FlowLayoutWidget layerOptionsContainer;
|
FlowLayoutWidget layerOptionsContainer;
|
||||||
|
|
@ -176,44 +175,17 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
|
|
||||||
AddProcessingMessage(startingMessage);
|
AddProcessingMessage(startingMessage);
|
||||||
|
|
||||||
AddViewControls();
|
Add2DViewControls();
|
||||||
|
|
||||||
AddHandlers();
|
|
||||||
}
|
|
||||||
|
|
||||||
void AddViewControls()
|
|
||||||
{
|
|
||||||
TextImageButtonFactory iconTextImageButtonFactory = new TextImageButtonFactory();
|
|
||||||
iconTextImageButtonFactory.invertImageColor = false;
|
|
||||||
|
|
||||||
FlowLayoutWidget transformTypeSelector = new FlowLayoutWidget();
|
|
||||||
transformTypeSelector.BackgroundColor = new RGBA_Bytes(0, 0, 0, 120);
|
|
||||||
iconTextImageButtonFactory.FixedHeight = 20;
|
|
||||||
iconTextImageButtonFactory.FixedWidth = 20;
|
|
||||||
|
|
||||||
string translateIconPath = Path.Combine("Icons", "ViewTransformControls", "translate.png");
|
|
||||||
RadioButton translateButton = iconTextImageButtonFactory.GenerateRadioButton("", translateIconPath);
|
|
||||||
translateButton.Margin = new BorderDouble(3);
|
|
||||||
transformTypeSelector.AddChild(translateButton);
|
|
||||||
translateButton.Click += (sender, e) =>
|
translateButton.Click += (sender, e) =>
|
||||||
{
|
{
|
||||||
gcodeViewWidget.TransformState = GCodeViewWidget.ETransformState.Move;
|
gcodeViewWidget.TransformState = GCodeViewWidget.ETransformState.Move;
|
||||||
};
|
};
|
||||||
|
|
||||||
string scaleIconPath = Path.Combine("Icons", "ViewTransformControls", "scale.png");
|
|
||||||
RadioButton scaleButton = iconTextImageButtonFactory.GenerateRadioButton("", scaleIconPath);
|
|
||||||
scaleButton.Margin = new BorderDouble(3);
|
|
||||||
transformTypeSelector.AddChild(scaleButton);
|
|
||||||
scaleButton.Click += (sender, e) =>
|
scaleButton.Click += (sender, e) =>
|
||||||
{
|
{
|
||||||
gcodeViewWidget.TransformState = GCodeViewWidget.ETransformState.Scale;
|
gcodeViewWidget.TransformState = GCodeViewWidget.ETransformState.Scale;
|
||||||
};
|
};
|
||||||
|
|
||||||
transformTypeSelector.Margin = new BorderDouble(5);
|
AddHandlers();
|
||||||
transformTypeSelector.HAnchor |= Agg.UI.HAnchor.ParentLeft;
|
|
||||||
transformTypeSelector.VAnchor = Agg.UI.VAnchor.ParentTop;
|
|
||||||
AddChild(transformTypeSelector);
|
|
||||||
translateButton.Checked = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private FlowLayoutWidget CreateRightButtonPannel()
|
private FlowLayoutWidget CreateRightButtonPannel()
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ using MatterHackers.MatterControl.DataStorage;
|
||||||
using MatterHackers.MatterControl.PrintQueue;
|
using MatterHackers.MatterControl.PrintQueue;
|
||||||
using MatterHackers.MatterControl.SlicerConfiguration;
|
using MatterHackers.MatterControl.SlicerConfiguration;
|
||||||
using MatterHackers.VectorMath;
|
using MatterHackers.VectorMath;
|
||||||
using MatterHackers.Localizations;
|
|
||||||
|
|
||||||
namespace MatterHackers.MatterControl.PartPreviewWindow
|
namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -71,12 +71,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class View3DTransformPart : PartPreviewBaseWidget
|
public class View3DTransformPart : PartPreview3DWidget
|
||||||
{
|
{
|
||||||
MeshViewerWidget meshViewerWidget;
|
|
||||||
Cover buttonRightPanelDisabledCover;
|
|
||||||
FlowLayoutWidget buttonRightPanel;
|
|
||||||
|
|
||||||
FlowLayoutWidget viewOptionContainer;
|
FlowLayoutWidget viewOptionContainer;
|
||||||
FlowLayoutWidget rotateOptionContainer;
|
FlowLayoutWidget rotateOptionContainer;
|
||||||
FlowLayoutWidget scaleOptionContainer;
|
FlowLayoutWidget scaleOptionContainer;
|
||||||
|
|
@ -84,9 +80,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
ProgressControl processingProgressControl;
|
ProgressControl processingProgressControl;
|
||||||
FlowLayoutWidget enterEditButtonsContainer;
|
FlowLayoutWidget enterEditButtonsContainer;
|
||||||
FlowLayoutWidget doEdittingButtonsContainer;
|
FlowLayoutWidget doEdittingButtonsContainer;
|
||||||
RadioButton rotateViewButton;
|
|
||||||
GuiWidget viewControlsSeparator;
|
|
||||||
RadioButton partSelectButton;
|
|
||||||
bool OpenAddDialogWhenDone = false;
|
bool OpenAddDialogWhenDone = false;
|
||||||
|
|
||||||
Dictionary<string, List<GuiWidget>> transformControls = new Dictionary<string, List<GuiWidget>>();
|
Dictionary<string, List<GuiWidget>> transformControls = new Dictionary<string, List<GuiWidget>>();
|
||||||
|
|
@ -101,8 +94,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
Button closeButton;
|
Button closeButton;
|
||||||
Button applyScaleButton;
|
Button applyScaleButton;
|
||||||
|
|
||||||
SaveAsWindow saveAs;
|
|
||||||
|
|
||||||
PrintItemWrapper printItemWrapper;
|
PrintItemWrapper printItemWrapper;
|
||||||
|
|
||||||
List<Mesh> asynchMeshesList = new List<Mesh>();
|
List<Mesh> asynchMeshesList = new List<Mesh>();
|
||||||
|
|
@ -422,7 +413,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
this.AnchorAll();
|
this.AnchorAll();
|
||||||
|
|
||||||
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Rotation;
|
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Rotation;
|
||||||
AddViewControls();
|
Add3DViewControls();
|
||||||
|
viewControlsSeparator.Visible = false;
|
||||||
|
partSelectButton.Visible = false;
|
||||||
|
|
||||||
AddHandlers();
|
AddHandlers();
|
||||||
|
|
||||||
|
|
@ -890,64 +883,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
processingProgressControl.PercentComplete = e.ProgressPercentage;
|
processingProgressControl.PercentComplete = e.ProgressPercentage;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddViewControls()
|
|
||||||
{
|
|
||||||
FlowLayoutWidget transformTypeSelector = new FlowLayoutWidget();
|
|
||||||
transformTypeSelector.BackgroundColor = new RGBA_Bytes(0, 0, 0, 120);
|
|
||||||
textImageButtonFactory.FixedHeight = 20;
|
|
||||||
textImageButtonFactory.FixedWidth = 20;
|
|
||||||
textImageButtonFactory.invertImageColor = false;
|
|
||||||
|
|
||||||
string rotateIconPath = Path.Combine("Icons", "ViewTransformControls", "rotate.png");
|
|
||||||
rotateViewButton = textImageButtonFactory.GenerateRadioButton("", rotateIconPath);
|
|
||||||
rotateViewButton.Margin = new BorderDouble(3);
|
|
||||||
transformTypeSelector.AddChild(rotateViewButton);
|
|
||||||
rotateViewButton.Click += (sender, e) =>
|
|
||||||
{
|
|
||||||
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Rotation;
|
|
||||||
};
|
|
||||||
|
|
||||||
string translateIconPath = Path.Combine("Icons", "ViewTransformControls", "translate.png");
|
|
||||||
RadioButton translateButton = textImageButtonFactory.GenerateRadioButton("", translateIconPath);
|
|
||||||
translateButton.Margin = new BorderDouble(3);
|
|
||||||
transformTypeSelector.AddChild(translateButton);
|
|
||||||
translateButton.Click += (sender, e) =>
|
|
||||||
{
|
|
||||||
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Translation;
|
|
||||||
};
|
|
||||||
|
|
||||||
string scaleIconPath = Path.Combine("Icons", "ViewTransformControls", "scale.png");
|
|
||||||
RadioButton scaleButton = textImageButtonFactory.GenerateRadioButton("", scaleIconPath);
|
|
||||||
scaleButton.Margin = new BorderDouble(3);
|
|
||||||
transformTypeSelector.AddChild(scaleButton);
|
|
||||||
scaleButton.Click += (sender, e) =>
|
|
||||||
{
|
|
||||||
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Scale;
|
|
||||||
};
|
|
||||||
|
|
||||||
viewControlsSeparator = new GuiWidget(2, 32);
|
|
||||||
viewControlsSeparator.Visible = false;
|
|
||||||
viewControlsSeparator.BackgroundColor = RGBA_Bytes.White;
|
|
||||||
viewControlsSeparator.Margin = new BorderDouble(3);
|
|
||||||
transformTypeSelector.AddChild(viewControlsSeparator);
|
|
||||||
|
|
||||||
string partSelectIconPath = Path.Combine("Icons", "ViewTransformControls", "partSelect.png");
|
|
||||||
partSelectButton = textImageButtonFactory.GenerateRadioButton("", partSelectIconPath);
|
|
||||||
partSelectButton.Visible = false;
|
|
||||||
partSelectButton.Margin = new BorderDouble(3);
|
|
||||||
transformTypeSelector.AddChild(partSelectButton);
|
|
||||||
partSelectButton.Click += (sender, e) =>
|
|
||||||
{
|
|
||||||
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.None;
|
|
||||||
};
|
|
||||||
|
|
||||||
transformTypeSelector.Margin = new BorderDouble(5);
|
|
||||||
transformTypeSelector.HAnchor |= Agg.UI.HAnchor.ParentLeft;
|
|
||||||
transformTypeSelector.VAnchor = Agg.UI.VAnchor.ParentTop;
|
|
||||||
AddChild(transformTypeSelector);
|
|
||||||
rotateViewButton.Checked = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CreateOptionsContent()
|
private void CreateOptionsContent()
|
||||||
{
|
{
|
||||||
AddRotateControls(rotateOptionContainer);
|
AddRotateControls(rotateOptionContainer);
|
||||||
|
|
@ -998,6 +933,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
AddMirrorControls(mirrorOptionContainer);
|
AddMirrorControls(mirrorOptionContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if false // this is not finished yet so it is in here for reference in case we do finish it. LBB 2014/04/04
|
||||||
// put in the part info display
|
// put in the part info display
|
||||||
if(false)
|
if(false)
|
||||||
{
|
{
|
||||||
|
|
@ -1032,6 +968,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
zSizeInfo.AutoExpandBoundsToText = true;
|
zSizeInfo.AutoExpandBoundsToText = true;
|
||||||
PartInfoOptionContainer.AddChild(zSizeInfo);
|
PartInfoOptionContainer.AddChild(zSizeInfo);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// put in the view options
|
// put in the view options
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,6 @@ namespace MatterHackers.MatterControl.PrintHistory
|
||||||
public class PrintHistoryListControl : ScrollableWidget
|
public class PrintHistoryListControl : ScrollableWidget
|
||||||
{
|
{
|
||||||
static PrintHistoryListControl instance;
|
static PrintHistoryListControl instance;
|
||||||
private DataStorage.PrintItemCollection libraryCollection;
|
|
||||||
public bool ShowTimestamp;
|
public bool ShowTimestamp;
|
||||||
|
|
||||||
public static PrintHistoryListControl Instance
|
public static PrintHistoryListControl Instance
|
||||||
|
|
@ -138,7 +137,6 @@ namespace MatterHackers.MatterControl.PrintHistory
|
||||||
{
|
{
|
||||||
query = string.Format("SELECT * FROM PrintTask ORDER BY PrintStart DESC LIMIT {0};", recordCount);
|
query = string.Format("SELECT * FROM PrintTask ORDER BY PrintStart DESC LIMIT {0};", recordCount);
|
||||||
}
|
}
|
||||||
//query = string.Format("SELECT * FROM PrintItem WHERE PrintItemCollectionID = {0} ORDER BY Name DESC;", libraryCollection.Id);
|
|
||||||
IEnumerable<DataStorage.PrintTask> result = (IEnumerable<DataStorage.PrintTask>)DataStorage.Datastore.Instance.dbSQLite.Query<DataStorage.PrintTask>(query);
|
IEnumerable<DataStorage.PrintTask> result = (IEnumerable<DataStorage.PrintTask>)DataStorage.Datastore.Instance.dbSQLite.Query<DataStorage.PrintTask>(query);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,6 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
||||||
ImageBuffer image = new Agg.Image.ImageBuffer();
|
ImageBuffer image = new Agg.Image.ImageBuffer();
|
||||||
|
|
||||||
// all te color stuff
|
// all te color stuff
|
||||||
public double BorderWidth = 0;
|
|
||||||
protected double borderRadius = 0;
|
protected double borderRadius = 0;
|
||||||
protected RGBA_Bytes HoverBorderColor = new RGBA_Bytes();
|
protected RGBA_Bytes HoverBorderColor = new RGBA_Bytes();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,168 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
using MatterHackers.MatterControl.DataStorage;
|
|
||||||
using MatterHackers.MatterControl.PrintQueue;
|
|
||||||
using MatterHackers.MatterControl.SlicerConfiguration;
|
|
||||||
using MatterHackers.Agg.UI;
|
|
||||||
using MatterHackers.GCodeVisualizer;
|
|
||||||
|
|
||||||
namespace MatterHackers.MatterControl.PrintQueue
|
|
||||||
{
|
|
||||||
public class ExportToSdCardProcess
|
|
||||||
{
|
|
||||||
List<PrintItem> allFilesToExport;
|
|
||||||
List<string> savedGCodeFileNames;
|
|
||||||
public event EventHandler UpdatePartStatus;
|
|
||||||
public event EventHandler StartingNextPart;
|
|
||||||
public event EventHandler DoneSaving;
|
|
||||||
|
|
||||||
int itemCountBeingWorkedOn;
|
|
||||||
public int ItemCountBeingWorkedOn
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return itemCountBeingWorkedOn;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public string ItemNameBeingWorkedOn
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (ItemCountBeingWorkedOn < allFilesToExport.Count)
|
|
||||||
{
|
|
||||||
return allFilesToExport[ItemCountBeingWorkedOn].Name;
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public int CountOfParts
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return allFilesToExport.Count;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExportToSdCardProcess(List<DataStorage.PrintItem> list)
|
|
||||||
{
|
|
||||||
// TODO: Complete member initialization
|
|
||||||
this.allFilesToExport = list;
|
|
||||||
|
|
||||||
itemCountBeingWorkedOn = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Start()
|
|
||||||
{
|
|
||||||
if (PrintQueueControl.Instance.Count > 0)
|
|
||||||
{
|
|
||||||
if (StartingNextPart != null)
|
|
||||||
{
|
|
||||||
StartingNextPart(this, new StringEventArgs(ItemNameBeingWorkedOn));
|
|
||||||
}
|
|
||||||
|
|
||||||
savedGCodeFileNames = new List<string>();
|
|
||||||
allFilesToExport = PrintQueueControl.Instance.CreateReadOnlyPartList();
|
|
||||||
foreach (PrintItem part in allFilesToExport)
|
|
||||||
{
|
|
||||||
PrintItemWrapper printItemWrapper = new PrintItemWrapper(part);
|
|
||||||
if (System.IO.Path.GetExtension(part.FileLocation).ToUpper() == ".STL")
|
|
||||||
{
|
|
||||||
SlicingQueue.Instance.QueuePartForSlicing(printItemWrapper);
|
|
||||||
printItemWrapper.Done += new EventHandler(sliceItem_Done);
|
|
||||||
printItemWrapper.SlicingOutputMessage += printItemWrapper_SlicingOutputMessage;
|
|
||||||
}
|
|
||||||
else if (System.IO.Path.GetExtension(part.FileLocation).ToUpper() == ".GCODE")
|
|
||||||
{
|
|
||||||
sliceItem_Done(printItemWrapper, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void printItemWrapper_SlicingOutputMessage(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
StringEventArgs message = (StringEventArgs)e;
|
|
||||||
if (UpdatePartStatus != null)
|
|
||||||
{
|
|
||||||
UpdatePartStatus(this, message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void sliceItem_Done(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
PrintItemWrapper sliceItem = (PrintItemWrapper)sender;
|
|
||||||
|
|
||||||
sliceItem.Done -= new EventHandler(sliceItem_Done);
|
|
||||||
savedGCodeFileNames.Add(sliceItem.GCodePathAndFileName);
|
|
||||||
|
|
||||||
itemCountBeingWorkedOn++;
|
|
||||||
if (itemCountBeingWorkedOn < allFilesToExport.Count)
|
|
||||||
{
|
|
||||||
if (StartingNextPart != null)
|
|
||||||
{
|
|
||||||
StartingNextPart(this, new StringEventArgs(ItemNameBeingWorkedOn));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UpdatePartStatus(this, new StringEventArgs("Calculating Total cm3..."));
|
|
||||||
|
|
||||||
if (savedGCodeFileNames.Count > 0)
|
|
||||||
{
|
|
||||||
double total = 0;
|
|
||||||
foreach (string gcodeFileName in savedGCodeFileNames)
|
|
||||||
{
|
|
||||||
string[] lines = File.ReadAllLines(gcodeFileName);
|
|
||||||
string filamentAmountLine = lines[lines.Length - 1];
|
|
||||||
int startPos = filamentAmountLine.IndexOf("(");
|
|
||||||
int endPos = filamentAmountLine.IndexOf("cm3)");
|
|
||||||
string value = filamentAmountLine.Substring(startPos + 1, endPos - (startPos + 1));
|
|
||||||
double amountForThisFile;
|
|
||||||
if (double.TryParse(value, out amountForThisFile))
|
|
||||||
{
|
|
||||||
total += amountForThisFile;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GCodeFile gcodeFile = new GCodeFile(gcodeFileName);
|
|
||||||
total += gcodeFile.GetFilamentCubicMm(ActiveSliceSettings.Instance.FilamentDiameter) / 1000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// now copy all the gcode to the path given
|
|
||||||
for (int i = 0; i < savedGCodeFileNames.Count; i++)
|
|
||||||
{
|
|
||||||
string savedGcodeFileName = savedGCodeFileNames[i];
|
|
||||||
string originalFileName = Path.GetFileName(allFilesToExport[i].Name);
|
|
||||||
string outputFileName = Path.ChangeExtension(originalFileName, ".gcode");
|
|
||||||
throw new NotImplementedException();
|
|
||||||
//string outputPathAndName = Path.Combine(exportPath, outputFileName);
|
|
||||||
|
|
||||||
if (ActivePrinterProfile.Instance.DoPrintLeveling)
|
|
||||||
{
|
|
||||||
GCodeFile unleveledGCode = new GCodeFile(savedGcodeFileName);
|
|
||||||
PrintLeveling.Instance.ApplyLeveling(unleveledGCode);
|
|
||||||
//unleveledGCode.Save(outputPathAndName);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//File.Copy(savedGcodeFileName, outputPathAndName, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (DoneSaving != null)
|
|
||||||
{
|
|
||||||
DoneSaving(this, new StringEventArgs(string.Format("{0:0.0}", total)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1267,7 +1267,7 @@ namespace MatterHackers.MatterControl
|
||||||
OnConnectionFailed(null);
|
OnConnectionFailed(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
catch (Exception e)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
OnConnectionFailed(null);
|
OnConnectionFailed(null);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,6 @@ namespace MatterHackers.MatterControl
|
||||||
public class EditLevelingSettingsWindow : SystemWindow
|
public class EditLevelingSettingsWindow : SystemWindow
|
||||||
{
|
{
|
||||||
protected TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory();
|
protected TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory();
|
||||||
EventHandler functionToCallOnSave;
|
|
||||||
List<GuiWidget> listWithValues = new List<GuiWidget>();
|
List<GuiWidget> listWithValues = new List<GuiWidget>();
|
||||||
|
|
||||||
public EditLevelingSettingsWindow()
|
public EditLevelingSettingsWindow()
|
||||||
|
|
@ -219,7 +218,6 @@ namespace MatterHackers.MatterControl
|
||||||
settingString.Append(valueToAdd.Text);
|
settingString.Append(valueToAdd.Text);
|
||||||
first = false;
|
first = false;
|
||||||
}
|
}
|
||||||
functionToCallOnSave(this, new StringEventArgs(settingString.ToString()));
|
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -293,7 +293,6 @@ namespace MatterHackers.MatterControl
|
||||||
topToBottom.AddChild(presetsFormContainer);
|
topToBottom.AddChild(presetsFormContainer);
|
||||||
|
|
||||||
IEnumerable<DataStorage.CustomCommands> macroList = GetMacros();
|
IEnumerable<DataStorage.CustomCommands> macroList = GetMacros();
|
||||||
int buttonCount = 0;
|
|
||||||
foreach (DataStorage.CustomCommands m in macroList)
|
foreach (DataStorage.CustomCommands m in macroList)
|
||||||
{
|
{
|
||||||
FlowLayoutWidget macroRow = new FlowLayoutWidget();
|
FlowLayoutWidget macroRow = new FlowLayoutWidget();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue