Пример #1
0
        /// <summary>
        /// Draws the element, returning an event that indicates how the minibuttons are pressed.
        /// </summary>
        /// <param name="containingRect">The rect to draw the element inside.</param>
        /// <param name = "guiOptions">Options to use when drawing the operation GUI.</param>
        /// <returns>A ListButtonEvent indicating if a button was clicked.</returns>
        public RenameOperationSortingButtonEvent DrawGUI(Rect containingRect, RenameOperationGUIOptions guiOptions)
        {
            var paddedContainer = containingRect.AddPadding(Padding.left, Padding.right, Padding.top, Padding.bottom);
            var operationStyle  = new GUIStyle("ScriptText");

            GUI.Box(containingRect, "", operationStyle);
            var headerRect = new Rect(paddedContainer);

            headerRect.height = HeaderHeight;
            RenameOperationSortingButtonEvent buttonEvent = this.DrawHeaderAndReorderButtons(
                headerRect,
                this.HeadingLabel,
                guiOptions.DisableUpButton,
                guiOptions.DisableDownButton);

            EditorGUI.indentLevel++;
            var contentsRect = new Rect(paddedContainer);

            contentsRect.y      += headerRect.height + HeaderAndContentSpacing;
            contentsRect.height -= headerRect.height;
            this.DrawContents(contentsRect, guiOptions.ControlPrefix);
            EditorGUI.indentLevel--;

            var coloredHighlightRect = new Rect(containingRect);

            coloredHighlightRect.yMin += 2.0f;
            coloredHighlightRect.yMax -= 1.0f;
            coloredHighlightRect.xMin += 2.0f;
            coloredHighlightRect.width = 3.0f;
            var oldColor = GUI.color;

            GUI.color = this.HighlightColor;
            GUI.DrawTexture(coloredHighlightRect, Texture2D.whiteTexture);
            GUI.color = oldColor;

            return(buttonEvent);
        }