Make SliceSettingsWidget require a SettingsContext

This commit is contained in:
John Lewin 2017-09-03 18:50:44 +03:00
parent 9180598ff3
commit 155e33f120
3 changed files with 19 additions and 11 deletions

View file

@ -588,7 +588,13 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
if (printerConnection.PrinterSettings.PrinterSelected)
{
sideBar.AddPage("Slice Settings".Localize(), new SliceSettingsWidget(printerConnection));
sideBar.AddPage(
"Slice Settings".Localize(),
new SliceSettingsWidget(
printerConnection,
new SettingsContext(
null,
SlicerConfiguration.NamedSettingsLayers.All)));
}
else
{

View file

@ -145,14 +145,16 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
private GuiWidget CreateSliceSettingsWidget(PrinterSettingsLayer persistenceLayer)
{
var layerCascade = new List<PrinterSettingsLayer>
{
persistenceLayer,
ActiveSliceSettings.Instance.OemLayer,
ActiveSliceSettings.Instance.BaseLayer
};
var settingsContext = new SettingsContext(
new List<PrinterSettingsLayer>
{
persistenceLayer,
ActiveSliceSettings.Instance.OemLayer,
ActiveSliceSettings.Instance.BaseLayer
},
presetsContext.LayerType);
return new SliceSettingsWidget(printerConnection, layerCascade, presetsContext.LayerType)
return new SliceSettingsWidget(printerConnection, settingsContext)
{
ShowControlBar = false
};
@ -232,4 +234,4 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return container;
}
}
}
}

View file

@ -79,12 +79,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
private EventHandler unregisterEvents;
public SliceSettingsWidget(PrinterConnection printerConnection, List<PrinterSettingsLayer> layerCascade = null, NamedSettingsLayers viewFilter = NamedSettingsLayers.All)
public SliceSettingsWidget(PrinterConnection printerConnection, SettingsContext settingsContext)
{
this.printerConnection = printerConnection;
this.BackgroundColor = ApplicationController.Instance.Theme.TabBodyBackground;
this.settingsContext = new SettingsContext(layerCascade, viewFilter);
this.settingsContext = settingsContext;
pageTopToBottomLayout = new FlowLayoutWidget(FlowDirection.TopToBottom)
{