internal static void DisplayParameterPanel(CommandConsoleWindow window) { const string controlName = "searchParameter"; GUILayout.BeginVertical(MonkeyStyle.Instance.VariablePanelStyle, GUILayout.ExpandWidth(true)); GUILayout.Label("", MonkeyStyle.Instance.ParametricTabOutline1HorizontalStyle); GUILayout.Label("", MonkeyStyle.Instance.ParametricTabOutline2HorizontalStyle); GUILayout.BeginHorizontal(new GUIStyle { margin = new RectOffset(10, 10, 20, 10) }); DisplayHelpPanel(window); DisplayAutoCompleteSection(window, controlName); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.EndVertical(); window.Repaint(); if (window.TabFrames > 0 && window.TabFrames < 5) { CommandConsoleWindow.ForceEditSearchAtEnd(window.SearchTerms); GUI.FocusControl(controlName); } }
private static void DisplayCommands(CommandConsoleWindow window, bool ignoreMaxCommands = false) { int index = 0; if (window.MouseActivity) { window.MouseOverField = false; } if (window.CommandResult == null) { return; } foreach (var x in window.CommandResult) { if (index >= CommandManager.MaxCommandShown && !ignoreMaxCommands) { break; } CommandDisplay.DisplayCommandInSearch(x, index, window.SelectedIndex, window.MouseActivity, window.ForceValidationKeyPressed, window.SearchTerms); if (window.MouseActivity && GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition)) { window.SelectedIndex = index; window.MouseOverField = true; window.Repaint(); } index++; } }
private static void DisplayTextInputField(CommandConsoleWindow window) { GUI.skin.settings.cursorFlashSpeed = 1; const string controlName = "searchCommand"; GUI.SetNextControlName(controlName); bool wasEmpty = window.SearchTerms.IsNullOrEmpty(); window.SearchTerms = EditorGUIExt.TextField((window.SearchTerms ?? "").Replace("`", ""), controlName, (window.SearchTerms.IsNullOrEmpty()) ? MonkeyStyle.Instance.SearchLabelStyleEmpty : MonkeyStyle.Instance.SearchLabelStyle); if (wasEmpty && !window.SearchTerms.IsNullOrEmpty()) { window.CommandResult = new List <CommandInfo>(); } if (window.PreventSearchMovement) { CommandConsoleWindow.ForceEditSearchAtEnd(window.SearchTerms); } if (window.Focused) { if (!window.SearchTerms.IsNullOrEmpty() && !window.CommandResult.Any()) { window.MonkeyFocusLogoStyle = MonkeyStyle.Instance.MonkeyLogoStyle; } else { window.MonkeyFocusLogoStyle = window.SearchTerms.IsNullOrEmpty() ? MonkeyStyle.Instance.MonkeyLogoStyleSmiling : MonkeyStyle.Instance.MonkeyLogoStyleHappy; } window.Repaint(); } if (!window.IsDocked || window.JustOpenedActiveMode || window.Focused) { GUI.FocusControl(controlName); } }
internal static void DisplayParametricPanel(CommandConsoleWindow window) { try { if (Event.current.type == EventType.MouseDown) { window.Repaint(); window.Focus(); window.TabFrames = 10; } CommandConsoleWindow.RowHeight = new Rect(0, 0, 0, 0.55f); DisplayCommandInfo(window.CurrentExecution); Rect selectedRect = new Rect(); if (window.CurrentExecution.Info.CommandParameterInfo.Count > 1) { selectedRect = DisplayParameterTabs(window); } window.CheckSearch(); if (window.CurrentExecution.CurrentParameterInfo != null) { DisplayParameterPanel(window); } if (window.CurrentExecution.Info.CommandParameterInfo.Count > 1) { DisplayTabLink(selectedRect); } DisplayBottomHelp(window); } catch (Exception e) { if (CommandConsoleWindow.LogExceptions) { Debug.Log(e); } GUIUtility.ExitGUI(); } }
internal static void DisplayCommandPanel(CommandConsoleWindow window) { try { if (Event.current.type == EventType.MouseDown) { window.Repaint(); window.Focus(); return; } DisplayCommandSearchPanel(window); if (CommandManager.Instance.IsLoading) { LoadingNoticeDisplay.DisplayLoadingNotice(window); } } catch (Exception e) { if (CommandConsoleWindow.LogExceptions) { Debug.LogWarning(e); } GUIUtility.ExitGUI(); } window.CheckSearch(); try { DisplayCommandResultPanel(window); DisplayCommandSearchHelp(window); } catch (Exception e) { if (CommandConsoleWindow.LogExceptions) { Debug.LogWarning(e); } GUIUtility.ExitGUI(); } }
private static void DisplayAutoCompleteOptions(CommandConsoleWindow window) { if (!window.CurrentExecution.IsAutoCompleteSuggestions) { return; } if (window.MouseActivity) { window.MouseOverField = false; } GUI.skin = MonkeyStyle.Instance.MonkeyScrollBarStyle; window.ScrollIndex = EditorGUILayout.BeginScrollView(window.ScrollIndex, new GUIStyle() { normal = { background = MonkeyStyle.Instance.ResultFieldTex } }); for (int i = 0; i < window.CurrentExecution.CurrentAutoComplete.Count; i++) { bool selected = InitResultSelectionStyle(i, window.SelectedIndex, window.MouseActivity); GUILayout.Label("", MonkeyStyle.Instance.AutoCompleteLine1Style); if (!selected) { GUILayout.Label("", MonkeyStyle.Instance.AutoCompleteLine2Style); } else { GUILayout.Label("", MonkeyStyle.Instance.AutoCompleteLine1Style); } GUILayout.BeginVertical(new GUIStyle { margin = new RectOffset(2, 2, 5, 5) }); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); DisplayAutoCompleteField(window.CurrentExecution.CurrentAutoComplete, window.CurrentExecution.GetFormattedCurrentlyChosen(), selected, i); GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndVertical(); if ((window.MouseActivity || Event.current.type == EventType.MouseDown) && GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition)) { if (Event.current.type == EventType.MouseDown) { window.SelectedIndex = i; window.CurrentExecution. NotifyInputFromAutoComplete(window.SelectedIndex); window.CurrentExecution.NotifyNextVariable(window); } window.MouseOverField = true; window.SelectedIndex = i; window.Repaint(); } if (selected) { window.Repaint(); } } EditorGUILayout.EndScrollView(); GUI.skin = MonkeyStyle.Instance.DefaultStyle; }
internal static Rect DisplayParameterTabs(CommandConsoleWindow window) { MonkeyStyle monkeyStyle = MonkeyStyle.Instance; GUILayout.BeginVertical(monkeyStyle.ParametricWindowBackgroundStyle); int i = 0; GUILayout.BeginHorizontal(); int current = window.CurrentExecution.CurrentParameterID; Rect selectedRect = new Rect(0, 0, 0, 0); foreach (var info in window.CurrentExecution.Info.CommandParameterInfo) { GUIStyle panelStyle = current == i ? monkeyStyle.VariableSelectedGroupStyle : monkeyStyle.VariableNonSelectedGroupStyle; GUILayout.BeginHorizontal(monkeyStyle.VariableGroupStyle); GUILayout.Label("", monkeyStyle.ParametricTabShadow2Style); GUILayout.Label("", monkeyStyle.ParametricTabShadow1Style); GUILayout.BeginVertical(panelStyle, GUILayout.ExpandHeight(true)); if (current == i) { GUILayout.Label("", monkeyStyle.ParametricTabOutline1HorizontalStyle); GUILayout.Label("", monkeyStyle.ParametricTabOutline2HorizontalStyle); } else { GUILayout.Label("", monkeyStyle.ParametricTabOutlineUnfocusedHorizontalStyle); } GUIStyle variableStyle; if (window.CurrentExecution.IsParameterError(i)) { variableStyle = monkeyStyle.VariableNameErrorTextStyle; } else { variableStyle = current == i ? monkeyStyle.VariableNameSelectedTextStyle : monkeyStyle.VariableNameNonSelectedTextStyle; } GUILayout.BeginHorizontal(); GUILayout.Label(ObjectNames.NicifyVariableName(info.Name).Bold() , variableStyle); if (window.CurrentExecution.IsParameterError(i)) { GUILayout.Label("", monkeyStyle.ParameterWarningIconStyle); } GUILayout.EndHorizontal(); GUILayout.EndVertical(); if (current == i) { GUILayout.Label("", monkeyStyle.ParametricTabOutline2VerticalStyle); GUILayout.Label("", monkeyStyle.ParametricTabOutline1VerticalStyle); } else { GUILayout.Label("", monkeyStyle.ParametricTabOutlineUnfocusedVerticalStyle); } GUILayout.EndHorizontal(); if (GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition) && Event.current.type == EventType.MouseDown) { window.CurrentExecution.JumpToID(i); window.Repaint(); } if (current == i) { selectedRect = GUILayoutUtility.GetLastRect(); } i++; } GUILayout.EndHorizontal(); GUILayout.EndVertical(); return(selectedRect); }