private static void SendEventToTarget(EventBase evt) { bool flag = evt.target != null; if (flag) { EventDispatchUtilities.PropagateEvent(evt); } }
static bool SendEventToRegularTarget(EventBase evt, BaseVisualElementPanel panel) { if (!(evt.target is VisualElement ve)) return false; if (ve.panel == panel) EventDispatchUtilities.PropagateEvent(evt); return IsDone(evt); }
static bool SendEventToRegularTarget(EventBase evt, BaseVisualElementPanel panel) { if (evt.target == null) { return(false); } EventDispatchUtilities.PropagateEvent(evt); return(IsDone(evt)); }
private static bool SendEventToRegularTarget(EventBase evt, BaseVisualElementPanel panel) { bool flag = evt.target == null; bool result; if (flag) { result = false; } else { EventDispatchUtilities.PropagateEvent(evt); result = MouseEventDispatchingStrategy.IsDone(evt); } return(result); }
static bool SendEventToRegularTarget(EventBase evt, BaseVisualElementPanel panel) { if (evt.target == null) { return(false); } EventDispatchUtilities.PropagateEvent(evt); if (evt.target is IMGUIContainer) { evt.propagateToIMGUI = true; evt.skipElements.Add(evt.target); } return(IsDone(evt)); }
public void DispatchEvent(EventBase evt, IPanel panel) { bool flag = panel != null; if (flag) { Focusable leafFocusedElement = panel.focusController.GetLeafFocusedElement(); bool flag2 = leafFocusedElement != null; if (flag2) { bool isIMGUIContainer = leafFocusedElement.isIMGUIContainer; if (isIMGUIContainer) { IMGUIContainer iMGUIContainer = (IMGUIContainer)leafFocusedElement; bool flag3 = !evt.Skip(iMGUIContainer) && iMGUIContainer.SendEventToIMGUI(evt, true, true); if (flag3) { evt.StopPropagation(); evt.PreventDefault(); } bool flag4 = !evt.isPropagationStopped && evt.propagateToIMGUI; if (flag4) { evt.skipElements.Add(iMGUIContainer); EventDispatchUtilities.PropagateToIMGUIContainer(panel.visualTree, evt); } } else { evt.target = panel.focusController.GetLeafFocusedElement(); EventDispatchUtilities.PropagateEvent(evt); bool flag5 = !evt.isPropagationStopped && evt.propagateToIMGUI; if (flag5) { EventDispatchUtilities.PropagateToIMGUIContainer(panel.visualTree, evt); } } } else { EventDispatchUtilities.PropagateToIMGUIContainer(panel.visualTree, evt); } } evt.propagateToIMGUI = false; evt.stopDispatch = true; }
public void DispatchEvent(EventBase evt, IPanel panel) { bool flag = evt.target != null; if (flag) { evt.propagateToIMGUI = (evt.target is IMGUIContainer); EventDispatchUtilities.PropagateEvent(evt); } else { bool flag2 = !evt.isPropagationStopped && panel != null; if (flag2) { bool flag3 = evt.propagateToIMGUI || evt.eventTypeId == EventBase <MouseEnterWindowEvent> .TypeId() || evt.eventTypeId == EventBase <MouseLeaveWindowEvent> .TypeId(); if (flag3) { EventDispatchUtilities.PropagateToIMGUIContainer(panel.visualTree, evt); } } } evt.stopDispatch = true; }
public virtual void DispatchEvent(EventBase evt, IPanel panel) { IMouseEvent mouseEvent = evt as IMouseEvent; // FIXME: we should not change hover state when capture is true. // However, when doing drag and drop, drop target should be highlighted. // TODO when EditorWindow is docked MouseLeaveWindow is not always sent // this is a problem in itself but it could leave some elements as "hover" BaseVisualElementPanel basePanel = panel as BaseVisualElementPanel; if (basePanel != null && (evt.eventTypeId == MouseLeaveWindowEvent.TypeId() || evt.eventTypeId == DragExitedEvent.TypeId())) { basePanel.SetElementUnderMouse(null, evt); } else { // update element under mouse and fire necessary events if (basePanel != null) { bool shouldRecomputeTopElementUnderMouse = true; if ((IMouseEventInternal)mouseEvent != null) { shouldRecomputeTopElementUnderMouse = ((IMouseEventInternal)mouseEvent).recomputeTopElementUnderMouse; } VisualElement elementUnderMouse = shouldRecomputeTopElementUnderMouse ? basePanel.Pick(mouseEvent.mousePosition) : basePanel.topElementUnderMouse; if (evt.target == null) { evt.target = elementUnderMouse; } // Because events are queued, we can set the element under mouse // right now, instead of waiting after the PropagateEvent() as we // did before. basePanel.SetElementUnderMouse(elementUnderMouse, evt); } if (evt.target != null) { evt.propagateToIMGUI = false; EventDispatchUtilities.PropagateEvent(evt); } } if (!evt.isPropagationStopped && panel != null) { if (evt.propagateToIMGUI || evt.eventTypeId == MouseEnterWindowEvent.TypeId() || evt.eventTypeId == MouseLeaveWindowEvent.TypeId() ) { EventDispatchUtilities.PropagateToIMGUIContainer(panel.visualTree, evt); } } evt.stopDispatch = true; }