Example #1
0
    private void SettingsUI()
    {
        BeginWindows();
        windowPosition = GUI.Window(windowId, windowPosition, id =>
        {
            if (id != windowId)
            {
                return;
            }
            scrollPos = GUILayout.BeginScrollView(scrollPos, GUILayout.Width(windowPosition.width - 8));

            GUIContent guiContent = new GUIContent(mode.ToString());
            GUILayout.BeginHorizontal();
            if (EditorGUILayout.DropdownButton(guiContent, FocusType.Passive))
            {
                Rect r           = GUILayoutUtility.GetLastRect();
                GenericMenu menu = new GenericMenu();
                foreach (EdgeRoutingMode value in Enum.GetValues(typeof(EdgeRoutingMode)))
                {
                    menu.AddItem(new GUIContent(value.ToString()), value == mode, () =>
                    {
                        mode = value;
                        RunLayout();
                    });
                }
                menu.DropDown(r);
            }
            if (GUILayout.Button("CENTER"))
            {
                ResetPosition();
            }
            GUILayout.EndHorizontal();
            GUI.DragWindow();

            infos = infos ?? GetInfos(typeof(SugiyamaLayoutSettings));

            foreach (MemberInfo info in infos)
            {
                string name  = info.Name;
                object value = info.GetValue(settings);
                if (value != null)
                {
                    name += " " + value;
                }

                IEnumerable <Attribute> att = info.GetCustomAttributes(typeof(DescriptionAttribute));
                if (att.Any())
                {
                    DescriptionAttribute desc = att.First() as DescriptionAttribute;
                    if (desc != null)
                    {
                        name += " (" + desc.Description + ")";
                    }
                }
                GUILayout.Label(name);
            }
            GUILayout.EndScrollView();
        }, "Settings");
        EndWindows();
    }
Example #2
0
    private void SettingsUI()
    {
        Rect r = new Rect(0, 0, 60, 20);

        if (EditorGUI.DropdownButton(r, new GUIContent(mode.ToString()), FocusType.Passive))
        {
            GenericMenu menu = new GenericMenu();
            foreach (EdgeRoutingMode value in Enum.GetValues(typeof(EdgeRoutingMode)))
            {
                menu.AddItem(new GUIContent(value.ToString()), value == mode, () =>
                {
                    mode = value;
                    RunLayout();
                });
            }
            menu.DropDown(r);
        }
    }