public override void OnInspectorGUI()
        {
            GUILayout.Label("Relations inspector settings", EditorStyles.boldLabel);
            EditorGUILayout.Space();

            settings.cacheLayouts  = EditorGUILayout.Toggle("Cache layouts", settings.cacheLayouts);
            settings.maxGraphNodes = EditorGUILayout.IntField("Max graph nodes", settings.maxGraphNodes);

            EditorGUI.BeginChangeCheck();
            settings.treeRootLocation = (TreeRootLocation)EditorGUILayout.EnumPopup("Tree root location", settings.treeRootLocation);
            if (EditorGUI.EndChangeCheck() && api != null)
            {
                api.Relayout();
            }

            EditorGUI.BeginChangeCheck();
            settings.showMinimap     = EditorGUILayout.Toggle("Show minimap", settings.showMinimap);
            settings.minimapLocation = (MinimapLocation)EditorGUILayout.EnumPopup("Minimap location", settings.minimapLocation);
            if (EditorGUI.EndChangeCheck() && api != null)
            {
                api.Repaint();
            }

            settings.logToConsole = EditorGUILayout.Toggle("Log to console", settings.logToConsole);
            settings.invertZoom   = EditorGUILayout.Toggle("Invert zoom", settings.invertZoom);
#if DEBUG
            settings.repaintEachFrame = EditorGUILayout.Toggle("Repaint each frame", settings.repaintEachFrame);
            ShowGraphLayoutParams(settings.graphLayoutParameters);
            ShowLayoutTweenParams(settings.layoutTweenParameters);
#endif
            if (GUI.changed)
            {
                EditorUtility.SetDirty(settings);
            }
        }
Exemple #2
0
        public void OnToolbarGUI()
        {
            EditorGUI.BeginChangeCheck();

            if (graph != null && GUILayout.Button("Relayout", EditorStyles.toolbarButton, GUILayout.ExpandWidth(false)))
            {
                Exec(() => api.Relayout());
            }

            // let user pick a layout type (iff tree layout is an option)
            if (graph != null && graph.IsTree())
            {
                layoutType = (LayoutType)GUIUtil.EnumToolbar("", layoutType, (t) => layoutButtonContent[(LayoutType)t], EditorStyles.miniButton);
                if (EditorGUI.EndChangeCheck())
                {
                    GUIUtil.SetPrefsInt(GetPrefsKeyLayout(), (int)layoutType);
                    adjustTransformMode = AdjustTransformMode.Smooth;
                    Exec(DoAutoLayout);
                }
            }

#if DEBUG
            if (GUILayout.Button("DumpTopo", EditorStyles.toolbarButton, GUILayout.ExpandWidth(false)))
            {
                TopologySerializer <T, P> .DumpTopology(graph);
            }
#endif

            // draw view controls
            if (view != null)
            {
                GUILayout.FlexibleSpace();
                view.OnToolbarGUI();
            }
        }