Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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++;
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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();
            }
        }
Exemple #5
0
        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();
            }
        }
Exemple #6
0
        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;
        }
Exemple #7
0
        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);
        }