From 8ab9f15a705e5977a99581dc8c7ffe305728960e Mon Sep 17 00:00:00 2001 From: Kevin Pope Date: Sat, 1 Mar 2014 13:10:48 -0800 Subject: [PATCH 1/9] Refactoring and cleanup. Added new separate tab for configuration actions. --- AboutPage.cs => AboutPage/AboutPage.cs | 0 ContactForm.cs => AboutPage/ContactForm.cs | 0 ConfigurationPage/ConfigurationPage.cs | 415 ++++++++++++++++++ .../PrintLevelWizard.cs | 0 CustomWidgets/DisableableWidget.cs | 61 +++ MainSlidePanel.cs | 15 +- MatterControl.csproj | 2 + MatterControl.sln | 114 +++++ MatterControlApplication.cs | 1 - PartsSheet.cs => PrintQueue/PartsSheet.cs | 0 .../ActivePrinterProfile.cs | 0 .../PrinterCommunication.cs | 0 PrinterControls/ManualPrinterControls.cs | 52 +-- .../FieldValidation.cs | 0 .../ManifestFileHandler.cs | 0 .../ProjectFileHandler.cs | 0 TupleList.cs => Utilities/TupleList.cs | 0 .../WebUtilities/JsonResponseDictionary.cs | 0 .../WebUtilities/RequestManager.cs | 0 19 files changed, 604 insertions(+), 56 deletions(-) rename AboutPage.cs => AboutPage/AboutPage.cs (100%) rename ContactForm.cs => AboutPage/ContactForm.cs (100%) create mode 100644 ConfigurationPage/ConfigurationPage.cs rename PrintLevelWizard.cs => ConfigurationPage/PrintLevelWizard.cs (100%) create mode 100644 CustomWidgets/DisableableWidget.cs rename PartsSheet.cs => PrintQueue/PartsSheet.cs (100%) rename ActivePrinterProfile.cs => PrinterCommunication/ActivePrinterProfile.cs (100%) rename PrinterCommunication.cs => PrinterCommunication/PrinterCommunication.cs (100%) rename FieldValidation.cs => Utilities/FieldValidation.cs (100%) rename ManifestFileHandler.cs => Utilities/ManifestFileHandler.cs (100%) rename ProjectFileHandler.cs => Utilities/ProjectFileHandler.cs (100%) rename TupleList.cs => Utilities/TupleList.cs (100%) rename JsonResponseDictionary.cs => Utilities/WebUtilities/JsonResponseDictionary.cs (100%) rename RequestManager.cs => Utilities/WebUtilities/RequestManager.cs (100%) diff --git a/AboutPage.cs b/AboutPage/AboutPage.cs similarity index 100% rename from AboutPage.cs rename to AboutPage/AboutPage.cs diff --git a/ContactForm.cs b/AboutPage/ContactForm.cs similarity index 100% rename from ContactForm.cs rename to AboutPage/ContactForm.cs diff --git a/ConfigurationPage/ConfigurationPage.cs b/ConfigurationPage/ConfigurationPage.cs new file mode 100644 index 000000000..dbad8f9fa --- /dev/null +++ b/ConfigurationPage/ConfigurationPage.cs @@ -0,0 +1,415 @@ +/* +Copyright (c) 2014, Kevin Pope +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.IO; +using System.Reflection; +using System.IO.Ports; + +using MatterHackers.Agg; +using MatterHackers.Agg.UI; +using MatterHackers.VectorMath; +using MatterHackers.Agg.Image; +using MatterHackers.MatterControl.DataStorage; +using MatterHackers.MatterControl.CustomWidgets; +using MatterHackers.Localizations; + +namespace MatterHackers.MatterControl +{ + public class ConfigurationPage : ScrollableWidget + { + public ConfigurationPage() + : base(true) + { + ScrollArea.HAnchor |= Agg.UI.HAnchor.ParentLeftRight; + AnchorAll(); + AddChild(new ConfigurationWidget()); + } + } + + public class ConfigurationWidget : GuiWidget + { + readonly int TallButtonHeight = 25; + + Button enablePrintLevelingButton; + Button disablePrintLevelingButton; + + DisableableWidget eePromControlsContainer; + DisableableWidget printLevelContainer; + + TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory(); + + public ConfigurationWidget() + { + SetDisplayAttributes(); + + HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth; + VAnchor = Agg.UI.VAnchor.FitToChildren; + + FlowLayoutWidget mainLayoutContainer = new FlowLayoutWidget(FlowDirection.TopToBottom); + mainLayoutContainer.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth; + mainLayoutContainer.VAnchor = Agg.UI.VAnchor.FitToChildren; + mainLayoutContainer.Padding = new BorderDouble(3, 0, 3, 10); + + AddEePromControls(mainLayoutContainer); + AddPrintLevelingControls(mainLayoutContainer); + AddChild(mainLayoutContainer); + + AddHandlers(); + SetVisibleControls(); + } + + private void AddEePromControls(FlowLayoutWidget controlsTopToBottomLayout) + { + GroupBox eePromControlsGroupBox = new GroupBox(new LocalizedString("EEProm Settings").Translated); + + eePromControlsGroupBox.Margin = new BorderDouble(0); + eePromControlsGroupBox.TextColor = ActiveTheme.Instance.PrimaryTextColor; + eePromControlsGroupBox.BorderColor = ActiveTheme.Instance.PrimaryTextColor; + eePromControlsGroupBox.HAnchor |= Agg.UI.HAnchor.ParentLeftRight; + eePromControlsGroupBox.VAnchor = Agg.UI.VAnchor.FitToChildren; + eePromControlsGroupBox.Height = 68; + + { + FlowLayoutWidget eePromControlsLayout = new FlowLayoutWidget(); + eePromControlsLayout.HAnchor |= HAnchor.ParentLeftRight; + eePromControlsLayout.VAnchor |= Agg.UI.VAnchor.ParentCenter; + eePromControlsLayout.Margin = new BorderDouble(3, 0, 3, 6); + eePromControlsLayout.Padding = new BorderDouble(0); + { + Agg.Image.ImageBuffer eePromImage = new Agg.Image.ImageBuffer(); + ImageBMPIO.LoadImageData(Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath,"Icons", "PrintStatusControls", "leveling-24x24.png"), eePromImage); + ImageWidget eePromIcon = new ImageWidget(eePromImage); + eePromIcon.Margin = new BorderDouble (right: 6); + + Button openEePromWindow = textImageButtonFactory.Generate(new LocalizedString("CONFIGURE").Translated); + openEePromWindow.Click += (sender, e) => + { +#if false // This is to force the creation of the repetier window for testing when we don't have repetier firmware. + new MatterHackers.MatterControl.EeProm.EePromRepetierWidget(); +#else + switch(PrinterCommunication.Instance.FirmwareType) + { + case PrinterCommunication.FirmwareTypes.Repetier: + new MatterHackers.MatterControl.EeProm.EePromRepetierWidget(); + break; + + case PrinterCommunication.FirmwareTypes.Marlin: + new MatterHackers.MatterControl.EeProm.EePromMarlinWidget(); + break; + + default: + UiThread.RunOnIdle((state) => + { + string message = new LocalizedString("Oops! There is no eeprom mapping for your printer's firmware.").Translated; + StyledMessageBox.ShowMessageBox(message, "Warning no eeprom mapping", StyledMessageBox.MessageType.OK); + } + ); + break; + } +#endif + }; + //eePromControlsLayout.AddChild(eePromIcon); + eePromControlsLayout.AddChild(openEePromWindow); + } + + eePromControlsGroupBox.AddChild(eePromControlsLayout); + } + + eePromControlsContainer = new DisableableWidget(); + eePromControlsContainer.AddChild(eePromControlsGroupBox); + + controlsTopToBottomLayout.AddChild(eePromControlsContainer); + } + + + + private static GuiWidget CreateSeparatorLine() + { + GuiWidget topLine = new GuiWidget(10, 1); + topLine.Margin = new BorderDouble(0, 5); + topLine.HAnchor = Agg.UI.HAnchor.ParentLeftRight; + topLine.BackgroundColor = RGBA_Bytes.White; + return topLine; + } + + NumberEdit feedRateValue; + Slider feedRateRatioSlider; + Slider extrusionRatioSlider; + NumberEdit extrusionValue; + PrintLevelWizardWindow printLevelWizardWindow; + + + + public override void OnClosed(EventArgs e) + { + if (unregisterEvents != null) + { + unregisterEvents(this, null); + } + + base.OnClosed(e); + } + + + TextWidget printLevelingStatusLabel; + + private void AddPrintLevelingControls(FlowLayoutWidget controlsTopToBottomLayout) + { + printLevelContainer = new DisableableWidget(); + printLevelContainer.AddChild(CreatePrintLevelingControlsContainer()); + controlsTopToBottomLayout.AddChild(printLevelContainer); + } + + private GuiWidget CreatePrintLevelingControlsContainer() + { + GroupBox printLevelingControlsContainer; + printLevelingControlsContainer = new GroupBox(new LocalizedString("Automatic Calibration").Translated); + + printLevelingControlsContainer.Margin = new BorderDouble(0); + printLevelingControlsContainer.TextColor = ActiveTheme.Instance.PrimaryTextColor; + printLevelingControlsContainer.BorderColor = ActiveTheme.Instance.PrimaryTextColor; + printLevelingControlsContainer.HAnchor = Agg.UI.HAnchor.ParentLeftRight; + printLevelingControlsContainer.Height = 68; + + { + FlowLayoutWidget buttonBar = new FlowLayoutWidget(); + buttonBar.HAnchor |= HAnchor.ParentLeftRight; + buttonBar.VAnchor |= Agg.UI.VAnchor.ParentCenter; + buttonBar.Margin = new BorderDouble(0, 0, 0, 0); + buttonBar.Padding = new BorderDouble(0); + + this.textImageButtonFactory.FixedHeight = TallButtonHeight; + + Button runPrintLevelingButton = textImageButtonFactory.Generate(new LocalizedString("CONFIGURE").Translated); + runPrintLevelingButton.Margin = new BorderDouble(left:6); + runPrintLevelingButton.VAnchor = VAnchor.ParentCenter; + runPrintLevelingButton.Click += new ButtonBase.ButtonEventHandler(runPrintLeveling_Click); + + Agg.Image.ImageBuffer levelingImage = new Agg.Image.ImageBuffer(); + ImageBMPIO.LoadImageData(Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath,"Icons", "PrintStatusControls", "leveling-24x24.png"), levelingImage); + ImageWidget levelingIcon = new ImageWidget(levelingImage); + levelingIcon.Margin = new BorderDouble (right: 6); + + enablePrintLevelingButton = textImageButtonFactory.Generate(new LocalizedString("ENABLE").Translated); + enablePrintLevelingButton.Margin = new BorderDouble(left:6); + enablePrintLevelingButton.VAnchor = VAnchor.ParentCenter; + enablePrintLevelingButton.Click += new ButtonBase.ButtonEventHandler(enablePrintLeveling_Click); + + disablePrintLevelingButton = textImageButtonFactory.Generate(new LocalizedString("DISABLE").Translated); + disablePrintLevelingButton.Margin = new BorderDouble(left:6); + disablePrintLevelingButton.VAnchor = VAnchor.ParentCenter; + disablePrintLevelingButton.Click += new ButtonBase.ButtonEventHandler(disablePrintLeveling_Click); + + CheckBox doLevelingCheckBox = new CheckBox(new LocalizedString("Enable Automatic Print Leveling").Translated); + doLevelingCheckBox.Margin = new BorderDouble(left: 3); + doLevelingCheckBox.TextColor = ActiveTheme.Instance.PrimaryTextColor; + doLevelingCheckBox.VAnchor = VAnchor.ParentCenter; + doLevelingCheckBox.Checked = ActivePrinterProfile.Instance.DoPrintLeveling; + + printLevelingStatusLabel = new TextWidget (""); + printLevelingStatusLabel.AutoExpandBoundsToText = true; + printLevelingStatusLabel.TextColor = ActiveTheme.Instance.PrimaryTextColor; + printLevelingStatusLabel.VAnchor = VAnchor.ParentCenter; + + GuiWidget hSpacer = new GuiWidget (); + hSpacer.HAnchor = HAnchor.ParentLeftRight; + + buttonBar.AddChild(levelingIcon); + //buttonBar.AddChild(doLevelingCheckBox); + buttonBar.AddChild (printLevelingStatusLabel); + buttonBar.AddChild (hSpacer); + buttonBar.AddChild(enablePrintLevelingButton); + buttonBar.AddChild(disablePrintLevelingButton); + buttonBar.AddChild(runPrintLevelingButton); + doLevelingCheckBox.CheckedStateChanged += (sender, e) => + { + ActivePrinterProfile.Instance.DoPrintLeveling = doLevelingCheckBox.Checked; + }; + ActivePrinterProfile.Instance.DoPrintLevelingChanged.RegisterEvent((sender, e) => + { + SetPrintLevelButtonVisiblity(); + + }, ref unregisterEvents); + + printLevelingControlsContainer.AddChild(buttonBar); + } + SetPrintLevelButtonVisiblity (); + return printLevelingControlsContainer; + } + + private void OpenPrintLevelWizard() + { + if (printLevelWizardWindow == null) + { + printLevelWizardWindow = new PrintLevelWizardWindow(); + printLevelWizardWindow.Closed += (sender, e) => + { + printLevelWizardWindow = null; + }; + printLevelWizardWindow.ShowAsSystemWindow(); + } + else + { + printLevelWizardWindow.BringToFront(); + } + } + + + private void SetDisplayAttributes() + { + this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; + + this.textImageButtonFactory.normalFillColor = RGBA_Bytes.White; + this.textImageButtonFactory.disabledFillColor = RGBA_Bytes.White; + + this.textImageButtonFactory.FixedHeight = TallButtonHeight; + this.textImageButtonFactory.fontSize = 11; + + this.textImageButtonFactory.disabledTextColor = RGBA_Bytes.DarkGray; + this.textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; + this.textImageButtonFactory.normalTextColor = RGBA_Bytes.Black; + this.textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; + } + + private void SetVisibleControls() + { + if (ActivePrinterProfile.Instance.ActivePrinter == null) + { + // no printer selected + eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); + printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); + } + else // we at least have a printer selected + { + switch (PrinterCommunication.Instance.CommunicationState) + { + case PrinterCommunication.CommunicationStates.Disconnecting: + case PrinterCommunication.CommunicationStates.ConnectionLost: + case PrinterCommunication.CommunicationStates.Disconnected: + case PrinterCommunication.CommunicationStates.AttemptingToConnect: + case PrinterCommunication.CommunicationStates.FailedToConnect: + eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); + printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); + break; + + case PrinterCommunication.CommunicationStates.FinishedPrint: + case PrinterCommunication.CommunicationStates.Connected: + eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); + printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); + break; + + case PrinterCommunication.CommunicationStates.PreparingToPrint: + case PrinterCommunication.CommunicationStates.Printing: + switch (PrinterCommunication.Instance.PrintingState) + { + case PrinterCommunication.DetailedPrintingState.HomingAxis: + case PrinterCommunication.DetailedPrintingState.HeatingBed: + case PrinterCommunication.DetailedPrintingState.HeatingExtruder: + case PrinterCommunication.DetailedPrintingState.Printing: + + eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); + printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); + break; + + default: + throw new NotImplementedException(); + } + break; + + case PrinterCommunication.CommunicationStates.Paused: + eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); + printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); + break; + + default: + throw new NotImplementedException(); + } + } + } + + + + event EventHandler unregisterEvents; + private void AddHandlers() + { + ActiveTheme.Instance.ThemeChanged.RegisterEvent(onThemeChanged, ref unregisterEvents); + PrinterCommunication.Instance.ConnectionStateChanged.RegisterEvent(onPrinterStatusChanged, ref unregisterEvents); + PrinterCommunication.Instance.EnableChanged.RegisterEvent(onPrinterStatusChanged, ref unregisterEvents); + } + + private void onPrinterStatusChanged(object sender, EventArgs e) + { + SetVisibleControls(); + this.Invalidate(); + } + + private void onThemeChanged(object sender, EventArgs e) + { + this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; + SetVisibleControls(); + this.Invalidate(); + } + + void enablePrintLeveling_Click(object sender, MouseEventArgs mouseEvent) + { + ActivePrinterProfile.Instance.DoPrintLeveling = true; + } + + void disablePrintLeveling_Click(object sender, MouseEventArgs mouseEvent) + { + ActivePrinterProfile.Instance.DoPrintLeveling = false; + } + + void SetPrintLevelButtonVisiblity() + { + enablePrintLevelingButton.Visible = !ActivePrinterProfile.Instance.DoPrintLeveling; + disablePrintLevelingButton.Visible = ActivePrinterProfile.Instance.DoPrintLeveling; + + if (ActivePrinterProfile.Instance.DoPrintLeveling) { + printLevelingStatusLabel.Text = new LocalizedString ("Automatic Print Leveling (enabled)").Translated; + } + else + { + printLevelingStatusLabel.Text = new LocalizedString ("Automatic Print Leveling (disabled)").Translated; + } + } + + public override void OnClosing(out bool CancelClose) + { + base.OnClosing(out CancelClose); + } + + void runPrintLeveling_Click(object sender, MouseEventArgs mouseEvent) + { + OpenPrintLevelWizard(); + } + } +} diff --git a/PrintLevelWizard.cs b/ConfigurationPage/PrintLevelWizard.cs similarity index 100% rename from PrintLevelWizard.cs rename to ConfigurationPage/PrintLevelWizard.cs diff --git a/CustomWidgets/DisableableWidget.cs b/CustomWidgets/DisableableWidget.cs new file mode 100644 index 000000000..6b62297f8 --- /dev/null +++ b/CustomWidgets/DisableableWidget.cs @@ -0,0 +1,61 @@ +using MatterHackers.Agg; +using MatterHackers.Agg.UI; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace MatterHackers.MatterControl.CustomWidgets +{ + public class DisableableWidget : GuiWidget + { + public GuiWidget disableOverlay; + + public DisableableWidget() + { + HAnchor = Agg.UI.HAnchor.ParentLeftRight; + VAnchor = Agg.UI.VAnchor.FitToChildren; + + disableOverlay = new GuiWidget(HAnchor.ParentLeftRight, VAnchor.ParentBottomTop); + disableOverlay.Visible = false; + base.AddChild(disableOverlay); + } + + public enum EnableLevel { Disabled, ConfigOnly, Enabled }; + + public void SetEnableLevel(EnableLevel enabledLevel) + { + disableOverlay.BackgroundColor = new RGBA_Bytes(ActiveTheme.Instance.PrimaryAccentColor, 160); + switch (enabledLevel) + { + case EnableLevel.Disabled: + disableOverlay.Margin = new BorderDouble(0); + disableOverlay.Visible = true; + break; + + case EnableLevel.ConfigOnly: + disableOverlay.Margin = new BorderDouble(10, 10, 10, 15); + disableOverlay.Visible = true; + break; + + case EnableLevel.Enabled: + disableOverlay.Visible = false; + break; + } + } + + public override void AddChild(GuiWidget childToAdd, int indexInChildrenList = -1) + { + if (indexInChildrenList == -1) + { + // put it under the disableOverlay + base.AddChild(childToAdd, Children.Count - 1); + } + else + { + base.AddChild(childToAdd, indexInChildrenList); + } + } + } +} diff --git a/MainSlidePanel.cs b/MainSlidePanel.cs index 84f502ffc..0b96a1eaf 100644 --- a/MainSlidePanel.cs +++ b/MainSlidePanel.cs @@ -226,7 +226,7 @@ namespace MatterHackers.MatterControl // set the selected tab back to the one it was before we replace the control this.advancedControlsTabControl.SelectTab(topTabIndex); - // This is a hack to make the pannel remain on the screen. It would be great to debug it and understand + // This is a hack to make the panel remain on the screen. It would be great to debug it and understand // why it does not work without this code in here. RectangleDouble localBounds = this.LocalBounds; this.LocalBounds = new RectangleDouble(0, 0, this.LocalBounds.Width - 1, 10); @@ -258,12 +258,19 @@ namespace MatterHackers.MatterControl manualPrinterControlsScrollArea.AnchorAll(); manualPrinterControlsScrollArea.AddChild(manualPrinterControls); - string printerControlsLabel = new LocalizedString ("Printer Controls").Translated; + //Add the tab contents for 'Advanced Controls' + string printerControlsLabel = new LocalizedString ("Controls").Translated; advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(manualPrinterControlsScrollArea, printerControlsLabel), 18, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + string sliceSettingsLabel = new LocalizedString("Slice Settings").Translated; sliceSettingsWidget = new SliceSettingsWidget(sliceSettingsUiState); - advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(sliceSettingsWidget, new LocalizedString("Slice Settings").Translated), 18, + advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(sliceSettingsWidget, sliceSettingsLabel), 18, + ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + + string configurationLabel = new LocalizedString("Configuration").Translated; + ScrollableWidget configurationControls = new ConfigurationPage(); + advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(configurationControls, configurationLabel), 18, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); return advancedControls; @@ -322,8 +329,6 @@ namespace MatterHackers.MatterControl addedUpdateMark.OriginRelativeParent = new Vector2(63, 10); aboutTabView.AddChild(addedUpdateMark); } -#else - AboutTabPage.Text = string.Format("About (!)"); #endif } else diff --git a/MatterControl.csproj b/MatterControl.csproj index 5feec7499..f360ca727 100644 --- a/MatterControl.csproj +++ b/MatterControl.csproj @@ -73,6 +73,8 @@ + + diff --git a/MatterControl.sln b/MatterControl.sln index 10d7a9189..36b652ee6 100644 --- a/MatterControl.sln +++ b/MatterControl.sln @@ -56,166 +56,280 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextCreator", "..\MatterCon EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OutlineCreator", "..\MatterControlPlugins\OutlineCreator\OutlineCreator.csproj", "{BEC6FD13-C765-4B90-836B-53823AC12E20}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MarlinFirmwareUpdatePlugin", "..\MarlinFirmwareUpdatePlugin\MarlinFirmwareUpdatePlugin\MarlinFirmwareUpdatePlugin.csproj", "{239CC6B1-537C-4998-9AA9-3372A3464498}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|x86.ActiveCfg = Debug|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Any CPU.ActiveCfg = Release|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Any CPU.Build.0 = Release|Any CPU + {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Mixed Platforms.Build.0 = Release|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|x86.ActiveCfg = Release|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|x86.ActiveCfg = Debug|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|Any CPU.ActiveCfg = Release|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|Any CPU.Build.0 = Release|Any CPU + {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|x86.ActiveCfg = Release|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|x86.ActiveCfg = Debug|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|Any CPU.ActiveCfg = Release|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|Any CPU.Build.0 = Release|Any CPU + {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|Mixed Platforms.Build.0 = Release|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|x86.ActiveCfg = Release|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|x86.ActiveCfg = Debug|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|Any CPU.ActiveCfg = Release|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|Any CPU.Build.0 = Release|Any CPU + {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|Mixed Platforms.Build.0 = Release|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|x86.ActiveCfg = Release|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|x86.ActiveCfg = Debug|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|Any CPU.ActiveCfg = Release|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|Any CPU.Build.0 = Release|Any CPU + {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|x86.ActiveCfg = Release|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|Any CPU.Build.0 = Debug|Any CPU + {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|x86.ActiveCfg = Debug|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|Any CPU.ActiveCfg = Release|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|Any CPU.Build.0 = Release|Any CPU + {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|Mixed Platforms.Build.0 = Release|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|x86.ActiveCfg = Release|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|x86.ActiveCfg = Debug|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|Any CPU.ActiveCfg = Release|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|Any CPU.Build.0 = Release|Any CPU + {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|Mixed Platforms.Build.0 = Release|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|x86.ActiveCfg = Release|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|x86.ActiveCfg = Debug|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|Any CPU.ActiveCfg = Release|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|Any CPU.Build.0 = Release|Any CPU + {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|Mixed Platforms.Build.0 = Release|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|x86.ActiveCfg = Release|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|x86.ActiveCfg = Debug|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|Any CPU.ActiveCfg = Release|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|Any CPU.Build.0 = Release|Any CPU + {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|Mixed Platforms.Build.0 = Release|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|x86.ActiveCfg = Release|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|x86.ActiveCfg = Debug|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|Any CPU.ActiveCfg = Release|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|Any CPU.Build.0 = Release|Any CPU + {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|x86.ActiveCfg = Release|Any CPU {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|Mixed Platforms.Build.0 = Debug|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|x86.ActiveCfg = Debug|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|x86.Build.0 = Debug|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|Any CPU.Build.0 = Release|Any CPU + {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|Mixed Platforms.Build.0 = Release|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|x86.ActiveCfg = Release|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|x86.Build.0 = Release|x86 {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|x86.ActiveCfg = Debug|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|Any CPU.ActiveCfg = Release|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|Any CPU.Build.0 = Release|Any CPU + {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|Mixed Platforms.Build.0 = Release|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|x86.ActiveCfg = Release|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|x86.ActiveCfg = Debug|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|Any CPU.ActiveCfg = Release|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|Any CPU.Build.0 = Release|Any CPU + {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|Mixed Platforms.Build.0 = Release|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|x86.ActiveCfg = Release|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|x86.ActiveCfg = Debug|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|Any CPU.ActiveCfg = Release|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|Any CPU.Build.0 = Release|Any CPU + {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|Mixed Platforms.Build.0 = Release|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|x86.ActiveCfg = Release|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|x86.ActiveCfg = Debug|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|Any CPU.ActiveCfg = Release|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|Any CPU.Build.0 = Release|Any CPU + {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|x86.ActiveCfg = Release|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|x86.ActiveCfg = Debug|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|Any CPU.ActiveCfg = Release|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|Any CPU.Build.0 = Release|Any CPU + {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|Mixed Platforms.Build.0 = Release|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|x86.ActiveCfg = Release|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|x86.ActiveCfg = Debug|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|Any CPU.ActiveCfg = Release|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|Any CPU.Build.0 = Release|Any CPU + {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|Mixed Platforms.Build.0 = Release|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|x86.ActiveCfg = Release|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|x86.ActiveCfg = Debug|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|Any CPU.ActiveCfg = Release|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|Any CPU.Build.0 = Release|Any CPU + {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|x86.ActiveCfg = Release|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|x86.ActiveCfg = Debug|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|Any CPU.ActiveCfg = Release|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|Any CPU.Build.0 = Release|Any CPU + {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|Mixed Platforms.Build.0 = Release|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|x86.ActiveCfg = Release|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|x86.ActiveCfg = Debug|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Release|Any CPU.ActiveCfg = Release|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Release|Any CPU.Build.0 = Release|Any CPU + {DF6845CD-64C6-4263-8357-DA8066855739}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {DF6845CD-64C6-4263-8357-DA8066855739}.Release|Mixed Platforms.Build.0 = Release|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Release|x86.ActiveCfg = Release|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|Any CPU.Build.0 = Debug|Any CPU + {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|x86.ActiveCfg = Debug|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|Any CPU.ActiveCfg = Release|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|Any CPU.Build.0 = Release|Any CPU + {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|Mixed Platforms.Build.0 = Release|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|x86.ActiveCfg = Release|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|x86.ActiveCfg = Debug|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|Any CPU.ActiveCfg = Release|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|Any CPU.Build.0 = Release|Any CPU + {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|Mixed Platforms.Build.0 = Release|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|x86.ActiveCfg = Release|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|x86.ActiveCfg = Debug|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|Any CPU.ActiveCfg = Release|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|Any CPU.Build.0 = Release|Any CPU + {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|x86.ActiveCfg = Release|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|x86.ActiveCfg = Debug|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|Any CPU.ActiveCfg = Release|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|Any CPU.Build.0 = Release|Any CPU + {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|Mixed Platforms.Build.0 = Release|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|x86.ActiveCfg = Release|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|x86.ActiveCfg = Debug|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|Any CPU.ActiveCfg = Release|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|Any CPU.Build.0 = Release|Any CPU + {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|Mixed Platforms.Build.0 = Release|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|x86.ActiveCfg = Release|Any CPU + {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|Any CPU.ActiveCfg = Debug|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|x86.ActiveCfg = Debug|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|x86.Build.0 = Debug|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|Any CPU.ActiveCfg = Release|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|Mixed Platforms.Build.0 = Release|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|x86.ActiveCfg = Release|x86 + {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MatterControlApplication.cs b/MatterControlApplication.cs index a57b70f8a..5a32db316 100644 --- a/MatterControlApplication.cs +++ b/MatterControlApplication.cs @@ -128,7 +128,6 @@ namespace MatterHackers.MatterControl this.AddChild(allControls); this.Padding = new BorderDouble(0); //To be re-enabled once native borders are turned off - //allControls.AddChild(CreateMenues()); allControls.AddChild(new ActionBarPlus()); allControls.AddChild(MainSlidePanel.Instance); diff --git a/PartsSheet.cs b/PrintQueue/PartsSheet.cs similarity index 100% rename from PartsSheet.cs rename to PrintQueue/PartsSheet.cs diff --git a/ActivePrinterProfile.cs b/PrinterCommunication/ActivePrinterProfile.cs similarity index 100% rename from ActivePrinterProfile.cs rename to PrinterCommunication/ActivePrinterProfile.cs diff --git a/PrinterCommunication.cs b/PrinterCommunication/PrinterCommunication.cs similarity index 100% rename from PrinterCommunication.cs rename to PrinterCommunication/PrinterCommunication.cs diff --git a/PrinterControls/ManualPrinterControls.cs b/PrinterControls/ManualPrinterControls.cs index 723361e41..5e9192e8e 100644 --- a/PrinterControls/ManualPrinterControls.cs +++ b/PrinterControls/ManualPrinterControls.cs @@ -38,6 +38,7 @@ using MatterHackers.Agg.UI; using MatterHackers.VectorMath; using MatterHackers.Agg.Image; using MatterHackers.MatterControl.DataStorage; +using MatterHackers.MatterControl.CustomWidgets; using MatterHackers.Localizations; namespace MatterHackers.MatterControl @@ -53,56 +54,7 @@ namespace MatterHackers.MatterControl } } - public class DisableableWidget : GuiWidget - { - public GuiWidget disableOverlay; - - public DisableableWidget() - { - HAnchor = Agg.UI.HAnchor.ParentLeftRight; - VAnchor = Agg.UI.VAnchor.FitToChildren; - - disableOverlay = new GuiWidget(HAnchor.ParentLeftRight, VAnchor.ParentBottomTop); - disableOverlay.Visible = false; - base.AddChild(disableOverlay); - } - - public enum EnableLevel { Disabled, ConfigOnly, Enabled }; - - public void SetEnableLevel(EnableLevel enabledLevel) - { - disableOverlay.BackgroundColor = new RGBA_Bytes(ActiveTheme.Instance.PrimaryAccentColor, 160); - switch (enabledLevel) - { - case EnableLevel.Disabled: - disableOverlay.Margin = new BorderDouble(0); - disableOverlay.Visible = true; - break; - - case EnableLevel.ConfigOnly: - disableOverlay.Margin = new BorderDouble(10, 10, 10, 15); - disableOverlay.Visible = true; - break; - - case EnableLevel.Enabled: - disableOverlay.Visible = false; - break; - } - } - - public override void AddChild(GuiWidget childToAdd, int indexInChildrenList = -1) - { - if (indexInChildrenList == -1) - { - // put it under the disableOverlay - base.AddChild(childToAdd, Children.Count - 1); - } - else - { - base.AddChild(childToAdd, indexInChildrenList); - } - } - } + public class ManualPrinterControls : GuiWidget { diff --git a/FieldValidation.cs b/Utilities/FieldValidation.cs similarity index 100% rename from FieldValidation.cs rename to Utilities/FieldValidation.cs diff --git a/ManifestFileHandler.cs b/Utilities/ManifestFileHandler.cs similarity index 100% rename from ManifestFileHandler.cs rename to Utilities/ManifestFileHandler.cs diff --git a/ProjectFileHandler.cs b/Utilities/ProjectFileHandler.cs similarity index 100% rename from ProjectFileHandler.cs rename to Utilities/ProjectFileHandler.cs diff --git a/TupleList.cs b/Utilities/TupleList.cs similarity index 100% rename from TupleList.cs rename to Utilities/TupleList.cs diff --git a/JsonResponseDictionary.cs b/Utilities/WebUtilities/JsonResponseDictionary.cs similarity index 100% rename from JsonResponseDictionary.cs rename to Utilities/WebUtilities/JsonResponseDictionary.cs diff --git a/RequestManager.cs b/Utilities/WebUtilities/RequestManager.cs similarity index 100% rename from RequestManager.cs rename to Utilities/WebUtilities/RequestManager.cs From ebcbd37b67ca996d6ea3a5a27c2c6eae0f7573f7 Mon Sep 17 00:00:00 2001 From: Kevin Pope Date: Sat, 1 Mar 2014 13:18:37 -0800 Subject: [PATCH 2/9] Removed eeprom and print leveling from manual controls page. --- MatterControl.csproj | 26 ++++++++++++------------ PrinterControls/ManualPrinterControls.cs | 15 -------------- 2 files changed, 13 insertions(+), 28 deletions(-) diff --git a/MatterControl.csproj b/MatterControl.csproj index f360ca727..f9c21cf68 100644 --- a/MatterControl.csproj +++ b/MatterControl.csproj @@ -72,13 +72,13 @@ - - + + - + @@ -106,8 +106,8 @@ - - + + ExportQueueItemWindow.cs @@ -129,15 +129,15 @@ - + Code - - - + + + @@ -167,9 +167,9 @@ - + - + @@ -179,14 +179,14 @@ - + - + diff --git a/PrinterControls/ManualPrinterControls.cs b/PrinterControls/ManualPrinterControls.cs index 5e9192e8e..8a043f27c 100644 --- a/PrinterControls/ManualPrinterControls.cs +++ b/PrinterControls/ManualPrinterControls.cs @@ -171,7 +171,6 @@ namespace MatterHackers.MatterControl rightColumnContainer.VAnchor |= VAnchor.ParentTop; AddFanControls(rightColumnContainer); - AddEePromControls(rightColumnContainer); centerControlsContainer.AddChild(rightColumnContainer); } @@ -191,10 +190,6 @@ namespace MatterHackers.MatterControl AddAdjustmentControls(controlsTopToBottomLayout); - printLevelContainer = new DisableableWidget(); - printLevelContainer.AddChild(CreatePrintLevelingControlsContainer()); - controlsTopToBottomLayout.AddChild(printLevelContainer); - this.AddChild(controlsTopToBottomLayout); AddHandlers(); SetVisibleControls(); @@ -717,10 +712,8 @@ namespace MatterHackers.MatterControl bedTemperatureControlWidget.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); movementControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); fanControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); - eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); tuningAdjustmentControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); terminalCommunicationsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); - printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); sdCardManagerContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); macroControls.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); } @@ -737,10 +730,8 @@ namespace MatterHackers.MatterControl bedTemperatureControlWidget.SetEnableLevel(DisableableWidget.EnableLevel.ConfigOnly); movementControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.ConfigOnly); fanControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); - eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); tuningAdjustmentControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); terminalCommunicationsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); - printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); sdCardManagerContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); macroControls.SetEnableLevel(DisableableWidget.EnableLevel.ConfigOnly); break; @@ -751,9 +742,7 @@ namespace MatterHackers.MatterControl bedTemperatureControlWidget.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); movementControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); fanControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); - eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); terminalCommunicationsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); - printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); sdCardManagerContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); macroControls.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); tuningAdjustmentControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); @@ -771,10 +760,8 @@ namespace MatterHackers.MatterControl bedTemperatureControlWidget.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); movementControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.ConfigOnly); fanControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); - eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); tuningAdjustmentControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); terminalCommunicationsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); - printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); sdCardManagerContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); macroControls.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); break; @@ -789,10 +776,8 @@ namespace MatterHackers.MatterControl bedTemperatureControlWidget.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); movementControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); fanControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); - eePromControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); tuningAdjustmentControlsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); terminalCommunicationsContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); - printLevelContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled); sdCardManagerContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); macroControls.SetEnableLevel(DisableableWidget.EnableLevel.Enabled); break; From 04e3223d2ce51dba16c8dd62f3deabbbe13fdbb0 Mon Sep 17 00:00:00 2001 From: Kevin Pope Date: Sat, 1 Mar 2014 13:19:26 -0800 Subject: [PATCH 3/9] Revert solution file. --- MatterControl.sln | 114 ---------------------------------------------- 1 file changed, 114 deletions(-) diff --git a/MatterControl.sln b/MatterControl.sln index 36b652ee6..10d7a9189 100644 --- a/MatterControl.sln +++ b/MatterControl.sln @@ -56,280 +56,166 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TextCreator", "..\MatterCon EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OutlineCreator", "..\MatterControlPlugins\OutlineCreator\OutlineCreator.csproj", "{BEC6FD13-C765-4B90-836B-53823AC12E20}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MarlinFirmwareUpdatePlugin", "..\MarlinFirmwareUpdatePlugin\MarlinFirmwareUpdatePlugin\MarlinFirmwareUpdatePlugin.csproj", "{239CC6B1-537C-4998-9AA9-3372A3464498}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|x86.ActiveCfg = Debug|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Any CPU.ActiveCfg = Release|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Any CPU.Build.0 = Release|Any CPU - {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Mixed Platforms.Build.0 = Release|Any CPU {0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|x86.ActiveCfg = Release|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Debug|x86.ActiveCfg = Debug|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|Any CPU.ActiveCfg = Release|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|Any CPU.Build.0 = Release|Any CPU - {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9}.Release|x86.ActiveCfg = Release|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Debug|x86.ActiveCfg = Debug|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|Any CPU.ActiveCfg = Release|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|Any CPU.Build.0 = Release|Any CPU - {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|Mixed Platforms.Build.0 = Release|Any CPU {670BDDFF-927B-425D-9DD1-22ACB14356EB}.Release|x86.ActiveCfg = Release|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Debug|x86.ActiveCfg = Debug|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|Any CPU.ActiveCfg = Release|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|Any CPU.Build.0 = Release|Any CPU - {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|Mixed Platforms.Build.0 = Release|Any CPU {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD}.Release|x86.ActiveCfg = Release|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Debug|x86.ActiveCfg = Debug|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|Any CPU.ActiveCfg = Release|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|Any CPU.Build.0 = Release|Any CPU - {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {545B6912-77FF-4B34-BA76-6C3D6A32BE6A}.Release|x86.ActiveCfg = Release|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|Any CPU.Build.0 = Debug|Any CPU - {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Debug|x86.ActiveCfg = Debug|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|Any CPU.ActiveCfg = Release|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|Any CPU.Build.0 = Release|Any CPU - {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|Mixed Platforms.Build.0 = Release|Any CPU {74F6BB6C-9D02-4512-A59A-21940E35C532}.Release|x86.ActiveCfg = Release|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Debug|x86.ActiveCfg = Debug|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|Any CPU.ActiveCfg = Release|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|Any CPU.Build.0 = Release|Any CPU - {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|Mixed Platforms.Build.0 = Release|Any CPU {7E61A5BD-E78F-4B80-88C9-3821B4FA062E}.Release|x86.ActiveCfg = Release|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Debug|x86.ActiveCfg = Debug|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|Any CPU.ActiveCfg = Release|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|Any CPU.Build.0 = Release|Any CPU - {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|Mixed Platforms.Build.0 = Release|Any CPU {86F6AAF2-9B50-40B8-A427-1897D76471C5}.Release|x86.ActiveCfg = Release|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Debug|x86.ActiveCfg = Debug|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|Any CPU.ActiveCfg = Release|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|Any CPU.Build.0 = Release|Any CPU - {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|Mixed Platforms.Build.0 = Release|Any CPU {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B}.Release|x86.ActiveCfg = Release|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Debug|x86.ActiveCfg = Debug|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|Any CPU.ActiveCfg = Release|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|Any CPU.Build.0 = Release|Any CPU - {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {C958F745-156E-4BDC-A24A-3721C7BE7B8A}.Release|x86.ActiveCfg = Release|Any CPU {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|Mixed Platforms.Build.0 = Debug|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|x86.ActiveCfg = Debug|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Debug|x86.Build.0 = Debug|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|Any CPU.ActiveCfg = Release|Any CPU {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|Any CPU.Build.0 = Release|Any CPU - {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|Mixed Platforms.Build.0 = Release|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|x86.ActiveCfg = Release|x86 {F1653F20-D47D-4F29-8C55-3C835542AF5F}.Release|x86.Build.0 = Release|x86 {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Debug|x86.ActiveCfg = Debug|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|Any CPU.ActiveCfg = Release|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|Any CPU.Build.0 = Release|Any CPU - {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|Mixed Platforms.Build.0 = Release|Any CPU {1E01ABE0-B494-4FE4-B0D6-540133286887}.Release|x86.ActiveCfg = Release|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Debug|x86.ActiveCfg = Debug|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|Any CPU.ActiveCfg = Release|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|Any CPU.Build.0 = Release|Any CPU - {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|Mixed Platforms.Build.0 = Release|Any CPU {F67AE800-B0C7-42A8-836F-597B4E74591C}.Release|x86.ActiveCfg = Release|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Debug|x86.ActiveCfg = Debug|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|Any CPU.ActiveCfg = Release|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|Any CPU.Build.0 = Release|Any CPU - {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|Mixed Platforms.Build.0 = Release|Any CPU {D3ABF72C-64C2-4E51-A119-E077210FA990}.Release|x86.ActiveCfg = Release|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Debug|x86.ActiveCfg = Debug|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|Any CPU.ActiveCfg = Release|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|Any CPU.Build.0 = Release|Any CPU - {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release|x86.ActiveCfg = Release|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Debug|x86.ActiveCfg = Debug|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|Any CPU.ActiveCfg = Release|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|Any CPU.Build.0 = Release|Any CPU - {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|Mixed Platforms.Build.0 = Release|Any CPU {A737BC76-165B-46C6-82B7-8871C7C92942}.Release|x86.ActiveCfg = Release|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Debug|x86.ActiveCfg = Debug|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|Any CPU.ActiveCfg = Release|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|Any CPU.Build.0 = Release|Any CPU - {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|Mixed Platforms.Build.0 = Release|Any CPU {CA96058C-1A37-465D-A357-D6D695B13D25}.Release|x86.ActiveCfg = Release|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Debug|x86.ActiveCfg = Debug|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|Any CPU.ActiveCfg = Release|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|Any CPU.Build.0 = Release|Any CPU - {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {036BCCBA-52D8-457C-84AE-8821F209FE4A}.Release|x86.ActiveCfg = Release|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Debug|x86.ActiveCfg = Debug|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|Any CPU.ActiveCfg = Release|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|Any CPU.Build.0 = Release|Any CPU - {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|Mixed Platforms.Build.0 = Release|Any CPU {9B062971-A88E-4A3D-B3C9-12B78D15FA66}.Release|x86.ActiveCfg = Release|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Debug|x86.ActiveCfg = Debug|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Release|Any CPU.ActiveCfg = Release|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Release|Any CPU.Build.0 = Release|Any CPU - {DF6845CD-64C6-4263-8357-DA8066855739}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {DF6845CD-64C6-4263-8357-DA8066855739}.Release|Mixed Platforms.Build.0 = Release|Any CPU {DF6845CD-64C6-4263-8357-DA8066855739}.Release|x86.ActiveCfg = Release|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|Any CPU.Build.0 = Debug|Any CPU - {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Debug|x86.ActiveCfg = Debug|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|Any CPU.ActiveCfg = Release|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|Any CPU.Build.0 = Release|Any CPU - {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|Mixed Platforms.Build.0 = Release|Any CPU {291CD87C-2C58-4369-9D85-238C7EB31542}.Release|x86.ActiveCfg = Release|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Debug|x86.ActiveCfg = Debug|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|Any CPU.ActiveCfg = Release|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|Any CPU.Build.0 = Release|Any CPU - {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|Mixed Platforms.Build.0 = Release|Any CPU {865172A0-A1A9-49C2-9386-F2FDB4E141B7}.Release|x86.ActiveCfg = Release|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Debug|x86.ActiveCfg = Debug|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|Any CPU.ActiveCfg = Release|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|Any CPU.Build.0 = Release|Any CPU - {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {A526DC5D-65F3-461B-805F-D3AC9665F5C9}.Release|x86.ActiveCfg = Release|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Debug|x86.ActiveCfg = Debug|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|Any CPU.ActiveCfg = Release|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|Any CPU.Build.0 = Release|Any CPU - {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|Mixed Platforms.Build.0 = Release|Any CPU {F49EC1DD-D645-4709-8667-B57318AF67B0}.Release|x86.ActiveCfg = Release|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Debug|x86.ActiveCfg = Debug|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|Any CPU.ActiveCfg = Release|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|Any CPU.Build.0 = Release|Any CPU - {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|Mixed Platforms.Build.0 = Release|Any CPU {BEC6FD13-C765-4B90-836B-53823AC12E20}.Release|x86.ActiveCfg = Release|Any CPU - {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|Any CPU.ActiveCfg = Debug|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|x86.ActiveCfg = Debug|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Debug|x86.Build.0 = Debug|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|Any CPU.ActiveCfg = Release|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|Mixed Platforms.Build.0 = Release|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|x86.ActiveCfg = Release|x86 - {239CC6B1-537C-4998-9AA9-3372A3464498}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 7f1a7c0e8ec0fd4240e88cd69000a083761ee7a0 Mon Sep 17 00:00:00 2001 From: Kevin Pope Date: Sat, 1 Mar 2014 16:31:38 -0800 Subject: [PATCH 4/9] Fixed copyright message. --- AboutPage/AboutPage.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AboutPage/AboutPage.cs b/AboutPage/AboutPage.cs index 927bf8747..0e605132f 100644 --- a/AboutPage/AboutPage.cs +++ b/AboutPage/AboutPage.cs @@ -332,7 +332,7 @@ namespace MatterHackers.MatterControl checkUpdateLink.Visible = false; } - MainSlidePanel.Instance.SetUpdateNotification(this, null); + //MainSlidePanel.Instance.SetUpdateNotification(this, null); } void onVersionRequestFailed(object sender, EventArgs e) @@ -454,7 +454,7 @@ namespace MatterHackers.MatterControl learnMoreLink.Margin = new BorderDouble(0, 5); topToBottom.AddChild(learnMoreLink); - TextWidget copyrightText = new TextWidget(string.Format(new LocalizedString("Copyright © 2013 MatterHackers, Inc.").Translated), textColor: offWhite); + TextWidget copyrightText = new TextWidget(string.Format(new LocalizedString("Copyright © 2014 MatterHackers, Inc.").Translated), textColor: offWhite); copyrightText.HAnchor = Agg.UI.HAnchor.ParentCenter; topToBottom.AddChild(copyrightText); From d3c8c3ad4583f1ecfe1c3374d0812475a8ca4f34 Mon Sep 17 00:00:00 2001 From: Kevin Pope Date: Sat, 1 Mar 2014 16:33:41 -0800 Subject: [PATCH 5/9] PrintitemWrapper now handles empty path. --- PrintQueue/PrintItemWrapper.cs | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/PrintQueue/PrintItemWrapper.cs b/PrintQueue/PrintItemWrapper.cs index 1e6b69313..78b122ed2 100644 --- a/PrintQueue/PrintItemWrapper.cs +++ b/PrintQueue/PrintItemWrapper.cs @@ -189,16 +189,24 @@ namespace MatterHackers.MatterControl.PrintQueue public string GetGCodePathAndFileName() { - if (Path.GetExtension(FileLocation).ToUpper() == ".GCODE") + if (FileLocation.Trim() != "") { - return FileLocation; + + if (Path.GetExtension(FileLocation).ToUpper() == ".GCODE") + { + return FileLocation; + } + + string engineString = ((int)ActivePrinterProfile.Instance.ActiveSliceEngineType).ToString(); + + string gcodeFileName = this.StlFileHashCode.ToString() + "_" + engineString + "_" + ActiveSliceSettings.Instance.GetHashCode().ToString(); + string gcodePathAndFileName = Path.Combine(DataStorage.ApplicationDataStorage.Instance.GCodeOutputPath, gcodeFileName + ".gcode"); + return gcodePathAndFileName; + } + else + { + return null; } - - string engineString = ((int)ActivePrinterProfile.Instance.ActiveSliceEngineType).ToString(); - - string gcodeFileName = this.StlFileHashCode.ToString() + "_" + engineString + "_" + ActiveSliceSettings.Instance.GetHashCode().ToString(); - string gcodePathAndFileName = Path.Combine(DataStorage.ApplicationDataStorage.Instance.GCodeOutputPath, gcodeFileName + ".gcode"); - return gcodePathAndFileName; } From 722545fd468f1f9e40cb95d9558b68a61b3862bb Mon Sep 17 00:00:00 2001 From: Kevin Pope Date: Sat, 1 Mar 2014 16:34:33 -0800 Subject: [PATCH 6/9] Modifications to MainSlidePanel to allow Widescreen view. --- MainSlidePanel.cs | 120 ++++++++--- MatterControlApplication.cs | 1 + WidescreenPanel.cs | 393 +++++++++++++++++++++--------------- 3 files changed, 323 insertions(+), 191 deletions(-) diff --git a/MainSlidePanel.cs b/MainSlidePanel.cs index 0b96a1eaf..8763fb9ce 100644 --- a/MainSlidePanel.cs +++ b/MainSlidePanel.cs @@ -52,7 +52,71 @@ using MatterHackers.Localizations; namespace MatterHackers.MatterControl { - public class MainSlidePanel : SlidePanel + public class MainSlidePanel : GuiWidget + { + SimpleTextTabWidget aboutTabView; + static MainSlidePanel globalInstance; + TabControl advancedControlsTabControl; + TabControl mainControlsTabControl; + SliceSettingsWidget sliceSettingsWidget; + TabControl advancedControls; + private delegate void ReloadPanel(); + event EventHandler unregisterEvents; + public RootedObjectEventHandler ReloadPanelTrigger; + public RootedObjectEventHandler SetUpdateNotificationTrigger; + + + public MainSlidePanel() + { + this.AddChild(new WidescreenPanel()); + this.AnchorAll(); + } + + + public static MainSlidePanel Instance + { + get + { + if (globalInstance == null) + { + globalInstance = new MainSlidePanel(); + } + return globalInstance; + } + } + + public override void OnClosed(EventArgs e) + { + if (unregisterEvents != null) + { + unregisterEvents(this, null); + } + base.OnClosed(e); + } + + void DoNotChangePanel() + { + //Empty function used as placeholder + } + + + public void SetUpdateNotification(object sender, EventArgs widgetEvent) + { + SetUpdateNotificationTrigger.CallEvents(this, null); + } + + public void ReloadBackPanel() + { + ReloadPanelTrigger.CallEvents(this, null); + } + + void OnReloadBackPanel(EventArgs e) + { + ReloadPanelTrigger.CallEvents(this, e); + } + } + + public class MainSlide : SlidePanel { SimpleTextTabWidget aboutTabView; static MainSlidePanel globalInstance; @@ -76,8 +140,13 @@ namespace MatterHackers.MatterControl get { return GetPannel(1); } } - public MainSlidePanel() + public MainSlide() : base(2) + { + this.AnchorAll(); + } + + public void AddElements() { ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent(LoadSettingsOnPrinterChanged, ref unregisterEvents); @@ -91,25 +160,26 @@ namespace MatterHackers.MatterControl mainControlsTabControl.TabBar.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; mainControlsTabControl.TabBar.BorderColor = new RGBA_Bytes(0, 0, 0, 0); mainControlsTabControl.TabBar.Margin = new BorderDouble(0, 0); - mainControlsTabControl.TabBar.Padding = new BorderDouble(0, 2); + mainControlsTabControl.TabBar.Padding = new BorderDouble(0, 2); QueueTabPage = new TabPage(new QueueControlsWidget(), "Queue"); NumQueueItemsChanged(this, null); mainControlsTabControl.AddTab(new SimpleTextTabWidget(QueueTabPage, 18, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + //mainControlsTabControl.AddTab(new SimpleTextTabWidget(new TabPage(new GuiWidget(), "History"), 18, // ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); - string libraryTabLabel = new LocalizedString("Library").Translated; + string libraryTabLabel = new LocalizedString("Library").Translated; - mainControlsTabControl.AddTab(new SimpleTextTabWidget(new TabPage(new PrintLibraryWidget(),libraryTabLabel), 18, - ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + mainControlsTabControl.AddTab(new SimpleTextTabWidget(new TabPage(new PrintLibraryWidget(), libraryTabLabel), 18, + ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); //mainControlsTabControl.AddTab(new SimpleTextTabWidget(new TabPage(new ToolsWidget(), "Tools"), 18, - //ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + //ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); - AboutTabPage = new TabPage(new AboutPage(),new LocalizedString("About").Translated); + AboutTabPage = new TabPage(new AboutPage(), new LocalizedString("About").Translated); aboutTabView = new SimpleTextTabWidget(AboutTabPage, 18, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()); mainControlsTabControl.AddTab(aboutTabView); @@ -125,8 +195,8 @@ namespace MatterHackers.MatterControl advancedControlsButtonFactory.disabledBorderColor = ActiveTheme.Instance.PrimaryBackgroundColor; advancedControlsButtonFactory.invertImageLocation = true; - Button advancedControlsLinkButton = advancedControlsButtonFactory.Generate(new LocalizedString("Advanced\nControls").Translated, "icon_arrow_right_32x32.png"); - advancedControlsLinkButton.Margin = new BorderDouble(right:3); + Button advancedControlsLinkButton = advancedControlsButtonFactory.Generate(new LocalizedString("Advanced\nControls").Translated, "icon_arrow_right_32x32.png"); + advancedControlsLinkButton.Margin = new BorderDouble(right: 3); advancedControlsLinkButton.VAnchor = VAnchor.ParentBottom; advancedControlsLinkButton.Cursor = Cursors.Hand; advancedControlsLinkButton.Click += new ButtonBase.ButtonEventHandler(AdvancedControlsButton_Click); @@ -155,19 +225,19 @@ namespace MatterHackers.MatterControl void AdvancedControlsButton_Click(object sender, MouseEventArgs mouseEvent) { - if (MainSlidePanel.Instance.PannelIndex == 0) + if (this.PannelIndex == 0) { - MainSlidePanel.Instance.PannelIndex = 1; + this.PannelIndex = 1; } else { - MainSlidePanel.Instance.PannelIndex = 0; + this.PannelIndex = 0; } } void onMouseEnterBoundsAdvancedControlsLink(Object sender, EventArgs e) { - HelpTextWidget.Instance.ShowHoverText(new LocalizedString("View Manual Printer Controls and Slicing Settings").Translated); + HelpTextWidget.Instance.ShowHoverText(new LocalizedString("View Manual Printer Controls and Slicing Settings").Translated); } void onMouseLeaveBoundsAdvancedControlsLink(Object sender, EventArgs e) @@ -177,7 +247,7 @@ namespace MatterHackers.MatterControl void onMouseEnterBoundsPrintQueueLink(Object sender, EventArgs e) { - HelpTextWidget.Instance.ShowHoverText(new LocalizedString("View Queue and Library").Translated); + HelpTextWidget.Instance.ShowHoverText(new LocalizedString("View Queue and Library").Translated); } void onMouseLeaveBoundsPrintQueueLink(Object sender, EventArgs e) @@ -239,10 +309,10 @@ namespace MatterHackers.MatterControl advancedControls.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; advancedControls.TabBar.BorderColor = RGBA_Bytes.White; advancedControls.TabBar.Margin = new BorderDouble(0, 0); - advancedControls.TabBar.Padding = new BorderDouble(0,2); + advancedControls.TabBar.Padding = new BorderDouble(0, 2); advancedControlsButtonFactory.invertImageLocation = false; - Button advancedControlsLinkButton = advancedControlsButtonFactory.Generate(new LocalizedString("Print\nQueue").Translated, "icon_arrow_left_32x32.png"); + Button advancedControlsLinkButton = advancedControlsButtonFactory.Generate(new LocalizedString("Print\nQueue").Translated, "icon_arrow_left_32x32.png"); advancedControlsLinkButton.Margin = new BorderDouble(right: 3); advancedControlsLinkButton.VAnchor = VAnchor.ParentBottom; advancedControlsLinkButton.Cursor = Cursors.Hand; @@ -259,13 +329,13 @@ namespace MatterHackers.MatterControl manualPrinterControlsScrollArea.AddChild(manualPrinterControls); //Add the tab contents for 'Advanced Controls' - string printerControlsLabel = new LocalizedString ("Controls").Translated; - advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(manualPrinterControlsScrollArea, printerControlsLabel), 18, + string printerControlsLabel = new LocalizedString("Controls").Translated; + advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(manualPrinterControlsScrollArea, printerControlsLabel), 18, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); string sliceSettingsLabel = new LocalizedString("Slice Settings").Translated; sliceSettingsWidget = new SliceSettingsWidget(sliceSettingsUiState); - advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(sliceSettingsWidget, sliceSettingsLabel), 18, + advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(sliceSettingsWidget, sliceSettingsLabel), 18, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); string configurationLabel = new LocalizedString("Configuration").Translated; @@ -297,6 +367,8 @@ namespace MatterHackers.MatterControl ActiveTheme.Instance.ThemeChanged.RegisterEvent(onThemeChanged, ref unregisterEvents); PrintQueue.PrintQueueControl.Instance.ItemAdded.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); PrintQueue.PrintQueueControl.Instance.ItemRemoved.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); + MainSlidePanel.Instance.SetUpdateNotificationTrigger.RegisterEvent(SetUpdateNotification, ref unregisterEvents); + MainSlidePanel.Instance.ReloadPanelTrigger.RegisterEvent(ReloadBackPanel, ref unregisterEvents); } class NotificationWidget : GuiWidget @@ -343,9 +415,9 @@ namespace MatterHackers.MatterControl void NumQueueItemsChanged(object sender, EventArgs widgetEvent) { - string queueStringBeg = new LocalizedString("Queue").Translated; - string queueString = string.Format("{1} ({0})",PrintQueue.PrintQueueControl.Instance.Count, queueStringBeg); - QueueTabPage.Text = string.Format(queueString, PrintQueue.PrintQueueControl.Instance.Count); + string queueStringBeg = new LocalizedString("Queue").Translated; + string queueString = string.Format("{1} ({0})", PrintQueue.PrintQueueControl.Instance.Count, queueStringBeg); + QueueTabPage.Text = string.Format(queueString, PrintQueue.PrintQueueControl.Instance.Count); } private void onThemeChanged(object sender, EventArgs e) @@ -354,7 +426,7 @@ namespace MatterHackers.MatterControl this.advancedControls.Invalidate(); } - public void ReloadBackPanel() + public void ReloadBackPanel(object sender, EventArgs widgetEvent) { sliceSettingsUiState = new SliceSettingsWidget.UiState(sliceSettingsWidget); UiThread.RunOnIdle(DoChangePanel); diff --git a/MatterControlApplication.cs b/MatterControlApplication.cs index 5a32db316..72681676c 100644 --- a/MatterControlApplication.cs +++ b/MatterControlApplication.cs @@ -128,6 +128,7 @@ namespace MatterHackers.MatterControl this.AddChild(allControls); this.Padding = new BorderDouble(0); //To be re-enabled once native borders are turned off + //allControls.AddChild(WidescreenPanel.Instance); allControls.AddChild(new ActionBarPlus()); allControls.AddChild(MainSlidePanel.Instance); diff --git a/WidescreenPanel.cs b/WidescreenPanel.cs index 1d72727a8..72fbf4497 100644 --- a/WidescreenPanel.cs +++ b/WidescreenPanel.cs @@ -46,109 +46,79 @@ using MatterHackers.MatterControl.SlicerConfiguration; using MatterHackers.MatterControl.PrintLibrary; using MatterHackers.MatterControl.DataStorage; using MatterHackers.Localizations; +using MatterHackers.MatterControl.PartPreviewWindow; namespace MatterHackers.MatterControl { - public class WidescreenPanel : Splitter - { - SimpleTextTabWidget aboutTabView; + public class WidescreenPanel : FlowLayoutWidget + { static WidescreenPanel globalInstance; TabControl advancedControlsTabControl; - TabControl mainControlsTabControl; SliceSettingsWidget sliceSettingsWidget; TabControl advancedControls; - private delegate void ReloadPanel(); - public TabPage QueueTabPage; public TabPage AboutTabPage; TextImageButtonFactory advancedControlsButtonFactory = new TextImageButtonFactory(); RGBA_Bytes unselectedTextColor = ActiveTheme.Instance.TabLabelUnselected; + SliceSettingsWidget.UiState sliceSettingsUiState; + FlowLayoutWidget ColumnOne; + FlowLayoutWidget ColumnTwo; + int ColumnTwoMinWidth = 1390; + FlowLayoutWidget ColumnThree; + int ColumnThreeMinWidth = 990; + View3DTransformPart part3DView; + GcodeViewBasic partGcodeView; public WidescreenPanel() - : base() + : base(FlowDirection.LeftToRight) { ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent(LoadSettingsOnPrinterChanged, ref unregisterEvents); - - // do the front panel stuff { - // first add the print progress bar - this.Panel1.AddChild(new PrintProgressBar()); - // construct the main controls tab control - mainControlsTabControl = new TabControl(); - mainControlsTabControl.TabBar.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; - mainControlsTabControl.TabBar.BorderColor = new RGBA_Bytes(0, 0, 0, 0); - mainControlsTabControl.TabBar.Margin = new BorderDouble(0, 0); - mainControlsTabControl.TabBar.Padding = new BorderDouble(0, 2); + //PrintQueueControl.Instance.Initialize(); + BackgroundColor = RGBA_Bytes.Gray; - QueueTabPage = new TabPage(new QueueControlsWidget(), "Queue"); - NumQueueItemsChanged(this, null); + ColumnOne = new FlowLayoutWidget(FlowDirection.TopToBottom); + ColumnTwo = new FlowLayoutWidget(FlowDirection.TopToBottom); + ColumnThree = new FlowLayoutWidget(FlowDirection.TopToBottom); - mainControlsTabControl.AddTab(new SimpleTextTabWidget(QueueTabPage, 18, - ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); - //mainControlsTabControl.AddTab(new SimpleTextTabWidget(new TabPage(new GuiWidget(), "History"), 18, - // ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); - mainControlsTabControl.AddTab(new SimpleTextTabWidget(new TabPage(new PrintLibraryWidget(), "Library"), 18, - ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + ColumnOne.VAnchor = VAnchor.ParentBottomTop; + ColumnOne.AddChild(new ActionBarPlus()); + ColumnOne.AddChild(new PrintProgressBar()); + ColumnOne.AddChild(new QueueTab()); + ColumnOne.Width = 480; //Ordering here matters - must go after children are added + + ColumnOne.Padding = new BorderDouble(4); + ColumnTwo.Padding = new BorderDouble(4); + ColumnThree.Padding = new BorderDouble(4); + - AboutTabPage = new TabPage(new AboutPage(), "About"); - aboutTabView = new SimpleTextTabWidget(AboutTabPage, 18, - ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()); - mainControlsTabControl.AddTab(aboutTabView); + LoadColumnTwo(); + + ColumnThree.VAnchor = VAnchor.ParentBottomTop; + + + { + advancedControlsTabControl = CreateNewAdvancedControlsTab(new SliceSettingsWidget.UiState()); + ColumnThree.AddChild(advancedControlsTabControl); + ColumnThree.Width = 590; //Ordering here matters - must go after children are added + } - - advancedControlsButtonFactory.normalTextColor = RGBA_Bytes.White; - advancedControlsButtonFactory.hoverTextColor = RGBA_Bytes.White; - advancedControlsButtonFactory.pressedTextColor = RGBA_Bytes.White; - advancedControlsButtonFactory.fontSize = 10; - - advancedControlsButtonFactory.disabledTextColor = RGBA_Bytes.LightGray; - advancedControlsButtonFactory.disabledFillColor = ActiveTheme.Instance.PrimaryBackgroundColor; - advancedControlsButtonFactory.disabledBorderColor = ActiveTheme.Instance.PrimaryBackgroundColor; - - advancedControlsButtonFactory.invertImageLocation = true; - Button advancedControlsLinkButton = advancedControlsButtonFactory.Generate("Advanced\nControls", "icon_arrow_right_32x32.png"); - advancedControlsLinkButton.Margin = new BorderDouble(right: 3); - advancedControlsLinkButton.VAnchor = VAnchor.ParentBottom; - advancedControlsLinkButton.Cursor = Cursors.Hand; - advancedControlsLinkButton.Click += new ButtonBase.ButtonEventHandler(AdvancedControlsButton_Click); - advancedControlsLinkButton.MouseEnterBounds += new EventHandler(onMouseEnterBoundsAdvancedControlsLink); - advancedControlsLinkButton.MouseLeaveBounds += new EventHandler(onMouseLeaveBoundsAdvancedControlsLink); - - GuiWidget hSpacer = new GuiWidget(); - hSpacer.HAnchor = HAnchor.ParentLeftRight; - - mainControlsTabControl.TabBar.AddChild(hSpacer); - //mainControlsTabControl.TabBar.AddChild(advancedControlsLinkButton); - // and add it - this.Panel1.AddChild(mainControlsTabControl); - - SetUpdateNotification(this, null); + AddChild(ColumnOne); + AddChild(ColumnTwo); + AddChild(ColumnThree); } - // do the back panel - { - advancedControlsTabControl = CreateNewAdvancedControlsTab(new SliceSettingsWidget.UiState()); - this.Panel2.AddChild(advancedControlsTabControl); - //this.Panel2.AddChild(new PrintProgressBar()); - } - - - + AnchorAll(); AddHandlers(); + SetVisibleStatus(); + } - void AdvancedControlsButton_Click(object sender, MouseEventArgs mouseEvent) + void onBoundsChanges(Object sender, EventArgs e) { - if (MainSlidePanel.Instance.PannelIndex == 0) - { - MainSlidePanel.Instance.PannelIndex = 1; - } - else - { - MainSlidePanel.Instance.PannelIndex = 0; - } + SetVisibleStatus(); } void onMouseEnterBoundsAdvancedControlsLink(Object sender, EventArgs e) @@ -197,28 +167,24 @@ namespace MatterHackers.MatterControl //Empty function used as placeholder } - SliceSettingsWidget.UiState sliceSettingsUiState; + void DoChangePanel(object state) { // remember which tab we were on int topTabIndex = this.advancedControlsTabControl.SelectedTabIndex; // remove the advance control and replace it with new ones build for the selected printer - int advancedControlsWidgetIndex = Panel2.GetChildIndex(this.advancedControlsTabControl); - Panel2.RemoveChild(advancedControlsWidgetIndex); + int advancedControlsWidgetIndex = ColumnThree.GetChildIndex(this.advancedControlsTabControl); + ColumnThree.RemoveChild(advancedControlsWidgetIndex); this.advancedControlsTabControl = CreateNewAdvancedControlsTab(sliceSettingsUiState); - Panel2.AddChild(this.advancedControlsTabControl, advancedControlsWidgetIndex); + ColumnThree.AddChild(this.advancedControlsTabControl, advancedControlsWidgetIndex); + ColumnThree.Width = 590; // set the selected tab back to the one it was before we replace the control this.advancedControlsTabControl.SelectTab(topTabIndex); - - // This is a hack to make the pannel remain on the screen. It would be great to debug it and understand - // why it does not work without this code in here. - RectangleDouble localBounds = this.LocalBounds; - this.LocalBounds = new RectangleDouble(0, 0, this.LocalBounds.Width - 1, 10); - this.LocalBounds = localBounds; } + TabControl CreateNewAdvancedControlsTab(SliceSettingsWidget.UiState sliceSettingsUiState) { advancedControls = new TabControl(); @@ -228,31 +194,184 @@ namespace MatterHackers.MatterControl advancedControls.TabBar.Padding = new BorderDouble(0, 2); advancedControlsButtonFactory.invertImageLocation = false; - Button advancedControlsLinkButton = advancedControlsButtonFactory.Generate("Print\nQueue", "icon_arrow_left_32x32.png"); - advancedControlsLinkButton.Margin = new BorderDouble(right: 3); - advancedControlsLinkButton.VAnchor = VAnchor.ParentBottom; - advancedControlsLinkButton.Cursor = Cursors.Hand; - advancedControlsLinkButton.Click += new ButtonBase.ButtonEventHandler(AdvancedControlsButton_Click); - advancedControlsLinkButton.MouseEnterBounds += new EventHandler(onMouseEnterBoundsPrintQueueLink); - advancedControlsLinkButton.MouseLeaveBounds += new EventHandler(onMouseLeaveBoundsPrintQueueLink); - - //advancedControls.TabBar.AddChild(advancedControlsLinkButton); GuiWidget manualPrinterControls = new ManualPrinterControls(); ScrollableWidget manualPrinterControlsScrollArea = new ScrollableWidget(true); manualPrinterControlsScrollArea.ScrollArea.HAnchor |= Agg.UI.HAnchor.ParentLeftRight; manualPrinterControlsScrollArea.AnchorAll(); manualPrinterControlsScrollArea.AddChild(manualPrinterControls); - advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(manualPrinterControlsScrollArea, "Printer Controls"), 18, + + //Add the tab contents for 'Advanced Controls' + string printerControlsLabel = new LocalizedString("Controls").Translated; + advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(manualPrinterControlsScrollArea, printerControlsLabel), 18, + ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + + string sliceSettingsLabel = new LocalizedString("Slice Settings").Translated; + sliceSettingsWidget = new SliceSettingsWidget(sliceSettingsUiState); + advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(sliceSettingsWidget, sliceSettingsLabel), 18, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); - sliceSettingsWidget = new SliceSettingsWidget(sliceSettingsUiState); - advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(sliceSettingsWidget, "Slice Settings"), 18, + string configurationLabel = new LocalizedString("Configuration").Translated; + ScrollableWidget configurationControls = new ConfigurationPage(); + advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(configurationControls, configurationLabel), 18, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); return advancedControls; } + event EventHandler unregisterEvents; + void AddHandlers() + { + ActiveTheme.Instance.ThemeChanged.RegisterEvent(onThemeChanged, ref unregisterEvents); + PrinterCommunication.Instance.ActivePrintItemChanged.RegisterEvent(onActivePrintItemChanged, ref unregisterEvents); + MainSlidePanel.Instance.ReloadPanelTrigger.RegisterEvent(ReloadBackPanel, ref unregisterEvents); + this.BoundsChanged += new EventHandler(onBoundsChanges); + } + + void onActivePrintItemChanged(object sender, EventArgs e) + { + LoadColumnTwo(); + } + + void LoadColumnTwo() + { + ColumnTwo.RemoveAllChildren(); + + double buildHeight = ActiveSliceSettings.Instance.BuildHeight; + part3DView = new View3DTransformPart(PrinterCommunication.Instance.ActivePrintItem, new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), ActiveSliceSettings.Instance.BedShape); + part3DView.Margin = new BorderDouble(bottom: 4); + part3DView.AnchorAll(); + + partGcodeView = new GcodeViewBasic(PrinterCommunication.Instance.ActivePrintItem, ActiveSliceSettings.Instance.GetBedSize, ActiveSliceSettings.Instance.GetBedCenter); + partGcodeView.AnchorAll(); + + ColumnTwo.AddChild(part3DView); + ColumnTwo.AddChild(partGcodeView); + ColumnTwo.AnchorAll(); + SetVisibleStatus(); + } + + void SetVisibleStatus() + { + if (this.Width < ColumnThreeMinWidth) + { + ColumnThree.Visible = false; + part3DView.Visible = false; + partGcodeView.Visible = false; + ColumnOne.Visible = true; + } + else if (this.Width < ColumnTwoMinWidth) + { + ColumnThree.Visible = true; + part3DView.Visible = false; + partGcodeView.Visible = false; + ColumnOne.Visible = true; + } + else + { + ColumnThree.Visible = true; + part3DView.Visible = true; + partGcodeView.Visible = true; + ColumnOne.Visible = true; + } + } + + + private void onThemeChanged(object sender, EventArgs e) + { + this.advancedControls.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; + this.advancedControls.Invalidate(); + } + + public void ReloadBackPanel(object sender, EventArgs widgetEvent) + { + sliceSettingsUiState = new SliceSettingsWidget.UiState(sliceSettingsWidget); + UiThread.RunOnIdle(DoChangePanel); + } + + public void LoadSettingsOnPrinterChanged(object sender, EventArgs e) + { + ActiveSliceSettings.Instance.LoadSettingsForPrinter(); + MainSlidePanel.Instance.ReloadBackPanel(); + } + } + + class QueueTab : TabControl + { + + TabPage QueueTabPage; + TabPage LibraryTabPage; + TabPage AboutTabPage; + SimpleTextTabWidget AboutTabView; + RGBA_Bytes unselectedTextColor = ActiveTheme.Instance.TabLabelUnselected; + GuiWidget addedUpdateMark = null; + + public QueueTab() + { + this.TabBar.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; + this.TabBar.BorderColor = new RGBA_Bytes(0, 0, 0, 0); + this.TabBar.Margin = new BorderDouble(0, 0); + this.TabBar.Padding = new BorderDouble(0, 2); + + QueueTabPage = new TabPage(new QueueControlsWidget(), "Queue"); + this.AddTab(new SimpleTextTabWidget(QueueTabPage, 18, + ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + + LibraryTabPage = new TabPage(new PrintLibraryWidget(), "Library"); + this.AddTab(new SimpleTextTabWidget(LibraryTabPage, 18, + ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); + + AboutTabPage = new TabPage(new AboutPage(), "About"); + AboutTabView = new SimpleTextTabWidget(AboutTabPage, 18, + ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()); + this.AddTab(AboutTabView); + + NumQueueItemsChanged(this, null); + SetUpdateNotification(this, null); + + } + + void NumQueueItemsChanged(object sender, EventArgs widgetEvent) + { + string queueStringBeg = new LocalizedString("Queue").Translated; + string queueString = string.Format("{1} ({0})", PrintQueue.PrintQueueControl.Instance.Count, queueStringBeg); + QueueTabPage.Text = string.Format(queueString, PrintQueue.PrintQueueControl.Instance.Count); + } + + event EventHandler unregisterEvents; + void AddHandlers() + { + PrintQueue.PrintQueueControl.Instance.ItemAdded.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); + PrintQueue.PrintQueueControl.Instance.ItemRemoved.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); + MainSlidePanel.Instance.SetUpdateNotificationTrigger.RegisterEvent(SetUpdateNotification, ref unregisterEvents); + } + + public void SetUpdateNotification(object sender, EventArgs widgetEvent) + { + if (this.UpdateIsAvailable() || UpdateControl.NeedToCheckForUpdateFirstTimeEver) + { +#if true + if (addedUpdateMark == null) + { + UpdateControl.NeedToCheckForUpdateFirstTimeEver = false; + addedUpdateMark = new NotificationWidget(); + addedUpdateMark.OriginRelativeParent = new Vector2(63, 10); + AboutTabView.AddChild(addedUpdateMark); + } +#else + AboutTabPage.Text = string.Format("About (!)"); +#endif + } + else + { + if (addedUpdateMark != null) + { + addedUpdateMark.Visible = false; + } + AboutTabPage.Text = string.Format("About"); + } + } + bool UpdateIsAvailable() { string currentBuildToken = ApplicationSettings.Instance.get("CurrentBuildToken"); @@ -267,81 +386,21 @@ namespace MatterHackers.MatterControl return true; } } + } - event EventHandler unregisterEvents; - void AddHandlers() + class NotificationWidget : GuiWidget + { + public NotificationWidget() + : base(12, 12) { - ActiveTheme.Instance.ThemeChanged.RegisterEvent(onThemeChanged, ref unregisterEvents); - PrintQueue.PrintQueueControl.Instance.ItemAdded.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); - PrintQueue.PrintQueueControl.Instance.ItemRemoved.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); } - class NotificationWidget : GuiWidget + public override void OnDraw(Graphics2D graphics2D) { - public NotificationWidget() - : base(12, 12) - { - } - - public override void OnDraw(Graphics2D graphics2D) - { - graphics2D.Circle(Width / 2, Height / 2, Width / 2, RGBA_Bytes.White); - graphics2D.Circle(Width / 2, Height / 2, Width / 2 - 1, RGBA_Bytes.Red); - graphics2D.FillRectangle(Width / 2 - 1, Height / 2 - 3, Width / 2 + 1, Height / 2 + 3, RGBA_Bytes.White); - //graphics2D.DrawString("1", Width / 2, Height / 2 + 1, 8, Justification.Center, Baseline.BoundsCenter, RGBA_Bytes.White); - base.OnDraw(graphics2D); - } - } - - GuiWidget addedUpdateMark = null; - public void SetUpdateNotification(object sender, EventArgs widgetEvent) - { - if (this.UpdateIsAvailable() || UpdateControl.NeedToCheckForUpdateFirstTimeEver) - { -#if true - if (addedUpdateMark == null) - { - UpdateControl.NeedToCheckForUpdateFirstTimeEver = false; - addedUpdateMark = new NotificationWidget(); - addedUpdateMark.OriginRelativeParent = new Vector2(63, 10); - aboutTabView.AddChild(addedUpdateMark); - } -#else - AboutTabPage.Text = string.Format("About (!)"); -#endif - } - else - { - if (addedUpdateMark != null) - { - addedUpdateMark.Visible = false; - } - AboutTabPage.Text = string.Format("About"); - } - } - - void NumQueueItemsChanged(object sender, EventArgs widgetEvent) - { - string queueString = "Queue ({0})"; - QueueTabPage.Text = string.Format(queueString, PrintQueue.PrintQueueControl.Instance.Count); - } - - private void onThemeChanged(object sender, EventArgs e) - { - this.advancedControls.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; - this.advancedControls.Invalidate(); - } - - public void ReloadBackPanel() - { - sliceSettingsUiState = new SliceSettingsWidget.UiState(sliceSettingsWidget); - UiThread.RunOnIdle(DoChangePanel); - } - - public void LoadSettingsOnPrinterChanged(object sender, EventArgs e) - { - ActiveSliceSettings.Instance.LoadSettingsForPrinter(); - MainSlidePanel.Instance.ReloadBackPanel(); + graphics2D.Circle(Width / 2, Height / 2, Width / 2, RGBA_Bytes.White); + graphics2D.Circle(Width / 2, Height / 2, Width / 2 - 1, RGBA_Bytes.Red); + graphics2D.FillRectangle(Width / 2 - 1, Height / 2 - 3, Width / 2 + 1, Height / 2 + 3, RGBA_Bytes.White); + base.OnDraw(graphics2D); } } } From caa4da6dc6ff31fdfc2bb4226721ffab7df20660 Mon Sep 17 00:00:00 2001 From: kevinepope Date: Sat, 1 Mar 2014 17:52:33 -0800 Subject: [PATCH 7/9] More widescreen fixes. --- MainSlidePanel.cs | 31 +++++++++++++++++++------------ MatterControlApplication.cs | 2 +- WidescreenPanel.cs | 17 +++++++++++------ 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/MainSlidePanel.cs b/MainSlidePanel.cs index 8763fb9ce..57423f6bb 100644 --- a/MainSlidePanel.cs +++ b/MainSlidePanel.cs @@ -62,16 +62,22 @@ namespace MatterHackers.MatterControl TabControl advancedControls; private delegate void ReloadPanel(); event EventHandler unregisterEvents; - public RootedObjectEventHandler ReloadPanelTrigger; - public RootedObjectEventHandler SetUpdateNotificationTrigger; + public RootedObjectEventHandler ReloadPanelTrigger = new RootedObjectEventHandler(); + public RootedObjectEventHandler SetUpdateNotificationTrigger = new RootedObjectEventHandler(); public MainSlidePanel() { - this.AddChild(new WidescreenPanel()); - this.AnchorAll(); + } + public void AddElements() + { + //this.AddChild(new MainSlide()); + this.AddChild(new WidescreenPanel()); + this.AnchorAll(); + SetUpdateNotification(this, null); + } public static MainSlidePanel Instance { @@ -80,6 +86,7 @@ namespace MatterHackers.MatterControl if (globalInstance == null) { globalInstance = new MainSlidePanel(); + globalInstance.AddElements(); } return globalInstance; } @@ -118,8 +125,7 @@ namespace MatterHackers.MatterControl public class MainSlide : SlidePanel { - SimpleTextTabWidget aboutTabView; - static MainSlidePanel globalInstance; + SimpleTextTabWidget aboutTabView; TabControl advancedControlsTabControl; TabControl mainControlsTabControl; SliceSettingsWidget sliceSettingsWidget; @@ -129,6 +135,7 @@ namespace MatterHackers.MatterControl public TabPage AboutTabPage; TextImageButtonFactory advancedControlsButtonFactory = new TextImageButtonFactory(); RGBA_Bytes unselectedTextColor = ActiveTheme.Instance.TabLabelUnselected; + static MainSlide globalInstance; GuiWidget LeftPanel { @@ -143,7 +150,7 @@ namespace MatterHackers.MatterControl public MainSlide() : base(2) { - this.AnchorAll(); + AddElements(); } public void AddElements() @@ -211,7 +218,7 @@ namespace MatterHackers.MatterControl // and add it this.LeftPanel.AddChild(mainControlsTabControl); - SetUpdateNotification(this, null); + } // do the back panel @@ -255,13 +262,13 @@ namespace MatterHackers.MatterControl HelpTextWidget.Instance.HideHoverText(); } - public static MainSlidePanel Instance + public static MainSlide Instance { get { if (globalInstance == null) { - globalInstance = new MainSlidePanel(); + globalInstance = new MainSlide(); } return globalInstance; } @@ -367,7 +374,7 @@ namespace MatterHackers.MatterControl ActiveTheme.Instance.ThemeChanged.RegisterEvent(onThemeChanged, ref unregisterEvents); PrintQueue.PrintQueueControl.Instance.ItemAdded.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); PrintQueue.PrintQueueControl.Instance.ItemRemoved.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); - MainSlidePanel.Instance.SetUpdateNotificationTrigger.RegisterEvent(SetUpdateNotification, ref unregisterEvents); + MainSlidePanel.Instance.SetUpdateNotificationTrigger.RegisterEvent(OnSetUpdateNotification, ref unregisterEvents); MainSlidePanel.Instance.ReloadPanelTrigger.RegisterEvent(ReloadBackPanel, ref unregisterEvents); } @@ -389,7 +396,7 @@ namespace MatterHackers.MatterControl } GuiWidget addedUpdateMark = null; - public void SetUpdateNotification(object sender, EventArgs widgetEvent) + public void OnSetUpdateNotification(object sender, EventArgs widgetEvent) { if (this.UpdateIsAvailable() || UpdateControl.NeedToCheckForUpdateFirstTimeEver) { diff --git a/MatterControlApplication.cs b/MatterControlApplication.cs index 72681676c..1cfe0f9c8 100644 --- a/MatterControlApplication.cs +++ b/MatterControlApplication.cs @@ -129,7 +129,7 @@ namespace MatterHackers.MatterControl this.Padding = new BorderDouble(0); //To be re-enabled once native borders are turned off //allControls.AddChild(WidescreenPanel.Instance); - allControls.AddChild(new ActionBarPlus()); + //allControls.AddChild(new ActionBarPlus()); allControls.AddChild(MainSlidePanel.Instance); #if false // this is to test freeing gcodefile memory diff --git a/WidescreenPanel.cs b/WidescreenPanel.cs index 72fbf4497..abb5bf153 100644 --- a/WidescreenPanel.cs +++ b/WidescreenPanel.cs @@ -256,22 +256,27 @@ namespace MatterHackers.MatterControl if (this.Width < ColumnThreeMinWidth) { ColumnThree.Visible = false; - part3DView.Visible = false; - partGcodeView.Visible = false; + ColumnTwo.Visible = false; + + ColumnOne.AnchorAll(); ColumnOne.Visible = true; + } else if (this.Width < ColumnTwoMinWidth) { ColumnThree.Visible = true; - part3DView.Visible = false; - partGcodeView.Visible = false; + ColumnTwo.Visible = false; + + ColumnOne.AnchorAll(); ColumnOne.Visible = true; } else { ColumnThree.Visible = true; - part3DView.Visible = true; - partGcodeView.Visible = true; + ColumnTwo.Visible = true; + + ColumnOne.HAnchor = Agg.UI.HAnchor.None; + ColumnOne.Width = 480; ColumnOne.Visible = true; } } From 92096291bc026f7c6c1695fe9b6bb44882e4257e Mon Sep 17 00:00:00 2001 From: kevinepope Date: Sat, 1 Mar 2014 18:48:25 -0800 Subject: [PATCH 8/9] Stylistic exploration. --- ConfigurationPage/ConfigurationPage.cs | 2 +- CustomWidgets/DisableableWidget.cs | 2 +- PrinterControls/ManualPrinterControls.cs | 2 +- WidescreenPanel.cs | 53 ++++++++++++++++++++---- 4 files changed, 48 insertions(+), 11 deletions(-) diff --git a/ConfigurationPage/ConfigurationPage.cs b/ConfigurationPage/ConfigurationPage.cs index dbad8f9fa..d82dc42ed 100644 --- a/ConfigurationPage/ConfigurationPage.cs +++ b/ConfigurationPage/ConfigurationPage.cs @@ -285,7 +285,7 @@ namespace MatterHackers.MatterControl private void SetDisplayAttributes() { - this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; + this.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; this.textImageButtonFactory.normalFillColor = RGBA_Bytes.White; this.textImageButtonFactory.disabledFillColor = RGBA_Bytes.White; diff --git a/CustomWidgets/DisableableWidget.cs b/CustomWidgets/DisableableWidget.cs index 6b62297f8..ba1bd8d0e 100644 --- a/CustomWidgets/DisableableWidget.cs +++ b/CustomWidgets/DisableableWidget.cs @@ -26,7 +26,7 @@ namespace MatterHackers.MatterControl.CustomWidgets public void SetEnableLevel(EnableLevel enabledLevel) { - disableOverlay.BackgroundColor = new RGBA_Bytes(ActiveTheme.Instance.PrimaryAccentColor, 160); + disableOverlay.BackgroundColor = new RGBA_Bytes(ActiveTheme.Instance.PrimaryBackgroundColor, 160); switch (enabledLevel) { case EnableLevel.Disabled: diff --git a/PrinterControls/ManualPrinterControls.cs b/PrinterControls/ManualPrinterControls.cs index 8a043f27c..38f0d7772 100644 --- a/PrinterControls/ManualPrinterControls.cs +++ b/PrinterControls/ManualPrinterControls.cs @@ -689,7 +689,7 @@ namespace MatterHackers.MatterControl private void SetDisplayAttributes() { - this.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; + this.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; this.textImageButtonFactory.normalFillColor = RGBA_Bytes.White; this.textImageButtonFactory.disabledFillColor = RGBA_Bytes.White; diff --git a/WidescreenPanel.cs b/WidescreenPanel.cs index abb5bf153..37cfb6417 100644 --- a/WidescreenPanel.cs +++ b/WidescreenPanel.cs @@ -49,7 +49,7 @@ using MatterHackers.Localizations; using MatterHackers.MatterControl.PartPreviewWindow; namespace MatterHackers.MatterControl -{ +{ public class WidescreenPanel : FlowLayoutWidget { static WidescreenPanel globalInstance; @@ -70,6 +70,9 @@ namespace MatterHackers.MatterControl View3DTransformPart part3DView; GcodeViewBasic partGcodeView; + GuiWidget RightBorderLine; + GuiWidget LeftBorderLine; + public WidescreenPanel() : base(FlowDirection.LeftToRight) { @@ -77,7 +80,8 @@ namespace MatterHackers.MatterControl { //PrintQueueControl.Instance.Initialize(); - BackgroundColor = RGBA_Bytes.Gray; + BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; + Padding = new BorderDouble(4); ColumnOne = new FlowLayoutWidget(FlowDirection.TopToBottom); ColumnTwo = new FlowLayoutWidget(FlowDirection.TopToBottom); @@ -89,10 +93,12 @@ namespace MatterHackers.MatterControl ColumnOne.AddChild(new QueueTab()); ColumnOne.Width = 480; //Ordering here matters - must go after children are added - ColumnOne.Padding = new BorderDouble(4); - ColumnTwo.Padding = new BorderDouble(4); - ColumnThree.Padding = new BorderDouble(4); - + //ColumnOne.Padding = new BorderDouble(4); + //ColumnTwo.Padding = new BorderDouble(4, 0); + //ColumnThree.Padding = new BorderDouble(4); + + LeftBorderLine = CreateBorderLine(); + RightBorderLine = CreateBorderLine(); LoadColumnTwo(); @@ -106,7 +112,9 @@ namespace MatterHackers.MatterControl } AddChild(ColumnOne); + AddChild(LeftBorderLine); AddChild(ColumnTwo); + AddChild(RightBorderLine); AddChild(ColumnThree); } @@ -116,6 +124,15 @@ namespace MatterHackers.MatterControl } + private static GuiWidget CreateBorderLine() + { + GuiWidget topLine = new GuiWidget(3, 1); + topLine.BackgroundColor = new RGBA_Bytes(200,200,200); + topLine.VAnchor = VAnchor.ParentBottomTop; + topLine.Margin = new BorderDouble(8, 0); + return topLine; + } + void onBoundsChanges(Object sender, EventArgs e) { SetVisibleStatus(); @@ -188,7 +205,7 @@ namespace MatterHackers.MatterControl TabControl CreateNewAdvancedControlsTab(SliceSettingsWidget.UiState sliceSettingsUiState) { advancedControls = new TabControl(); - advancedControls.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; + advancedControls.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; advancedControls.TabBar.BorderColor = RGBA_Bytes.White; advancedControls.TabBar.Margin = new BorderDouble(0, 0); advancedControls.TabBar.Padding = new BorderDouble(0, 2); @@ -258,33 +275,53 @@ namespace MatterHackers.MatterControl ColumnThree.Visible = false; ColumnTwo.Visible = false; + ColumnOne.RemoveAllChildren(); + ColumnOne.AddChild(new ActionBarPlus()); + ColumnOne.AddChild(new MainSlide()); ColumnOne.AnchorAll(); ColumnOne.Visible = true; + LeftBorderLine.Visible = false; + RightBorderLine.Visible = false; + } else if (this.Width < ColumnTwoMinWidth) { ColumnThree.Visible = true; ColumnTwo.Visible = false; + ColumnOne.RemoveAllChildren(); + ColumnOne.AddChild(new ActionBarPlus()); + ColumnOne.AddChild(new PrintProgressBar()); + ColumnOne.AddChild(new QueueTab()); ColumnOne.AnchorAll(); ColumnOne.Visible = true; + + LeftBorderLine.Visible = true; + RightBorderLine.Visible = false; } else { ColumnThree.Visible = true; ColumnTwo.Visible = true; + ColumnOne.RemoveAllChildren(); + ColumnOne.AddChild(new ActionBarPlus()); + ColumnOne.AddChild(new PrintProgressBar()); + ColumnOne.AddChild(new QueueTab()); ColumnOne.HAnchor = Agg.UI.HAnchor.None; ColumnOne.Width = 480; ColumnOne.Visible = true; + + LeftBorderLine.Visible = true; + RightBorderLine.Visible = true; } } private void onThemeChanged(object sender, EventArgs e) { - this.advancedControls.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; + //this.advancedControls.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor; this.advancedControls.Invalidate(); } From 7509b39799840c5d6ca3306c2234bf2b840bc859 Mon Sep 17 00:00:00 2001 From: kevinepope Date: Sat, 1 Mar 2014 19:43:54 -0800 Subject: [PATCH 9/9] Made right column hide-able. --- CustomWidgets/ClickWidget.cs | 14 ++++++++++++++ WidescreenPanel.cs | 34 +++++++++++++++++++++++++--------- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/CustomWidgets/ClickWidget.cs b/CustomWidgets/ClickWidget.cs index 28c82a180..2265f9f46 100644 --- a/CustomWidgets/ClickWidget.cs +++ b/CustomWidgets/ClickWidget.cs @@ -22,6 +22,20 @@ namespace MatterHackers.MatterControl private int borderWidth = 0; private RGBA_Bytes borderColor = RGBA_Bytes.Black; + public ClickWidget() + : base() + { + + } + + public ClickWidget(double width, double height) + : base(width, height) + { + + } + + + public int BorderWidth { get { return borderWidth; } diff --git a/WidescreenPanel.cs b/WidescreenPanel.cs index 37cfb6417..3658f4d71 100644 --- a/WidescreenPanel.cs +++ b/WidescreenPanel.cs @@ -70,8 +70,10 @@ namespace MatterHackers.MatterControl View3DTransformPart part3DView; GcodeViewBasic partGcodeView; - GuiWidget RightBorderLine; - GuiWidget LeftBorderLine; + ClickWidget RightBorderLine; + ClickWidget LeftBorderLine; + + bool ColThreeIsHidden = false; public WidescreenPanel() : base(FlowDirection.LeftToRight) @@ -124,12 +126,13 @@ namespace MatterHackers.MatterControl } - private static GuiWidget CreateBorderLine() + private static ClickWidget CreateBorderLine() { - GuiWidget topLine = new GuiWidget(3, 1); + ClickWidget topLine = new ClickWidget(3, 1); topLine.BackgroundColor = new RGBA_Bytes(200,200,200); topLine.VAnchor = VAnchor.ParentBottomTop; topLine.Margin = new BorderDouble(8, 0); + topLine.Cursor = Cursors.Hand; return topLine; } @@ -243,6 +246,15 @@ namespace MatterHackers.MatterControl PrinterCommunication.Instance.ActivePrintItemChanged.RegisterEvent(onActivePrintItemChanged, ref unregisterEvents); MainSlidePanel.Instance.ReloadPanelTrigger.RegisterEvent(ReloadBackPanel, ref unregisterEvents); this.BoundsChanged += new EventHandler(onBoundsChanges); + RightBorderLine.Click += new ClickWidget.ButtonEventHandler(onRightBorderClick); ; + + } + + void onRightBorderClick(object sender, EventArgs e) + { + ColumnThree.Visible = !ColumnThree.Visible; + ColThreeIsHidden = !ColumnThree.Visible; + } void onActivePrintItemChanged(object sender, EventArgs e) @@ -270,6 +282,8 @@ namespace MatterHackers.MatterControl void SetVisibleStatus() { + bool ColThreeVisible = ColumnThree.Visible; + if (this.Width < ColumnThreeMinWidth) { ColumnThree.Visible = false; @@ -287,8 +301,9 @@ namespace MatterHackers.MatterControl } else if (this.Width < ColumnTwoMinWidth) { - ColumnThree.Visible = true; + ColumnTwo.Visible = false; + ColumnThree.Visible = !ColThreeIsHidden; ColumnOne.RemoveAllChildren(); ColumnOne.AddChild(new ActionBarPlus()); @@ -297,12 +312,12 @@ namespace MatterHackers.MatterControl ColumnOne.AnchorAll(); ColumnOne.Visible = true; - LeftBorderLine.Visible = true; - RightBorderLine.Visible = false; + LeftBorderLine.Visible = false; + RightBorderLine.Visible = true; } else { - ColumnThree.Visible = true; + ColumnThree.Visible = !ColThreeIsHidden; ColumnTwo.Visible = true; ColumnOne.RemoveAllChildren(); @@ -385,7 +400,8 @@ namespace MatterHackers.MatterControl { PrintQueue.PrintQueueControl.Instance.ItemAdded.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); PrintQueue.PrintQueueControl.Instance.ItemRemoved.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); - MainSlidePanel.Instance.SetUpdateNotificationTrigger.RegisterEvent(SetUpdateNotification, ref unregisterEvents); + MainSlidePanel.Instance.SetUpdateNotificationTrigger.RegisterEvent(SetUpdateNotification, ref unregisterEvents); + } public void SetUpdateNotification(object sender, EventArgs widgetEvent)