private void RightClickMenuEvent(MouseUpEvent evt) { if (evt.button != (int)MouseButton.RightMouse) { return; } var label = evt.target as Label; if (label == null) { return; } var property = label.userData as SerializedProperty; if (property == null) { return; } var menu = EditorGUI.FillPropertyContextMenu(property); var menuPosition = new Vector2(label.layout.xMin, label.layout.height); menuPosition = label.LocalToWorld(menuPosition); var menuRect = new Rect(menuPosition, Vector2.zero); menu.DropDown(menuRect); evt.PreventDefault(); evt.StopPropagation(); }
void OnMouseUp(MouseUpEvent evt) { if (evt.button != (int)MouseButton.LeftMouse) { evt.StopPropagation(); evt.PreventDefault(); return; } var target = evt.currentTarget as VisualElement; if (!CanStopManipulation(evt)) { return; } target.ReleaseMouse(); if (!m_Active) { return; } if (m_Active) { var currentMouse = evt.mousePosition; if (m_LastHoverElement != null) { var localCanvasMouse = m_Canvas.WorldToLocal(currentMouse); var localHierarchyMouse = builderHierarchyRoot.WorldToLocal(currentMouse); if (m_Canvas.ContainsPoint(localCanvasMouse)) { PerformAction(m_LastHoverElement, DestinationPane.Viewport); } else if (builderHierarchyRoot.ContainsPoint(localHierarchyMouse)) { VisualElement newParent; int index; GetPickedElementFromHoverElement(out newParent, out index); PerformAction(newParent, DestinationPane.Hierarchy, index); } } evt.StopPropagation(); m_Active = false; } else { FailAction(target); } EndDragInner(); }
private void OnMouseUpEvent(MouseUpEvent evt) { if (base.CanStartManipulation(evt)) { if (base.target.elementPanel != null && base.target.elementPanel.contextualMenuManager != null) { base.target.elementPanel.contextualMenuManager.DisplayMenu(evt, base.target); evt.StopPropagation(); evt.PreventDefault(); } } }
internal static void RightClickFieldMenuEvent(MouseUpEvent evt) { if (evt.button != (int)MouseButton.RightMouse) { return; } var element = evt.target as VisualElement; if (element == null) { return; } var property = element.userData as SerializedProperty; if (property == null) { return; } var wasEnabled = GUI.enabled; if (!element.enabledInHierarchy) { GUI.enabled = false; } var menu = EditorGUI.FillPropertyContextMenu(property); GUI.enabled = wasEnabled; var menuPosition = new Vector2(element.layout.xMin, element.layout.height); menuPosition = element.LocalToWorld(menuPosition); var menuRect = new Rect(menuPosition, Vector2.zero); menu.DropDown(menuRect); evt.PreventDefault(); evt.StopPropagation(); }
void OnMouseUp(MouseUpEvent evt) { var target = evt.currentTarget as VisualElement; if (!target.HasMouseCapture() || !m_WeStartedTheDrag) { return; } if (!CanStopManipulation(evt)) { return; } if (target.elementPanel != null && target.elementPanel.contextualMenuManager != null) { target.elementPanel.contextualMenuManager.DisplayMenu(evt, target); evt.PreventDefault(); } target.ReleaseMouse(); m_WeStartedTheDrag = false; evt.StopPropagation(); }
void OnMouseUp(MouseUpEvent evt) { if (evt.button != (int)MouseButton.LeftMouse) { evt.StopPropagation(); evt.PreventDefault(); return; } var target = evt.currentTarget as VisualElement; if (!CanStopManipulation(evt)) { return; } target.ReleaseMouse(); s_CurrentlyActiveBuilderDragger = null; m_WeStartedTheDrag = false; if (!m_Active) { SelectItemOnSingleClick(evt); return; } if (m_Active) { var currentMouse = evt.mousePosition; if (m_LastHoverElement != null) { var localCanvasMouse = viewport != null?m_Canvas.WorldToLocal(currentMouse) : Vector2.zero; var localHierarchyMouse = builderHierarchyRoot != null?builderHierarchyRoot.WorldToLocal(currentMouse) : Vector2.zero; if (viewport != null && m_Canvas.ContainsPoint(localCanvasMouse)) { PerformAction(m_LastHoverElement, DestinationPane.Viewport, localCanvasMouse, m_LastHoverElementChildIndex); } else if (builderHierarchyRoot != null && builderHierarchyRoot.ContainsPoint(localHierarchyMouse)) { VisualElement newParent; int index; GetPickedElementFromHoverElement(out newParent, out index); PerformAction(newParent, DestinationPane.Hierarchy, localHierarchyMouse, index); } } m_Active = false; } else { FailAction(target); } evt.StopPropagation(); EndDragInner(); }