private void DrawToolbar(ref Rect contentRect) { #if UNITY_2019_3_OR_NEWER var toolbarSize = 22; #else var toolbarSize = 18; #endif contentRect.y += toolbarSize; contentRect.height -= toolbarSize; GUILayout.BeginArea(new Rect(0, 0, contentRect.width, toolbarSize)); EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); var clearButton = GUILayout.Button(_clearContent, EditorStyles.toolbarButton, GUILayout.Height(45f)); GUILayout.Space(5f); ShowReceived = GUILayout.Toggle(ShowReceived, _recevedContent, EditorStyles.toolbarButton); ShowTransmitted = GUILayout.Toggle(ShowTransmitted, _transmittedContent, EditorStyles.toolbarButton); GUILayout.FlexibleSpace(); GUILayout.Space(5f); _filterDrawer.Draw(); GUILayout.Space(5f); TrackLast = GUILayout.Toggle(TrackLast, _trackLastContent, EditorStyles.toolbarButton); GUILayout.Space(5f); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); GUILayout.EndArea(); if (clearButton) { OSCWindowConsole.Clear(); SelectedMessage = null; } }
private void DrawToolbar(Rect contentRect) { GUILayout.BeginArea(new Rect(0, 0, contentRect.width, 18)); EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); var clearButton = GUILayout.Button(_clearContent, EditorStyles.toolbarButton, GUILayout.Height(45f)); GUILayout.Space(5f); _showReceived = GUILayout.Toggle(_showReceived, _recevedContent, EditorStyles.toolbarButton); _showTransmitted = GUILayout.Toggle(_showTransmitted, _transmittedContent, EditorStyles.toolbarButton); GUILayout.FlexibleSpace(); GUILayout.Space(5f); //GUILayout.Label(_filterContent); _filterDrawer.Draw(); GUILayout.Space(5f); _trackLast = GUILayout.Toggle(_trackLast, _trackLastContent, EditorStyles.toolbarButton); GUILayout.Space(5f); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); GUILayout.EndArea(); if (clearButton) { OSCWindowConsole.Clear(); _selectedMessage = null; } }
protected override void DrawContent(Rect contentRect) { // TOOLBAR DrawToolbar(contentRect); contentRect.y += 18; contentRect.height -= 18; _lastContentRect = new Rect(contentRect); _consoleBuffer = OSCWindowConsole.GetConsoleBuffer(_showTransmitted, _showReceived, _filterDrawer.FilterValue); if (_trackLast) { if (_consoleBuffer.Length > 0) { _selectedMessage = _consoleBuffer[0]; } else { _selectedMessage = null; } } var viewRect = new Rect(contentRect); viewRect.height = _consoleBuffer.Length * _lineHeight; if (viewRect.height > contentRect.height) { viewRect.width -= 15f; } var itemRect = new Rect(0, viewRect.y, viewRect.width, _lineHeight); _scrollPosition = GUI.BeginScrollView(contentRect, _scrollPosition, viewRect); var drawed = false; for (var index = 0; index < _consoleBuffer.Length; index++) { var drawItem = !((itemRect.y + itemRect.height < _scrollPosition.y) || (itemRect.y > _scrollPosition.y + contentRect.height + itemRect.height)); if (drawItem) { drawed = true; var consoleMessage = _consoleBuffer[index]; var selected = _selectedMessage == consoleMessage; var color = GUI.color; DrawItem(itemRect, index, consoleMessage, selected); GUI.color = color; if (Event.current.type == EventType.MouseDown && itemRect.Contains(Event.current.mousePosition)) { GUIUtility.keyboardControl = 0; if (Event.current.button == 0) { _trackLast = false; if (_selectedMessage != consoleMessage) { _selectedMessage = consoleMessage; _parentWindow.Repaint(); } Event.current.Use(); } else if (Event.current.button == 1) { ShowMessageGenericMenu(consoleMessage); Event.current.Use(); } } } else if (drawed) { break; } itemRect.y += itemRect.height; } GUI.EndScrollView(true); }
protected override void DrawContent(ref Rect contentRect) { // TOOLBAR DrawToolbar(ref contentRect); _lastContentRect = new Rect(contentRect); _consoleBuffer = OSCWindowConsole.GetConsoleBuffer(ShowTransmitted, ShowReceived, _filterDrawer.FilterValue); if (TrackLast) { SelectedMessage = _consoleBuffer.Length > 0 ? _consoleBuffer[0] : null; } var viewRect = new Rect(contentRect); viewRect.height = _consoleBuffer.Length * _lineHeight; if (viewRect.height > contentRect.height) { viewRect.width -= 15f; } var itemRect = new Rect(0, viewRect.y, viewRect.width, _lineHeight); using (var scroll = new GUI.ScrollViewScope(contentRect, _scrollPosition, viewRect)) { var drawed = false; for (var index = 0; index < _consoleBuffer.Length; index++) { if (itemRect.y + itemRect.height > _scrollPosition.y && itemRect.y < _scrollPosition.y + contentRect.height + itemRect.height) { drawed = true; var consoleMessage = _consoleBuffer[index]; var selected = SelectedMessage == consoleMessage; var color = GUI.color; DrawItem(ref itemRect, index, consoleMessage, selected); GUI.color = color; if (Event.current.type == EventType.MouseDown && itemRect.Contains(Event.current.mousePosition)) { GUIUtility.keyboardControl = 0; if (Event.current.button == 0) { TrackLast = false; if (SelectedMessage != consoleMessage) { SelectedMessage = consoleMessage; Window.Repaint(); } Event.current.Use(); } else if (Event.current.button == 1) { ShowMessageGenericMenu(consoleMessage); Event.current.Use(); } } } else if (drawed) { break; } itemRect.y += itemRect.height; } _scrollPosition = scroll.scrollPosition; } }
protected override void DrawContent(Rect contentRect) { GUILayout.BeginArea(new Rect(0, 0, contentRect.width, 18)); EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); var clearButton = GUILayout.Button(_clearContent, EditorStyles.toolbarButton, GUILayout.Height(45f)); GUILayout.Space(5f); _showReceived = GUILayout.Toggle(_showReceived, _recevedContent, EditorStyles.toolbarButton); _showTransmitted = GUILayout.Toggle(_showTransmitted, _transmittedContent, EditorStyles.toolbarButton); GUILayout.Space(5f); _trackLast = GUILayout.Toggle(_trackLast, _trackLastContent, EditorStyles.toolbarButton); GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); GUILayout.EndArea(); contentRect.y += 18; contentRect.height -= 18; _lastContentRect = new Rect(contentRect); _consoleBuffer = OSCWindowConsole.GetConsoleBuffer(_showTransmitted, _showReceived); if (_trackLast) { if (_consoleBuffer.Length > 0) { _selectedMessage = _consoleBuffer[0]; } else { _selectedMessage = null; } } var viewRect = new Rect(contentRect); viewRect.height = _consoleBuffer.Length * _lineHeight; if (viewRect.height > contentRect.height) { viewRect.width -= 15f; } var itemRect = new Rect(0, viewRect.y, viewRect.width, _lineHeight); _scrollPosition = GUI.BeginScrollView(contentRect, _scrollPosition, viewRect); var drawed = false; for (var index = 0; index < _consoleBuffer.Length; index++) { var drawItem = !((itemRect.y + itemRect.height < _scrollPosition.y) || (itemRect.y > _scrollPosition.y + contentRect.height + itemRect.height)); if (drawItem) { drawed = true; var consoleMessage = _consoleBuffer[index]; var selected = _selectedMessage == consoleMessage; var color = GUI.color; DrawItem(itemRect, index, consoleMessage, selected); GUI.color = color; if (Event.current.type == EventType.MouseDown && itemRect.Contains(Event.current.mousePosition)) { if (Event.current.button == 0) { _trackLast = false; if (_selectedMessage != consoleMessage) { _selectedMessage = consoleMessage; _parentWindow.Repaint(); } Event.current.Use(); } else if (Event.current.button == 1) { ShowMessageGenericMenu(consoleMessage); Event.current.Use(); } } } else if (drawed) { break; } itemRect.y += itemRect.height; } GUI.EndScrollView(true); if (clearButton) { OSCWindowConsole.Clear(); _selectedMessage = null; } }
public static void ShowConsole() { OSCWindowConsole.Open(); }