1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using UnityEngine;
- using UnityEngine.UIElements;
-
- namespace UnityEditor.U2D.Layout
- {
- #if ENABLE_UXML_SERIALIZED_DATA
- [UxmlElement]
- #endif
- internal partial class DropdownMenu : VisualElement
- {
- #if ENABLE_UXML_TRAITS
- public class DropdownMenuFactory : UxmlFactory<DropdownMenu, DropdownMenuUxmlTraits> {}
- public class DropdownMenuUxmlTraits : UxmlTraits {}
- #endif
-
- /*
- private ButtonGroup m_ButtonGroup;
-
- public DropdownMenu()
- {
- RegisterCallback<FocusOutEvent>(OnFocusOut, Capture.NoCapture);
- RegisterCallback<MouseLeaveEvent>(OnMouseLeaveEvent);
- }
-
- public void InitialiseWithButtonGroup(ButtonGroup buttonGroup)
- {
- if (m_ButtonGroup == buttonGroup)
- return;
-
- m_ButtonGroup = buttonGroup;
- var buttonGroupLocalPosition = parent.WorldToLocal(new Vector2(buttonGroup.worldBound.x, buttonGroup.worldBound.y));
- style.positionType = PositionType.Absolute;
- style.positionLeft = buttonGroupLocalPosition.x;
- style.positionTop = buttonGroupLocalPosition.y;
- style.flexDirection = buttonGroup.isHorizontal ? FlexDirection.Row : FlexDirection.Column;
- foreach (var element in buttonGroup.elements)
- Add(element);
- }
-
- private void OnMouseLeaveEvent(MouseLeaveEvent evt)
- {
- Close();
- }
-
- private void OnFocusOut(FocusOutEvent evt)
- {
- Close();
- }
-
- private void Close()
- {
- foreach (var element in contentContainer.Children())
- m_ButtonGroup.elements.Add(element);
- this.contentContainer.Clear();
-
- style.width = 0;
- style.height = 0;
- m_ButtonGroup = null;
- }
- */
- }
- }
|