public override void OnGUI() { base.OnGUI(); EditorGUI.BeginDisabledGroup(m_ObjectsControl.progress.value < 1); using (new EditorGUILayout.HorizontalScope()) { using (new EditorGUILayout.VerticalScope()) { using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel)) { using (new EditorGUILayout.HorizontalScope()) { var text = string.Format("{0} managed object duplicate(s) wasting {1} memory", m_ObjectsControl.managedObjectsCount, EditorUtility.FormatBytes(m_ObjectsControl.managedObjectsSize)); window.SetStatusbarString(text); EditorGUILayout.LabelField(titleContent, EditorStyles.boldLabel); if (m_ObjectsSearchField.OnToolbarGUI()) { m_ObjectsControl.Search(m_ObjectsSearchField.text); } } GUILayout.Space(2); m_ObjectsControl.OnGUI(); } m_SplitterVertConnections = HeEditorGUILayout.VerticalSplitter("m_splitterVertConnections".GetHashCode(), m_SplitterVertConnections, 0.1f, 0.8f, window); using (new EditorGUILayout.HorizontalScope(GUILayout.Height(window.position.height * m_SplitterVertConnections))) { m_ConnectionsView.OnGUI(); } } m_SplitterHorzPropertyGrid = HeEditorGUILayout.HorizontalSplitter("m_splitterHorzPropertyGrid".GetHashCode(), m_SplitterHorzPropertyGrid, 0.1f, 0.6f, window); using (new EditorGUILayout.VerticalScope()) { using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Width(window.position.width * m_SplitterHorzPropertyGrid))) { m_PropertyGridView.OnGUI(); } m_SplitterVertRootPath = HeEditorGUILayout.VerticalSplitter("m_splitterVertRootPath".GetHashCode(), m_SplitterVertRootPath, 0.1f, 0.8f, window); using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Width(window.position.width * m_SplitterHorzPropertyGrid), GUILayout.Height(window.position.height * m_SplitterVertRootPath))) { m_RootPathView.OnGUI(); } } } EditorGUI.EndDisabledGroup(); if (m_ObjectsControl.progress.value < 1) { window.SetBusy(string.Format("Analyzing Managed Objects Memory, {0:F0}% done", m_ObjectsControl.progress.value * 100)); } }
public override void OnGUI() { base.OnGUI(); using (new EditorGUILayout.HorizontalScope()) { using (new EditorGUILayout.VerticalScope()) { using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel)) { using (new EditorGUILayout.HorizontalScope()) { OnDrawHeader(); if (m_ObjectsSearchField.OnToolbarGUI()) { m_ObjectsControl.Search(m_ObjectsSearchField.text); } } GUILayout.Space(2); UnityEngine.Profiling.Profiler.BeginSample("m_objectsControl.OnGUI"); m_ObjectsControl.OnGUI(); UnityEngine.Profiling.Profiler.EndSample(); } m_SplitterVertConnections = HeEditorGUILayout.VerticalSplitter("m_splitterVertConnections".GetHashCode(), m_SplitterVertConnections, 0.1f, 0.8f, window); using (new EditorGUILayout.HorizontalScope(GUILayout.Height(window.position.height * m_SplitterVertConnections))) { m_ConnectionsView.OnGUI(); } } m_SplitterHorzPropertyGrid = HeEditorGUILayout.HorizontalSplitter("m_splitterHorzPropertyGrid".GetHashCode(), m_SplitterHorzPropertyGrid, 0.1f, 0.6f, window); using (new EditorGUILayout.VerticalScope()) { using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Width(window.position.width * m_SplitterHorzPropertyGrid))) { m_PropertyGridView.OnGUI(); } m_SplitterVertRootPath = HeEditorGUILayout.VerticalSplitter("m_splitterVertRootPath".GetHashCode(), m_SplitterVertRootPath, 0.1f, 0.8f, window); using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Width(window.position.width * m_SplitterHorzPropertyGrid), GUILayout.Height(window.position.height * m_SplitterVertRootPath))) { m_RootPathView.OnGUI(); } } } }
void DrawDataVisualizer() { if (m_DataVisualizer == null) { return; } GUILayout.Space(2); splitterDataVisualizer = HeEditorGUILayout.VerticalSplitter("splitterDataVisualizer".GetHashCode(), splitterDataVisualizer, 0.1f, 0.6f, window); GUILayout.Space(2); using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Height(window.position.height * splitterDataVisualizer))) { using (new EditorGUILayout.HorizontalScope()) { // We draw a dataVisualizer always, but don't display the content of the fallback visualizer. // This is to keep the UI free from hiding/showing the visualizer panel and keep it more stable. // TODO: This is actually a HACK until I fixed the default preview if (!m_DataVisualizer.isFallback) { EditorGUILayout.LabelField("Preview", EditorStyles.boldLabel); } if (m_DataVisualizer.hasMenu) { GUILayout.FlexibleSpace(); if (GUILayout.Button(new GUIContent("", "Open menu"), HeEditorStyles.paneOptions, GUILayout.Width(20))) { m_DataVisualizer.ShowMenu(); } } } GUILayout.Space(4); using (var scrollView = new EditorGUILayout.ScrollViewScope(m_DataVisualizerScrollPos)) { m_DataVisualizerScrollPos = scrollView.scrollPosition; m_DataVisualizer.GUI(); } } }
public override void OnGUI() { base.OnGUI(); using (new EditorGUILayout.HorizontalScope()) { using (new EditorGUILayout.VerticalScope()) { using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel)) { using (new EditorGUILayout.HorizontalScope()) { var text = string.Format("{0} static fields in {1} types", snapshot.managedStaticFields.Length, snapshot.managedStaticTypes.Length); window.SetStatusbarString(text); EditorGUILayout.LabelField(titleContent, EditorStyles.boldLabel); if (m_SearchField.OnToolbarGUI()) { m_StaticFieldsControl.Search(m_SearchField.text); } } GUILayout.Space(2); m_StaticFieldsControl.OnGUI(); } m_SplitterVert = HeEditorGUILayout.VerticalSplitter("m_splitterVert".GetHashCode(), m_SplitterVert, 0.1f, 0.8f, window); using (new EditorGUILayout.HorizontalScope(GUILayout.Height(window.position.height * m_SplitterVert))) { m_ConnectionsView.OnGUI(); } } m_SplitterHorz = HeEditorGUILayout.HorizontalSplitter("m_splitterHorz".GetHashCode(), m_SplitterHorz, 0.1f, 0.8f, window); using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Width(window.position.width * m_SplitterHorz))) { m_PropertyGridView.OnGUI(); } } }
public override void OnGUI() { base.OnGUI(); using (new EditorGUILayout.HorizontalScope()) { using (new EditorGUILayout.VerticalScope()) { using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel)) { using (new EditorGUILayout.HorizontalScope()) { EditorGUILayout.LabelField(string.Format("{0} GCHandle(s)", snapshot.gcHandles.Length), EditorStyles.boldLabel); if (m_HandlesSearchField.OnToolbarGUI()) { m_HandlesControl.Search(m_HandlesSearchField.text); } } GUILayout.Space(2); m_HandlesControl.OnGUI(); } m_SplitterVert = HeEditorGUILayout.VerticalSplitter("m_splitterVert".GetHashCode(), m_SplitterVert, 0.1f, 0.8f, window); using (new EditorGUILayout.HorizontalScope(GUILayout.Height(window.position.height * m_SplitterVert))) { m_ConnectionsView.OnGUI(); } } m_SplitterHorz = HeEditorGUILayout.HorizontalSplitter("m_splitterHorz".GetHashCode(), m_SplitterHorz, 0.1f, 0.8f, window); using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Width(window.position.width * m_SplitterHorz))) { m_RootPathView.OnGUI(); } } }
public override void OnGUI() { base.OnGUI(); using (new EditorGUILayout.HorizontalScope()) { using (new EditorGUILayout.VerticalScope()) { // Native objects list at the left side using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel)) { using (new EditorGUILayout.HorizontalScope()) { OnDrawHeader(); if (m_SearchField.OnToolbarGUI()) { m_NativeObjectsControl.Search(m_SearchField.text); } } GUILayout.Space(2); m_NativeObjectsControl.OnGUI(); } m_SplitterVert = HeEditorGUILayout.VerticalSplitter("m_splitterVert".GetHashCode(), m_SplitterVert, 0.1f, 0.8f, window); using (new EditorGUILayout.HorizontalScope(GUILayout.Height(window.position.height * m_SplitterVert))) { m_ConnectionsView.OnGUI(); } } m_SplitterHorz = HeEditorGUILayout.HorizontalSplitter("m_splitterHorz".GetHashCode(), m_SplitterHorz, 0.1f, 0.8f, window); // Various panels at the right side using (new EditorGUILayout.VerticalScope(GUILayout.Width(window.position.width * m_SplitterHorz))) { using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel)) { using (new EditorGUILayout.HorizontalScope(GUILayout.MaxWidth(16))) { if (m_Selected.HasValue) { HeEditorGUI.NativeObjectIcon(GUILayoutUtility.GetRect(16, 16), m_Selected.Value); //GUI.DrawTexture(r, HeEditorStyles.assetImage); } EditorGUILayout.LabelField("Native UnityEngine object", EditorStyles.boldLabel); } GUILayout.Space(2); m_NativeObjectControl.OnGUI(); } m_PreviewSplitterVert = HeEditorGUILayout.VerticalSplitter("m_PreviewSplitterVert".GetHashCode(), m_PreviewSplitterVert, 0.1f, 0.8f, window); using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Height(window.position.height * m_PreviewSplitterVert))) { m_PreviewView.OnGUI(); } m_RootPathSplitterVert = HeEditorGUILayout.VerticalSplitter("m_RootPathSplitterVert".GetHashCode(), m_RootPathSplitterVert, 0.1f, 0.8f, window); using (new EditorGUILayout.VerticalScope(HeEditorStyles.panel, GUILayout.Height(window.position.height * m_RootPathSplitterVert))) { m_RootPathView.OnGUI(); } } } }