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(); }
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); } }