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)
|
||||
{
|
||||
#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);
|
||||
base.OnDraw(graphics2D);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
textImageButtonFactory.disabledTextColor = RGBA_Bytes.LightGray;
|
||||
textImageButtonFactory.hoverTextColor = RGBA_Bytes.White;
|
||||
textImageButtonFactory.pressedTextColor = RGBA_Bytes.White;
|
||||
textImageButtonFactory.invertImageColor = false;
|
||||
textImageButtonFactory.AllowThemeToAdjustImage = false;
|
||||
|
||||
textImageButtonFactory.borderWidth = -1;
|
||||
textImageButtonFactory.disabledFillColor = ActiveTheme.Instance.PrimaryAccentColor;
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
public class CompactSlidePanel : SlidePanel
|
||||
{
|
||||
SimpleTextTabWidget aboutTabView;
|
||||
TabControl advancedControlsTabControl;
|
||||
TabControl mainControlsTabControl;
|
||||
SliceSettingsWidget sliceSettingsWidget;
|
||||
|
|
|
|||
|
|
@ -282,10 +282,6 @@ namespace MatterHackers.MatterControl
|
|||
return topLine;
|
||||
}
|
||||
|
||||
NumberEdit feedRateValue;
|
||||
Slider feedRateRatioSlider;
|
||||
Slider extrusionRatioSlider;
|
||||
NumberEdit extrusionValue;
|
||||
PrintLevelWizardWindow printLevelWizardWindow;
|
||||
|
||||
public override void OnClosed(EventArgs e)
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ namespace MatterHackers.MatterControl
|
|||
public int fontSize = 12;
|
||||
public double borderWidth = 1;
|
||||
public bool invertImageLocation = false;
|
||||
public bool invertImageColor = true;
|
||||
public bool AllowThemeToAdjustImage = true;
|
||||
FlowDirection flowDirection;
|
||||
public int FixedWidth = 0;
|
||||
public int FixedHeight = 40;
|
||||
|
|
@ -288,7 +288,7 @@ namespace MatterHackers.MatterControl
|
|||
if (normalImageName != null)
|
||||
{
|
||||
ImageIO.LoadImageData(this.GetImageLocation(normalImageName), normalImage);
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(normalImage);
|
||||
}
|
||||
|
|
@ -297,7 +297,7 @@ namespace MatterHackers.MatterControl
|
|||
if (hoverImageName != null)
|
||||
{
|
||||
ImageIO.LoadImageData(this.GetImageLocation(pressedImageName), pressedImage);
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(pressedImage);
|
||||
}
|
||||
|
|
@ -306,7 +306,7 @@ namespace MatterHackers.MatterControl
|
|||
if (pressedImageName != null)
|
||||
{
|
||||
ImageIO.LoadImageData(this.GetImageLocation(hoverImageName), hoverImage);
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(hoverImage);
|
||||
}
|
||||
|
|
@ -315,7 +315,7 @@ namespace MatterHackers.MatterControl
|
|||
if (disabledImageName != null)
|
||||
{
|
||||
ImageIO.LoadImageData(this.GetImageLocation(disabledImageName), disabledImage);
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(disabledImage);
|
||||
}
|
||||
|
|
@ -368,16 +368,11 @@ namespace MatterHackers.MatterControl
|
|||
pressedToNormalImageName = normalImageName;
|
||||
}
|
||||
|
||||
if (normalImageName == "icon_arrow_right_no_border_32x32.png")
|
||||
{
|
||||
int a = 0;
|
||||
}
|
||||
|
||||
if (normalImageName != null)
|
||||
{
|
||||
ImageIO.LoadImageData(this.GetImageLocation(normalImageName), normalImage);
|
||||
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(normalImage);
|
||||
}
|
||||
|
|
@ -386,7 +381,7 @@ namespace MatterHackers.MatterControl
|
|||
if (pressedImageName != null)
|
||||
{
|
||||
ImageIO.LoadImageData(this.GetImageLocation(pressedImageName), pressedImage);
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(pressedImage);
|
||||
}
|
||||
|
|
@ -396,7 +391,7 @@ namespace MatterHackers.MatterControl
|
|||
if (normalToPressedImageName != null)
|
||||
{
|
||||
ImageIO.LoadImageData(this.GetImageLocation(normalToPressedImageName), normalToPressedImage);
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(normalToPressedImage);
|
||||
}
|
||||
|
|
@ -405,7 +400,7 @@ namespace MatterHackers.MatterControl
|
|||
if (pressedToNormalImageName != null)
|
||||
{
|
||||
ImageIO.LoadImageData(this.GetImageLocation(pressedToNormalImageName), pressedToNormalImage);
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(pressedToNormalImage);
|
||||
}
|
||||
|
|
@ -443,7 +438,7 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
iconImage = new ImageBuffer();
|
||||
ImageIO.LoadImageData(this.GetImageLocation(iconImageName), iconImage);
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && invertImageColor)
|
||||
if (!ActiveTheme.Instance.IsDarkTheme && AllowThemeToAdjustImage)
|
||||
{
|
||||
InvertLightness.DoInvertLightness(iconImage);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,7 +78,6 @@ namespace MatterHackers.MatterControl
|
|||
ImageBuffer image = new Agg.Image.ImageBuffer();
|
||||
|
||||
// all te color stuff
|
||||
public double BorderWidth = 0;
|
||||
protected double borderRadius = 0;
|
||||
protected RGBA_Bytes HoverBorderColor = new RGBA_Bytes();
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@ namespace MatterHackers.MatterControl.EeProm
|
|||
public partial class EePromMarlinWidget : SystemWindow
|
||||
{
|
||||
EePromMarlinSettings currentEePromSettings;
|
||||
bool reinit = true;
|
||||
|
||||
MHNumberEdit stepsPerMmX;
|
||||
MHNumberEdit stepsPerMmY;
|
||||
|
|
@ -307,13 +306,11 @@ namespace MatterHackers.MatterControl.EeProm
|
|||
|
||||
private void buttonReLoadSettings_Click(object sender, EventArgs e)
|
||||
{
|
||||
reinit = false;
|
||||
currentEePromSettings.Update();
|
||||
}
|
||||
|
||||
private void SetToFactorySettings(object sender, EventArgs e)
|
||||
{
|
||||
reinit = true;
|
||||
currentEePromSettings.SetPrinterToFactorySettings();
|
||||
currentEePromSettings.Update();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
|
|
@ -77,6 +77,7 @@
|
|||
<Compile Include="CustomWidgets\FlowSpacers.cs" />
|
||||
<Compile Include="DataStorage\Models.cs" />
|
||||
<Compile Include="LocalizedString.cs" />
|
||||
<Compile Include="PartPreviewWindow\BaseClasses\PartPreview3DWidget.cs" />
|
||||
<Compile Include="PrinterCommunication\ActivePrinterProfile.cs" />
|
||||
<Compile Include="ConfigurationPage\ConfigurationPage.cs" />
|
||||
<Compile Include="CustomWidgets\DisableableWidget.cs" />
|
||||
|
|
@ -93,7 +94,7 @@
|
|||
<Compile Include="Utilities\FieldValidation.cs" />
|
||||
<Compile Include="PartPreviewWindow\CreateDiscreteMeshes.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\ProgressControl.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3DTransfromPart.cs" />
|
||||
|
|
@ -107,7 +108,6 @@
|
|||
<Compile Include="PrintLibrary\PluginChooserWindow.cs" />
|
||||
<Compile Include="PrintLibrary\ExportLibraryItemWindow.cs" />
|
||||
<Compile Include="PrintLibrary\RegisteredCreators.cs" />
|
||||
<Compile Include="PrintQueue\ExportToSdCardProcess.cs" />
|
||||
<Compile Include="SlicerConfiguration\SlicerMapping\EngineMappingCura.cs" />
|
||||
<Compile Include="SlicerConfiguration\SlicerMapping\EngineMappingSlic3r.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
|
||||
{
|
||||
public class PartPreviewBaseWidget : GuiWidget
|
||||
public class PartPreviewWidget : GuiWidget
|
||||
{
|
||||
protected TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory();
|
||||
protected TextImageButtonFactory checkboxButtonFactory = new TextImageButtonFactory();
|
||||
protected TextImageButtonFactory expandMenuOptionFactory = 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.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor;
|
||||
|
|
@ -94,5 +103,32 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
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
|
||||
{
|
||||
public class GcodeViewBasic : PartPreviewBaseWidget
|
||||
public class GcodeViewBasic : PartPreviewWidget
|
||||
{
|
||||
public Slider selectLayerSlider;
|
||||
public Slider layerStartRenderRatioSlider;
|
||||
|
|
@ -64,7 +64,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
Button generateGCodeButton;
|
||||
FlowLayoutWidget buttonBottomPanel;
|
||||
FlowLayoutWidget layerSelectionButtonsPannel;
|
||||
FlowLayoutWidget buttonRightPanel;
|
||||
|
||||
FlowLayoutWidget modelOptionsContainer;
|
||||
FlowLayoutWidget layerOptionsContainer;
|
||||
|
|
@ -176,44 +175,17 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
AddProcessingMessage(startingMessage);
|
||||
|
||||
AddViewControls();
|
||||
|
||||
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);
|
||||
Add2DViewControls();
|
||||
translateButton.Click += (sender, e) =>
|
||||
{
|
||||
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) =>
|
||||
{
|
||||
gcodeViewWidget.TransformState = GCodeViewWidget.ETransformState.Scale;
|
||||
};
|
||||
|
||||
transformTypeSelector.Margin = new BorderDouble(5);
|
||||
transformTypeSelector.HAnchor |= Agg.UI.HAnchor.ParentLeft;
|
||||
transformTypeSelector.VAnchor = Agg.UI.VAnchor.ParentTop;
|
||||
AddChild(transformTypeSelector);
|
||||
translateButton.Checked = true;
|
||||
AddHandlers();
|
||||
}
|
||||
|
||||
private FlowLayoutWidget CreateRightButtonPannel()
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ using MatterHackers.MatterControl.DataStorage;
|
|||
using MatterHackers.MatterControl.PrintQueue;
|
||||
using MatterHackers.MatterControl.SlicerConfiguration;
|
||||
using MatterHackers.VectorMath;
|
||||
using MatterHackers.Localizations;
|
||||
|
||||
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 rotateOptionContainer;
|
||||
FlowLayoutWidget scaleOptionContainer;
|
||||
|
|
@ -84,9 +80,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
ProgressControl processingProgressControl;
|
||||
FlowLayoutWidget enterEditButtonsContainer;
|
||||
FlowLayoutWidget doEdittingButtonsContainer;
|
||||
RadioButton rotateViewButton;
|
||||
GuiWidget viewControlsSeparator;
|
||||
RadioButton partSelectButton;
|
||||
bool OpenAddDialogWhenDone = false;
|
||||
|
||||
Dictionary<string, List<GuiWidget>> transformControls = new Dictionary<string, List<GuiWidget>>();
|
||||
|
|
@ -101,8 +94,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
Button closeButton;
|
||||
Button applyScaleButton;
|
||||
|
||||
SaveAsWindow saveAs;
|
||||
|
||||
PrintItemWrapper printItemWrapper;
|
||||
|
||||
List<Mesh> asynchMeshesList = new List<Mesh>();
|
||||
|
|
@ -422,7 +413,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
this.AnchorAll();
|
||||
|
||||
meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Rotation;
|
||||
AddViewControls();
|
||||
Add3DViewControls();
|
||||
viewControlsSeparator.Visible = false;
|
||||
partSelectButton.Visible = false;
|
||||
|
||||
AddHandlers();
|
||||
|
||||
|
|
@ -890,64 +883,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
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()
|
||||
{
|
||||
AddRotateControls(rotateOptionContainer);
|
||||
|
|
@ -998,6 +933,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
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
|
||||
if(false)
|
||||
{
|
||||
|
|
@ -1032,6 +968,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
zSizeInfo.AutoExpandBoundsToText = true;
|
||||
PartInfoOptionContainer.AddChild(zSizeInfo);
|
||||
}
|
||||
#endif
|
||||
|
||||
// put in the view options
|
||||
{
|
||||
|
|
|
|||
|
|
@ -70,7 +70,6 @@ namespace MatterHackers.MatterControl.PrintHistory
|
|||
public class PrintHistoryListControl : ScrollableWidget
|
||||
{
|
||||
static PrintHistoryListControl instance;
|
||||
private DataStorage.PrintItemCollection libraryCollection;
|
||||
public bool ShowTimestamp;
|
||||
|
||||
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 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);
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
ImageBuffer image = new Agg.Image.ImageBuffer();
|
||||
|
||||
// all te color stuff
|
||||
public double BorderWidth = 0;
|
||||
protected double borderRadius = 0;
|
||||
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);
|
||||
}
|
||||
|
||||
catch (Exception e)
|
||||
catch (Exception)
|
||||
{
|
||||
OnConnectionFailed(null);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ namespace MatterHackers.MatterControl
|
|||
public class EditLevelingSettingsWindow : SystemWindow
|
||||
{
|
||||
protected TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory();
|
||||
EventHandler functionToCallOnSave;
|
||||
List<GuiWidget> listWithValues = new List<GuiWidget>();
|
||||
|
||||
public EditLevelingSettingsWindow()
|
||||
|
|
@ -219,7 +218,6 @@ namespace MatterHackers.MatterControl
|
|||
settingString.Append(valueToAdd.Text);
|
||||
first = false;
|
||||
}
|
||||
functionToCallOnSave(this, new StringEventArgs(settingString.ToString()));
|
||||
Close();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -293,7 +293,6 @@ namespace MatterHackers.MatterControl
|
|||
topToBottom.AddChild(presetsFormContainer);
|
||||
|
||||
IEnumerable<DataStorage.CustomCommands> macroList = GetMacros();
|
||||
int buttonCount = 0;
|
||||
foreach (DataStorage.CustomCommands m in macroList)
|
||||
{
|
||||
FlowLayoutWidget macroRow = new FlowLayoutWidget();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue