protected void SetupTargetIconPanelFilterBox()
        {
            string toolTipText = string.Empty;

            toolTipText = "Press Filter Button to Open Filter Text Box.\rAnything typed into text box will autofilter.\rFor negative filter, type '-' in front.\rFor example, -steel weapon will find all weapons not made of steel.";


            localFilterTextBox = DaggerfallUI.AddTextBoxWithFocus(new Rect(new Vector2(1, 24), new Vector2(47, 8)), "filter pattern", localTargetIconPanel);
            localFilterTextBox.VerticalAlignment        = VerticalAlignment.Bottom;
            localFilterTextBox.OnType                  += LocalFilterTextBox_OnType;
            localFilterTextBox.OverridesHotkeySequences = true;

            localFilterButton             = DaggerfallUI.AddButton(new Rect(40, 25, 15, 8), localTargetIconPanel);
            localFilterButton.Label.Text  = "Filter";
            localFilterButton.ToolTip     = defaultToolTip;
            localFilterButton.ToolTipText = toolTipText;

            localFilterButton.Label.TextScale     = 0.75f;
            localFilterButton.Label.ShadowColor   = Color.black;
            localFilterButton.VerticalAlignment   = VerticalAlignment.Bottom;
            localFilterButton.HorizontalAlignment = HorizontalAlignment.Left;
            localFilterButton.BackgroundColor     = new Color(0.5f, 0.5f, 0.5f, 0.75f);
            localFilterButton.OnMouseClick       += LocalFilterButton_OnMouseClick;

            localCloseFilterButton                     = DaggerfallUI.AddButton(new Rect(47, 25, 8, 8), localTargetIconPanel);
            localCloseFilterButton.Label.Text          = "x";
            localCloseFilterButton.Label.TextScale     = 0.75f;
            localCloseFilterButton.Label.ShadowColor   = Color.black;
            localCloseFilterButton.VerticalAlignment   = VerticalAlignment.Bottom;
            localCloseFilterButton.HorizontalAlignment = HorizontalAlignment.Right;
            localCloseFilterButton.BackgroundColor     = new Color(0.5f, 0.5f, 0.5f, 0.75f);
            localCloseFilterButton.OnMouseClick       += LocalCloseFilterButton_OnMouseClick;

            filterButtonNeedUpdate = true;
        }
 public override BaseScreenComponent OnWindow(ModSettingsWindow window, float x, float y, ref int height)
 {
     height += 6;
     return(DaggerfallUI.AddTextBoxWithFocus(new Rect(x + 2, y + 6, window.LineWidth - 4, 6), Value));
 }
示例#3
0
        private void DoLayout(string[] defaultText, bool isNumeric, NumericMode numericMode = NumericMode.Natural)
        {
            if (Components.Count > 0)
            {
                Components.Clear();
            }

            columns = maxItemsPerRow == -1 ? defaultText.Length : Mathf.Min(defaultText.Length, maxItemsPerRow);
            float totalWidth   = Size.x / columns;
            float hSpace       = totalWidth * horizontalSpace;
            float contentWidth = columns == 1 ? totalWidth : totalWidth - hSpace;

            rows = maxItemsPerRow == -1 ? 1 : Mathf.CeilToInt(defaultText.Length / maxItemsPerRow);
            float totalHeight   = Size.y / rows;
            float vSpace        = totalHeight * verticalSpace;
            float contentheight = rows == 1 ? totalHeight : totalHeight - vSpace;

            TextBoxes = new TextBox[defaultText.Length];
            Vector2 size = new Vector2(contentWidth, contentheight);

            int row    = 0;
            int column = 0;

            for (int i = 0; i < defaultText.Length; i++)
            {
                float x;
                if (column == 0)
                {
                    x = 0;
                }
                else if (column < columns)
                {
                    x = totalWidth * column + hSpace / 2;
                }
                else
                {
                    x = Size.x - size.x;
                }

                float y;
                if (row == 0)
                {
                    y = 0;
                }
                else if (row < rows)
                {
                    y = totalHeight * row + vSpace / 2;
                }
                else
                {
                    y = Size.y - size.y;
                }

                TextBoxes[i]                 = DaggerfallUI.AddTextBoxWithFocus(new Rect(new Vector2(x, y), size), defaultText[i], this);
                TextBoxes[i].Numeric         = isNumeric;
                TextBoxes[i].NumericMode     = numericMode;
                TextBoxes[i].UseFocus        = true;
                TextBoxes[i].Outline.Enabled = enableOutline;
                if (OnAddTextBoxCallback != null)
                {
                    OnAddTextBoxCallback(TextBoxes[i]);
                }

                if (++column == columns)
                {
                    row++;
                    column = 0;
                }
            }
        }