Add persistent GCode sidebar, add db settings to track width

This commit is contained in:
John Lewin 2018-02-16 18:49:36 -08:00
parent 3d924e012e
commit f5287fac1a
3 changed files with 36 additions and 1 deletions

View file

@ -712,6 +712,24 @@ namespace MatterHackers.MatterControl
UserSettings.Instance.set(UserSettingsKey.SelectedObjectPanelWidth, minimumValue.ToString());
}
}
public double GCodePanelWidth
{
get
{
if (double.TryParse(UserSettings.Instance.get(UserSettingsKey.GCodePanelWidth), out double controlWidth))
{
return Math.Max(controlWidth, 150);
}
return 150;
}
set
{
var minimumValue = Math.Max(value, 150);
UserSettings.Instance.set(UserSettingsKey.GCodePanelWidth, minimumValue.ToString());
}
}
}
public class PrinterConfig

View file

@ -55,6 +55,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
private SliceLayerSelector layerScrollbar;
internal PrinterConfig printer;
internal GCode3DWidget gcode3DWidget;
private ResizeContainer gcodeContainer;
internal PrinterActionsBar printerActionsBar;
private DockingTabControl sideBar;
private SliceSettingsWidget sliceSettingsWidget;
@ -160,9 +161,22 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
Name = "GCode3DWidget",
HAnchor = HAnchor.Stretch,
VAnchor = VAnchor.Stretch,
BackgroundColor = theme.InteractionLayerOverlayColor,
Visible = false
};
view3DWidget.InteractionLayer.AddChild(gcode3DWidget, position);
gcodeContainer = new ResizeContainer(gcode3DWidget)
{
Width = printer?.ViewState.GCodePanelWidth ?? 200,
VAnchor = VAnchor.Stretch,
HAnchor = HAnchor.Right,
SpliterBarColor = theme.SplitterBackground,
SplitterWidth = theme.SplitterWidth,
Visible = false,
};
gcodeContainer.AddChild(gcode3DWidget);
view3DWidget.InteractionLayer.AddChild(gcodeContainer, position + 1);
var viewerVolume = sceneContext.ViewerVolume;
@ -229,6 +243,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
view3DWidget.meshViewerWidget.ModelView = viewMode == PartViewMode.Model;
gcodeContainer.Visible = showSliceLayers;
if (showSliceLayers)
{
printer.Bed.Scene.ClearSelection();

View file

@ -24,6 +24,7 @@ namespace MatterHackers.MatterControl
public const string LibraryViewWidth = nameof(LibraryViewWidth);
public const string SelectedObjectPanelWidth = nameof(SelectedObjectPanelWidth);
public const string ConfigurePrinter_CurrentTab = nameof(ConfigurePrinter_CurrentTab);
public const string GCodePanelWidth = nameof(GCodePanelWidth);
}
public class UserSettings