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