Skip to content

Class KeybindListEditor

Definition

Namespace: StardewUI.Widgets.Keybinding
Assembly: StardewUI.dll

Editor widget for a KeybindList.

[StardewUI.GenerateDescriptor]
public class KeybindListEditor : StardewUI.Widgets.ComponentView

Inheritance
ObjectDecoratorView<T>ComponentView<T>ComponentView ⇦ KeybindListEditor

Remarks

Displays all the configured keybinds in one row, and (EditableType is not null) opens up a KeybindOverlay to edit the keybinds when clicked.

Members

Constructors

Name Description
KeybindListEditor()

Properties

Name Description
ActualBounds The bounds of this view relative to the origin (0, 0).
(Inherited from DecoratorView<T>)
AddButtonText The AddButtonText to display for adding new bindings.
BackgroundColor Solid background color to draw underneath each keybind frame.
ButtonHeight The height for button images/sprites. Images are scaled uniformly, preserving source aspect ratio.
ClipOrigin Origin position for the ClipSize.
(Inherited from DecoratorView<T>)
ClipSize Size of the clipping rectangle, outside which content will not be displayed.
(Inherited from DecoratorView<T>)
ContentBounds The true bounds of this view's content; i.e. ActualBounds excluding margins.
(Inherited from DecoratorView<T>)
DeleteButtonTooltip The DeleteButtonTooltip to display for deleting bindings in a multiple-binding UI.
EditableType Specifies what kind of keybind the editor should allow.
EmptyText Placeholder text to display when the current keybind list is empty.
EmptyTextColor Color of the displayed EmptyText when the list is empty.
FloatingBounds Contains the bounds of all floating elements in this view tree, including the current view and all descendants.
(Inherited from DecoratorView<T>)
Focusable Whether or not the view should be able to receive focus. Applies only to this specific view, not its children.
Font Font used to display text in button/key placeholders.
IsFocusable Whether or not the view can receive controller focus, i.e. the stick/d-pad controlled cursor can move to this view. Not generally applicable for mouse controls.
(Inherited from DecoratorView<T>)
KeybindList The current keybinds to display in the list.
Layout The current layout parameters, which determine how Measure(Vector2) will behave.
(Inherited from DecoratorView<T>)
Name Simple name for this view, used in log/debug output; does not affect behavior.
(Inherited from DecoratorView<T>)
Opacity Opacity (alpha level) of the view.
(Inherited from DecoratorView<T>)
OuterSize The true computed layout size resulting from a single Measure(Vector2) pass.
(Inherited from DecoratorView<T>)
PointerEventsEnabled Whether this view should receive pointer events like Click or Drag.
(Inherited from DecoratorView<T>)
PointerStyle Pointer style to use when this view is hovered.
(Inherited from DecoratorView<T>)
ScrollWithChildren If set to an axis, specifies that when any child of the view is scrolled into view (using ScrollIntoView(IEnumerable<ViewChild>, Vector2)), then this entire view should be scrolled along with it.
(Inherited from DecoratorView<T>)
SpriteMap Map of bindable buttons to sprite representations.
Tags The user-defined tags for this view.
(Inherited from DecoratorView<T>)
Tooltip Tooltip data to display on hover, if any.
(Inherited from DecoratorView<T>)
Transform Local transformation to apply to this view, including any children and floating elements.
(Inherited from DecoratorView<T>)
TransformOrigin Relative origin position for any Transform on this view.
(Inherited from DecoratorView<T>)
View (Inherited from ComponentView<T>)
Visibility Drawing visibility for this view.
(Inherited from DecoratorView<T>)
ZIndex Z order for this view within its direct parent. Higher indices draw later (on top).
(Inherited from DecoratorView<T>)

Methods

Name Description
ContainsPoint(Vector2) Checks if a given point, relative to the view's origin, is within its bounds.
(Inherited from DecoratorView<T>)
CreateView() Creates and returns the root view.
(Overrides ComponentView<T>.CreateView())
Dispose() (Inherited from DecoratorView<T>)
Draw(ISpriteBatch) Draws the content for this view.
(Inherited from DecoratorView<T>)
FocusSearch(Vector2, Direction) Finds the next focusable component in a given direction that does not overlap with a current position.
(Inherited from DecoratorView<T>)
GetChildAt(Vector2, Boolean, Boolean) Finds the child at a given position.
(Inherited from DecoratorView<T>)
GetChildPosition(IView) Computes or retrieves the position of a given direct child.
(Inherited from DecoratorView<T>)
GetChildren(Boolean) Gets the current children of this view.
(Inherited from DecoratorView<T>)
GetChildrenAt(Vector2) Finds all children at a given position.
(Inherited from DecoratorView<T>)
GetDefaultFocusChild() Gets the direct child that should contain cursor focus when a menu or overlay containing this view is first opened.
(Inherited from DecoratorView<T>)
HasOutOfBoundsContent() Checks if the view has content or elements that are all or partially outside the ActualBounds.
(Inherited from DecoratorView<T>)
IsDirty() Checks whether or not the view is dirty - i.e. requires a new layout with a full Measure(Vector2).
(Inherited from DecoratorView<T>)
IsVisible(Vector2?) Checks if the view is effectively visible, i.e. if it has anything to draw.
(Inherited from DecoratorView<T>)
Measure(Vector2) Performs layout on this view, updating its OuterSize, ActualBounds and ContentBounds, and arranging any children in their respective positions.
(Inherited from DecoratorView<T>)
OnButtonPress(ButtonEventArgs) Called when a button press is received while this view is in the focus path.
(Inherited from DecoratorView<T>)
OnButtonRepeat(ButtonEventArgs) Called when a button press is first received, and at recurring intervals thereafter, for as long as the button is held and this view remains in the focus path.
(Inherited from DecoratorView<T>)
OnClick(ClickEventArgs) Called when a click is received within this view's bounds.
(Inherited from DecoratorView<T>)
OnDrag(PointerEventArgs) Called when the view is being dragged (mouse moved while left button held).
(Inherited from DecoratorView<T>)
OnDrop(PointerEventArgs) Called when the mouse button is released after at least one OnDrag(PointerEventArgs).
(Inherited from DecoratorView<T>)
OnLayout() Runs whenever layout occurs as a result of the UI elements changing.
(Inherited from DecoratorView<T>)
OnPointerMove(PointerMoveEventArgs) Called when a pointer movement related to this view occurs.
(Inherited from DecoratorView<T>)
OnPropertyChanged(PropertyChangedEventArgs) Raises the PropertyChanged event.
(Inherited from DecoratorView<T>)
OnPropertyChanged(string) Raises the PropertyChanged event.
(Inherited from DecoratorView<T>)
OnUpdate(TimeSpan) Runs on every update tick.
(Inherited from DecoratorView<T>)
OnWheel(WheelEventArgs) Called when a wheel event is received within this view's bounds.
(Inherited from DecoratorView<T>)
RegisterDecoratedProperty<TValue>(DecoratedProperty<T, TValue>) Registers a DecoratedProperty<T, TValue>.
(Inherited from DecoratorView<T>)
ScrollIntoView(IEnumerable<ViewChild>, Vector2) Attempts to scroll the specified target into view, including all of its ancestors, if not fully in view.
(Inherited from DecoratorView<T>)

Events

Name Description
ButtonPress Event raised when any button on any input device is pressed.
(Inherited from DecoratorView<T>)
ButtonRepeat Event raised when a button is being held while the view is in focus, and has been held long enough since the initial ButtonPress or the previous ButtonRepeat to trigger a repeated press.
(Inherited from DecoratorView<T>)
Click Event raised when the view receives a click initiated from any button.
(Inherited from DecoratorView<T>)
Drag Event raised when the view is being dragged using the mouse.
(Inherited from DecoratorView<T>)
DragEnd Event raised when mouse dragging is stopped, i.e. when the button is released. Always raised after the last Drag, and only once per drag operation.
(Inherited from DecoratorView<T>)
DragStart Event raised when mouse dragging is first activated. Always raised before the first Drag, and only once per drag operation.
(Inherited from DecoratorView<T>)
LeftClick Event raised when the view receives a click initiated from the left mouse button, or the controller's action button (A).
(Inherited from DecoratorView<T>)
PointerEnter Event raised when the pointer enters the view.
(Inherited from DecoratorView<T>)
PointerLeave Event raised when the pointer exits the view.
(Inherited from DecoratorView<T>)
PointerMove Event raised when the pointer moves within the view.
(Inherited from DecoratorView<T>)
PropertyChanged (Inherited from DecoratorView<T>)
RightClick Event raised when the view receives a click initiated from the right mouse button, or the controller's tool-use button (X).
(Inherited from DecoratorView<T>)
Wheel Event raised when the scroll wheel moves.
(Inherited from DecoratorView<T>)

Details

Constructors

KeybindListEditor()

public KeybindListEditor();

Properties

AddButtonText

The AddButtonText to display for adding new bindings.

public string AddButtonText { get; set; }
Property Value

string

Remarks

Changing this while the overlay is already displayed will not update the overlay.


BackgroundColor

Solid background color to draw underneath each keybind frame.

public Microsoft.Xna.Framework.Color BackgroundColor { get; set; }
Property Value

Color

Remarks

Applies only to the drawn parts inside borders, not to the empty space between them.


ButtonHeight

The height for button images/sprites. Images are scaled uniformly, preserving source aspect ratio.

public int ButtonHeight { get; set; }
Property Value

Int32


DeleteButtonTooltip

The DeleteButtonTooltip to display for deleting bindings in a multiple-binding UI.

public string DeleteButtonTooltip { get; set; }
Property Value

string

Remarks

Changing this while the overlay is already displayed will not update the overlay.


EditableType

Specifies what kind of keybind the editor should allow.

public StardewUI.Widgets.Keybinding.KeybindType? EditableType { get; set; }
Property Value

Nullable<KeybindType>

Remarks

The current value KeybindList is always fully displayed, even if it does not conform to the semantic type. It is up to the caller to ensure that the value initially assigned to the editor is of the correct kind. If this is null, the list is considered read-only.


EmptyText

Placeholder text to display when the current keybind list is empty.

public string EmptyText { get; set; }
Property Value

string


EmptyTextColor

Color of the displayed EmptyText when the list is empty.

public Microsoft.Xna.Framework.Color EmptyTextColor { get; set; }
Property Value

Color


Focusable

Whether or not the view should be able to receive focus. Applies only to this specific view, not its children.

public bool Focusable { get; set; }
Property Value

Boolean

Remarks

All views are non-focusable by default and must have their focus enabled explicitly. Subclasses may choose to override the default value if they should always be focusable.


Font

Font used to display text in button/key placeholders.

public Microsoft.Xna.Framework.Graphics.SpriteFont Font { get; set; }
Property Value

SpriteFont

Remarks

Only applies for buttons that use a placeholder sprite (i.e. set the isPlaceholder output of Get(T, Boolean) to true). In these cases, the actual button text drawn inside the sprite will be drawn using the specified font.


KeybindList

The current keybinds to display in the list.

public StardewModdingAPI.Utilities.KeybindList KeybindList { get; set; }
Property Value

KeybindList

Remarks

Changing these while the overlay is open may not update the overlay.


SpriteMap

Map of bindable buttons to sprite representations.

public StardewUI.Graphics.ISpriteMap<StardewModdingAPI.SButton> SpriteMap { get; set; }
Property Value

ISpriteMap


Methods

CreateView()

Creates and returns the root view.

protected override StardewUI.IView CreateView();
Returns

IView