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:
larsbrubaker 2014-04-04 18:52:51 -07:00
parent 6a06306f84
commit 405b8be6bc
19 changed files with 175 additions and 327 deletions

View file

@ -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);
} }

View file

@ -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;

View file

@ -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;

View file

@ -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)

View file

@ -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);
} }

View file

@ -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();

View file

@ -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();
} }

View file

@ -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" />

View 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;
}
}
}

View file

@ -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;
}
} }
} }

View file

@ -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()

View file

@ -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
{ {

View file

@ -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
{ {

View file

@ -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;
} }

View file

@ -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();

View file

@ -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)));
}
}
}
}
}
}

View file

@ -1267,7 +1267,7 @@ namespace MatterHackers.MatterControl
OnConnectionFailed(null); OnConnectionFailed(null);
} }
catch (Exception e) catch (Exception)
{ {
OnConnectionFailed(null); OnConnectionFailed(null);
} }

View file

@ -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();
} }
} }

View file

@ -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();