Remove SettingsViewBase type, use existing type of sibling controls

This commit is contained in:
John Lewin 2017-08-06 19:22:47 -07:00
parent cda726c002
commit 0d2967d037
4 changed files with 38 additions and 43 deletions

View file

@ -12,33 +12,46 @@ using MatterHackers.MatterControl.SlicerConfiguration;
using System;
using System.Diagnostics;
using System.IO;
using MatterHackers.MatterControl.PrinterControls;
namespace MatterHackers.MatterControl.ConfigurationPage
{
public class CalibrationSettingsWidget : SettingsViewBase
public class CalibrationSettingsWidget : ControlWidgetBase
{
private DisableableWidget printLevelingContainer;
private EventHandler unregisterEvents;
private EditLevelingSettingsWindow editLevelingSettingsWindow;
private TextWidget printLevelingStatusLabel;
Button runPrintLevelingButton;
private Button runPrintLevelingButton;
public CalibrationSettingsWidget(TextImageButtonFactory buttonFactory)
: base("Calibration".Localize(), buttonFactory)
private TextImageButtonFactory buttonFactory;
public CalibrationSettingsWidget(TextImageButtonFactory buttonFactory, int headingPointSize)
{
var mainContainer = new AltGroupBox(new TextWidget("Calibration".Localize(), pointSize: headingPointSize, textColor: ActiveTheme.Instance.SecondaryAccentColor))
{
Margin = new BorderDouble(0),
BorderColor = ActiveTheme.Instance.PrimaryTextColor,
HAnchor = HAnchor.ParentLeftRight,
VAnchor = VAnchor.FitToChildren
};
this.AddChild(mainContainer);
var container = new FlowLayoutWidget(FlowDirection.TopToBottom)
{
HAnchor = HAnchor.ParentLeftRight,
VAnchor = VAnchor.FitToChildren,
Padding = new BorderDouble(3, 0)
};
mainContainer.AddChild(container);
this.buttonFactory = buttonFactory;
printLevelingContainer = new DisableableWidget();
if (!ActiveSliceSettings.Instance.GetValue<bool>(SettingsKey.has_hardware_leveling))
{
printLevelingContainer.AddChild(GetAutoLevelControl());
mainContainer.AddChild(printLevelingContainer);
container.AddChild(GetAutoLevelControl());
}
mainContainer.AddChild(new HorizontalLine(50));
AddChild(mainContainer);
container.AddChild(CreateSeparatorLine());
PrinterConnection.Instance.CommunicationStateChanged.RegisterEvent(PrinterStatusChanged, ref unregisterEvents);
PrinterConnection.Instance.EnableChanged.RegisterEvent(PrinterStatusChanged, ref unregisterEvents);
@ -52,7 +65,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
{
Name = "AutoLevelRowItem",
HAnchor = HAnchor.ParentLeftRight,
Margin = new BorderDouble(0, 4),
Margin = new BorderDouble(0, 8, 0, 4)
};
ImageBuffer levelingImage = StaticData.Instance.LoadIcon("leveling_32x32.png", 24, 24).InvertLightness();
@ -155,12 +168,12 @@ namespace MatterHackers.MatterControl.ConfigurationPage
|| PrinterConnection.Instance.CommunicationState == CommunicationStates.Printing
|| PrinterConnection.Instance.PrinterIsPaused)
{
printLevelingContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
this.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
runPrintLevelingButton.Enabled = true; // setting this true when the element is disabled makes the colors stay correct
}
else
{
printLevelingContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
this.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
runPrintLevelingButton.Enabled = PrinterConnection.Instance.PrinterIsConnected;
}
}

View file

@ -1,25 +0,0 @@
using MatterHackers.Agg;
using MatterHackers.Agg.UI;
namespace MatterHackers.MatterControl.ConfigurationPage
{
public class SettingsViewBase : AltGroupBox
{
protected FlowLayoutWidget mainContainer;
protected TextImageButtonFactory buttonFactory;
public SettingsViewBase(string title, TextImageButtonFactory buttonFactory)
: base(new TextWidget(title, pointSize: 18, textColor: ActiveTheme.Instance.SecondaryAccentColor))
{
this.buttonFactory = buttonFactory;
this.Margin = new BorderDouble(2, 4, 2, 0);
mainContainer = new FlowLayoutWidget(Agg.UI.FlowDirection.TopToBottom)
{
HAnchor = HAnchor.ParentLeftRight,
Margin = new BorderDouble(left: 6)
};
}
}
}

View file

@ -158,7 +158,6 @@
<Compile Include="ConfigurationPage\PrintLeveling\LevelWizard3Point.cs" />
<Compile Include="ConfigurationPage\PrintLeveling\LevelWizardBase.cs" />
<Compile Include="ConfigurationPage\PrintLeveling\PrintLevelingData.cs" />
<Compile Include="ConfigurationPage\SettingsViewBase.cs" />
<Compile Include="ControlElements\ConditionalClickWidget.cs" />
<Compile Include="ControlElements\AttentionGetter.cs" />
<Compile Include="CustomWidgets\AltGroupBox.cs" />

View file

@ -76,6 +76,7 @@ namespace MatterHackers.MatterControl
private DisableableWidget actionControlsContainer;
private DisableableWidget tuningAdjustmentControlsContainer;
private MovementControls movementControlsContainer;
private DisableableWidget calibrationControlsContainer;
private EventHandler unregisterEvents;
@ -107,7 +108,8 @@ namespace MatterHackers.MatterControl
if (!ActiveSliceSettings.Instance.GetValue<bool>(SettingsKey.has_hardware_leveling))
{
controlsTopToBottomLayout.AddChild(new CalibrationSettingsWidget(ApplicationController.Instance.Theme.ButtonFactory));
calibrationControlsContainer = new CalibrationSettingsWidget(ApplicationController.Instance.Theme.ButtonFactory, headingPointSize);
controlsTopToBottomLayout.AddChild(calibrationControlsContainer);
}
macroControlsContainer = new MacroControls(headingPointSize);
@ -160,6 +162,7 @@ namespace MatterHackers.MatterControl
fanControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
macroControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
actionControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
calibrationControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
tuningAdjustmentControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
}
else // we at least have a printer selected
@ -176,6 +179,7 @@ namespace MatterHackers.MatterControl
macroControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.ConfigOnly);
actionControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
tuningAdjustmentControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
calibrationControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
foreach (var widget in movementControlsContainer.DisableableWidgets)
{
@ -192,6 +196,7 @@ namespace MatterHackers.MatterControl
macroControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
actionControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
tuningAdjustmentControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
calibrationControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
foreach (var widget in movementControlsContainer.DisableableWidgets)
{
@ -206,6 +211,7 @@ namespace MatterHackers.MatterControl
macroControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.ConfigOnly);
actionControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
tuningAdjustmentControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
calibrationControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
break;
case CommunicationStates.PreparingToPrint:
@ -220,8 +226,9 @@ namespace MatterHackers.MatterControl
macroControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.ConfigOnly);
actionControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
tuningAdjustmentControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
calibrationControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
foreach(var widget in movementControlsContainer.DisableableWidgets)
foreach (var widget in movementControlsContainer.DisableableWidgets)
{
widget?.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
}
@ -240,6 +247,7 @@ namespace MatterHackers.MatterControl
macroControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
actionControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
tuningAdjustmentControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
calibrationControlsContainer?.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
foreach (var widget in movementControlsContainer.DisableableWidgets)
{