Get the under menu not to open hover effect.

This commit is contained in:
Lars Brubaker 2016-12-20 09:46:43 -08:00
parent 9732594728
commit 648f066582
4 changed files with 91 additions and 64 deletions

View file

@ -81,8 +81,8 @@ namespace MatterHackers.MatterControl.PrintLibrary
this.IsViewHelperItem = false;
this.EnableSlideInActions = true;
MouseEnterBounds += (s, e) => EnteredBounds();
MouseLeaveBounds += (s, e) => EnteredBounds();
MouseEnterBounds += (s, e) => UpdateHoverState();
MouseLeaveBounds += (s, e) => UpdateHoverState();
}
public string ItemName { get; protected set; }
@ -308,29 +308,38 @@ namespace MatterHackers.MatterControl.PrintLibrary
#endregion Abstract Functions
void EnteredBounds()
public override void OnMouseMove(MouseEventArgs mouseEvent)
{
switch (UnderMouseState)
UpdateHoverState();
base.OnMouseMove(mouseEvent);
}
void UpdateHoverState()
{
UiThread.RunOnIdle(() =>
{
case UnderMouseState.NotUnderMouse:
IsHoverItem = false;
break;
case UnderMouseState.FirstUnderMouse:
IsHoverItem = true;
break;
case UnderMouseState.UnderMouseNotFirst:
if (ContainsFirstUnderMouseRecursive())
{
IsHoverItem = true;
}
else
{
switch (UnderMouseState)
{
case UnderMouseState.NotUnderMouse:
IsHoverItem = false;
}
break;
}
break;
case UnderMouseState.FirstUnderMouse:
IsHoverItem = true;
break;
case UnderMouseState.UnderMouseNotFirst:
if (ContainsFirstUnderMouseRecursive())
{
IsHoverItem = true;
}
else
{
IsHoverItem = false;
}
break;
}
});
}
private void AddHandlers()