Refactoring for move passing to all object3d controls
This commit is contained in:
parent
f166728aa1
commit
34a63956f9
10 changed files with 34 additions and 30 deletions
|
|
@ -216,7 +216,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
base.OnMouseDown(mouseEvent3D);
|
||||
}
|
||||
|
||||
public override void OnMouseMove(Mouse3DEventArgs mouseEvent3D)
|
||||
public override void OnMouseMove(Mouse3DEventArgs mouseEvent3D, bool mouseIsOver)
|
||||
{
|
||||
var selectedItem = RootSelection;
|
||||
ActiveSelectedItem = selectedItem;
|
||||
|
|
@ -260,7 +260,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
}
|
||||
}
|
||||
|
||||
base.OnMouseMove(mouseEvent3D);
|
||||
base.OnMouseMove(mouseEvent3D, mouseIsOver);
|
||||
}
|
||||
|
||||
public override void OnMouseUp(Mouse3DEventArgs mouseEvent3D)
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ namespace MatterHackers.MeshVisualizer
|
|||
|
||||
void OnMouseDown(Mouse3DEventArgs mouseEvent3D);
|
||||
|
||||
void OnMouseMove(Mouse3DEventArgs mouseEvent3D);
|
||||
void OnMouseMove(Mouse3DEventArgs mouseEvent3D, bool mouseIsOver);
|
||||
|
||||
void OnMouseUp(Mouse3DEventArgs mouseEvent3D);
|
||||
|
||||
|
|
|
|||
|
|
@ -55,8 +55,6 @@ namespace MatterHackers.MeshVisualizer
|
|||
|
||||
protected bool MouseDownOnControl { get; set; }
|
||||
|
||||
public IntersectInfo MouseMoveInfo { get; set; }
|
||||
|
||||
public abstract void Dispose();
|
||||
|
||||
public bool MouseIsOver
|
||||
|
|
@ -125,8 +123,9 @@ namespace MatterHackers.MeshVisualizer
|
|||
}
|
||||
}
|
||||
|
||||
public virtual void OnMouseMove(Mouse3DEventArgs mouseEvent3D)
|
||||
public virtual void OnMouseMove(Mouse3DEventArgs mouseEvent3D, bool mouseIsOver)
|
||||
{
|
||||
this.MouseIsOver = mouseIsOver;
|
||||
}
|
||||
|
||||
public virtual void OnMouseUp(Mouse3DEventArgs mouseEvent3D)
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
if (MouseDownOnObject3DControlVolume && mouseDownObject3DControl != null)
|
||||
{
|
||||
mouseDownObject3DControl.OnMouseMove(mouseEvent3D);
|
||||
mouseDownObject3DControl.OnMouseMove(mouseEvent3D, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -299,22 +299,17 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
var object3DControls = this.Object3DControls;
|
||||
|
||||
foreach (var object3DControl in object3DControls.OfType<Object3DControl>())
|
||||
foreach (var object3DControl in object3DControls.OfType<IObject3DControl>())
|
||||
{
|
||||
if (hitObject3DControl == object3DControl)
|
||||
{
|
||||
object3DControl.MouseIsOver = true;
|
||||
object3DControl.MouseMoveInfo = info;
|
||||
HoveredObject3DControl = object3DControl;
|
||||
object3DControl.OnMouseMove(mouseEvent3D, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
object3DControl.MouseIsOver = false;
|
||||
object3DControl.MouseMoveInfo = null;
|
||||
object3DControl.OnMouseMove(mouseEvent3D, false);
|
||||
}
|
||||
|
||||
// TODO: Why do non-hit volumes get mouse move?
|
||||
object3DControl.OnMouseMove(mouseEvent3D);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue