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)); }
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; } } }