public void OnGUI(int id) { float height = BluConsoleSkin.ToolbarButtonStyle.CalcSize("Clear".GUIContent()).y; GUILayout.BeginHorizontal(BluConsoleSkin.ToolbarStyle, GUILayout.Height(height)); if (GetButtonClamped("Clear".GUIContent(), BluConsoleSkin.ToolbarButtonStyle)) { UnityLoggerServer.Clear(); SetDirtyLogs(); ListWindow.SelectedMessage = -1; DetailWindow.SelectedMessage = -1; } GUILayout.Space(6.0f); var actualCollapse = UnityLoggerServer.HasFlag(ConsoleWindowFlag.Collapse); var newCollapse = GetToggleClamped(_isCollapse, "Collapse".GUIContent(), BluConsoleSkin.ToolbarButtonStyle); if (newCollapse != _isCollapse) { SetDirtyLogs(); _isCollapse = newCollapse; UnityLoggerServer.SetFlag(ConsoleWindowFlag.Collapse, newCollapse); } else if (newCollapse != actualCollapse) { SetDirtyLogs(); _isCollapse = actualCollapse; } var actualClearOnPlay = UnityLoggerServer.HasFlag(ConsoleWindowFlag.ClearOnPlay); var newClearOnPlay = GetToggleClamped(_isClearOnPlay, "Clear on Play".GUIContent(), BluConsoleSkin.ToolbarButtonStyle); if (newClearOnPlay != _isClearOnPlay) { _isClearOnPlay = newClearOnPlay; UnityLoggerServer.SetFlag(ConsoleWindowFlag.ClearOnPlay, newClearOnPlay); } else if (newClearOnPlay != actualClearOnPlay) { _isClearOnPlay = actualClearOnPlay; } var actualPauseOnError = UnityLoggerServer.HasFlag(ConsoleWindowFlag.ErrorPause); var newPauseOnError = GetToggleClamped(_isPauseOnError, "Pause on Error".GUIContent(), BluConsoleSkin.ToolbarButtonStyle); if (newPauseOnError != _isPauseOnError) { _isPauseOnError = newPauseOnError; UnityLoggerServer.SetFlag(ConsoleWindowFlag.ErrorPause, newPauseOnError); } else if (newPauseOnError != actualPauseOnError) { _isPauseOnError = actualPauseOnError; } GUILayout.FlexibleSpace(); // Search Area var oldString = _searchString; _searchString = EditorGUILayout.TextArea(_searchString, BluConsoleSkin.ToolbarSearchTextFieldStyle, GUILayout.Width(Configuration.SearchStringBoxWidth)); if (_searchString != oldString) { SetDirtyComparer(); } if (GUILayout.Button("", BluConsoleSkin.ToolbarSearchCancelButtonStyle)) { _searchString = ""; SetDirtyComparer(); GUI.FocusControl(null); } SearchStringPatterns = _searchString.Trim().ToLower().Split(' '); GUILayout.Space(10.0f); // Info/Warning/Error buttons Area int qtNormalLogs = 0, qtWarningLogs = 0, qtErrorLogs = 0; UnityLoggerServer.GetCount(ref qtNormalLogs, ref qtWarningLogs, ref qtErrorLogs); var qtNormalLogsStr = qtNormalLogs.ToString(); if (qtNormalLogs >= Configuration.MaxAmountOfLogs) { qtNormalLogsStr = Configuration.MaxAmountOfLogs + "+"; } var qtWarningLogsStr = qtWarningLogs.ToString(); if (qtWarningLogs >= Configuration.MaxAmountOfLogs) { qtWarningLogsStr = Configuration.MaxAmountOfLogs + "+"; } var qtErrorLogsStr = qtErrorLogs.ToString(); if (qtErrorLogs >= Configuration.MaxAmountOfLogs) { qtErrorLogsStr = Configuration.MaxAmountOfLogs + "+"; } var actualIsShowNormal = UnityLoggerServer.HasFlag(ConsoleWindowFlag.LogLevelLog); var newIsShowNormal = GetToggleClamped(_isShowNormal, new GUIContent(qtNormalLogsStr, BluConsoleSkin.InfoIconSmall), BluConsoleSkin.ToolbarButtonStyle); if (newIsShowNormal != _isShowNormal) { SetDirtyLogs(); _isShowNormal = newIsShowNormal; UnityLoggerServer.SetFlag(ConsoleWindowFlag.LogLevelLog, newIsShowNormal); } else if (newIsShowNormal != actualIsShowNormal) { SetDirtyLogs(); _isShowNormal = actualIsShowNormal; } var actualIsShowWarning = UnityLoggerServer.HasFlag(ConsoleWindowFlag.LogLevelWarning); var newIsShowWarning = GetToggleClamped(_isShowWarning, new GUIContent(qtWarningLogsStr, BluConsoleSkin.WarningIconSmall), BluConsoleSkin.ToolbarButtonStyle); if (newIsShowWarning != _isShowWarning) { SetDirtyLogs(); _isShowWarning = newIsShowWarning; UnityLoggerServer.SetFlag(ConsoleWindowFlag.LogLevelWarning, newIsShowWarning); } else if (newIsShowWarning != actualIsShowWarning) { SetDirtyLogs(); _isShowWarning = actualIsShowWarning; } var actualIsShowError = UnityLoggerServer.HasFlag(ConsoleWindowFlag.LogLevelError); var newIsShowError = GetToggleClamped(_isShowError, new GUIContent(qtErrorLogsStr, BluConsoleSkin.ErrorIconSmall), BluConsoleSkin.ToolbarButtonStyle); if (newIsShowError != _isShowError) { SetDirtyLogs(); _isShowError = newIsShowError; UnityLoggerServer.SetFlag(ConsoleWindowFlag.LogLevelError, newIsShowError); } else if (newIsShowError != actualIsShowError) { SetDirtyLogs(); _isShowError = actualIsShowError; } for (var i = 0; i < Settings.Filters.Count; i++) { var name = Settings.Filters[i].Name; var style = BluConsoleSkin.ToolbarButtonStyle; bool oldAdditionalFilter = ToggledFilters[i]; ToggledFilters[i] = GUILayout.Toggle(ToggledFilters[i], name, style, GUILayout.MaxWidth(style.CalcSize(new GUIContent(name)).x)); if (oldAdditionalFilter != ToggledFilters[i]) { SetDirtyLogs(); } } GUILayout.EndHorizontal(); }
private float DrawTopToolbar() { float height = BluConsoleSkin.ToolbarButtonStyle.CalcSize(new GUIContent("Clear")).y; GUILayout.BeginHorizontal(BluConsoleSkin.ToolbarStyle, GUILayout.Height(height)); if (GetButtonClamped("Clear", BluConsoleSkin.ToolbarButtonStyle)) { UnityLoggerServer.Clear(); SetDirtyLogs(); _logListSelectedMessage = -1; _logDetailSelectedFrame = -1; } GUILayout.Space(6.0f); bool oldCollapse = UnityLoggerServer.HasFlag(ConsoleWindowFlag.Collapse); bool newCollapse = GetToggleClamped(oldCollapse, "Collapse", BluConsoleSkin.ToolbarButtonStyle); if (oldCollapse != newCollapse) { SetDirtyLogs(); } UnityLoggerServer.SetFlag(ConsoleWindowFlag.Collapse, newCollapse); bool oldClearOnPlay = UnityLoggerServer.HasFlag(ConsoleWindowFlag.ClearOnPlay); bool newClearOnPlay = GetToggleClamped(oldClearOnPlay, "Clear on Play", BluConsoleSkin.ToolbarButtonStyle); UnityLoggerServer.SetFlag(ConsoleWindowFlag.ClearOnPlay, newClearOnPlay); bool oldPauseOnError = UnityLoggerServer.HasFlag(ConsoleWindowFlag.ErrorPause); bool newPauseOnError = GetToggleClamped(oldPauseOnError, "Pause on Error", BluConsoleSkin.ToolbarButtonStyle); UnityLoggerServer.SetFlag(ConsoleWindowFlag.ErrorPause, newPauseOnError); GUILayout.FlexibleSpace(); // Search Area var oldString = _searchString; _searchString = EditorGUILayout.TextArea(_searchString, BluConsoleSkin.ToolbarSearchTextFieldStyle, GUILayout.Width(200.0f)); if (_searchString != oldString) { SetDirtyComparer(); } if (GUILayout.Button("", BluConsoleSkin.ToolbarSearchCancelButtonStyle)) { _searchString = ""; SetDirtyComparer(); GUI.FocusControl(null); } _searchStringPatterns = _searchString.Trim().ToLower().Split(' '); GUILayout.Space(10.0f); // Info/Warning/Error buttons Area int qtNormalLogs = 0, qtWarningLogs = 0, qtErrorLogs = 0; UnityLoggerServer.GetCount(ref qtNormalLogs, ref qtWarningLogs, ref qtErrorLogs); int maxLogs = MAX_LOGS; string qtNormalLogsStr = qtNormalLogs.ToString(); if (qtNormalLogs >= maxLogs) { qtNormalLogsStr = maxLogs.ToString() + "+"; } string qtWarningLogsStr = qtWarningLogs.ToString(); if (qtWarningLogs >= maxLogs) { qtWarningLogsStr = maxLogs.ToString() + "+"; } string qtErrorLogsStr = qtErrorLogs.ToString(); if (qtErrorLogs >= maxLogs) { qtErrorLogsStr = maxLogs.ToString() + "+"; } bool oldIsShowNormal = UnityLoggerServer.HasFlag(ConsoleWindowFlag.LogLevelLog); bool newIsShowNormal = GetToggleClamped(oldIsShowNormal, GetInfoGUIContent(qtNormalLogsStr), BluConsoleSkin.ToolbarButtonStyle); if (oldIsShowNormal != newIsShowNormal) { SetDirtyLogs(); } UnityLoggerServer.SetFlag(ConsoleWindowFlag.LogLevelLog, newIsShowNormal); bool oldIsShowWarning = UnityLoggerServer.HasFlag(ConsoleWindowFlag.LogLevelWarning); bool newIsShowWarning = GetToggleClamped(oldIsShowWarning, GetWarningGUIContent(qtWarningLogsStr), BluConsoleSkin.ToolbarButtonStyle); if (oldIsShowWarning != newIsShowWarning) { SetDirtyLogs(); } UnityLoggerServer.SetFlag(ConsoleWindowFlag.LogLevelWarning, newIsShowWarning); bool oldIsShowError = UnityLoggerServer.HasFlag(ConsoleWindowFlag.LogLevelError); bool newIsShowError = GetToggleClamped(oldIsShowError, GetErrorGUIContent(qtErrorLogsStr), BluConsoleSkin.ToolbarButtonStyle); if (oldIsShowError != newIsShowError) { SetDirtyLogs(); } UnityLoggerServer.SetFlag(ConsoleWindowFlag.LogLevelError, newIsShowError); for (int i = 0; i < _settings.Filters.Count; i++) { var name = _settings.Filters[i].Name; var style = BluConsoleSkin.ToolbarButtonStyle; bool oldAdditionalFilter = _additionalFilters[i]; _additionalFilters[i] = GUILayout.Toggle(_additionalFilters[i], name, style, GUILayout.MaxWidth(style.CalcSize(new GUIContent(name)).x)); if (oldAdditionalFilter != _additionalFilters[i]) { SetDirtyLogs(); } } GUILayout.EndHorizontal(); return(height); }