refactoring

This commit is contained in:
LarsBrubaker 2020-09-25 23:20:58 -07:00
parent d4ca18a8c7
commit 2029c55029
5 changed files with 983 additions and 978 deletions

View file

@ -181,7 +181,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
public void SetActiveItem(ISceneContext sceneContext)
{
var selectedItem = sceneContext.Scene.SelectedItem;
var selectedItem = sceneContext?.Scene?.SelectedItem;
if (this.item == selectedItem)
{
return;

View file

@ -148,6 +148,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
private void Scene_SelectionChanged(object sender, EventArgs e)
{
var selectedItem = scene.SelectedItem;
UiThread.RunOnIdle(() =>
{
DisposeCurrentSelectionObject3DControls();
@ -155,14 +156,23 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
// On selection change, update state for mappings
Object3DControls.Clear();
if (scene.SelectedItem is IObject3DControlsProvider provider)
if (selectedItem is IObject3DControlsProvider provider)
{
provider.AddObject3DControls(this);
}
else
{
// add default controls
Object3DControls.Add(new ScaleMatrixTopControl(this));
if (selectedItem is IObjectWithHeight heightObject)
{
// Object3DControls.Add(new ScaleHeightControl(this));
Object3DControls.Add(new ScaleMatrixTopControl(this));
}
else
{
Object3DControls.Add(new ScaleMatrixTopControl(this));
}
Object3DControls.Add(new ScaleCornerControl(this, 0));
Object3DControls.Add(new ScaleCornerControl(this, 1));
Object3DControls.Add(new ScaleCornerControl(this, 2));