UDreamTextInput
A text field whose hierarchy is code, not an asset.
Inherits from UDreamUIControl.
Declared in Public/Controls/DreamTextInput.h.
A text field whose hierarchy is code, not an asset.
The same four nodes both preset Blueprints carry -- a background, a placeholder, and a clip area holding the text -- and one property, bMultiLine, where the presets are two assets. The clip area is not decoration: a field's text is regularly wider than the field, and without a clip the overflow draws over whatever is beside it.
UUITextInput does everything hard (caret, selection, IME, key routing); this class builds the geometry it works in and hands it the parts.
Properties
| Name | Type | Category | In the details panel | From Blueprint | Description |
|---|---|---|---|---|---|
Style | FDreamTextInputStyle | Text Input | yes | GetStyle / SetStyle | This instance's own look. The project sheet wins while StyleSource says so AND a sheet actually exists; with no sheet in the project this IS the look in effect -- which is why it stays editable instead of being gated on the enum: the old edit condition greyed the exact values that were driving the control. |
Text | FString | Text Input | yes | GetText / SetText | Authored text in; mirror of the field's out. A property so .dui and bindings can see it. |
Placeholder | FText | Text Input | yes | GetPlaceholder / SetPlaceholder | Shown while Text is empty and the field is not being edited. |
bMultiLine | bool | Text Input | yes | GetMultiLine / SetMultiLine | One property where the presets are two assets. |
InputType | EUITextInputType | Text Input | yes | GetInputType / SetInputType | Which characters the field accepts. Standard accepts anything. |
CustomValidation | TObjectPtr<UDreamTextInputCustomValidation> | Text Input | yes | GetCustomValidation / SetCustomValidation | Only consulted when InputType is Custom. |
DisplayType | EUITextInputDisplayType | Text Input | yes | GetDisplayType / SetDisplayType | Password draws every character as PasswordChar; it does not change what the field accepts. |
PasswordChar | FString | Text Input | yes | GetPasswordChar / SetPasswordChar | The character a password field draws. One character; anything longer keeps its first. |
bReadOnly | bool | Text Input | yes | GetIsReadOnly / SetIsReadOnly | Selectable and copyable, not editable. UMG's IsReadOnly. |
MaxLength | int32 | Text Input | yes | GetMaxLength / SetMaxLength | Longest text the field will hold. 0 means no limit. |
IgnoreKeys | TArray<FKey> | Text Input | yes | GetIgnoreKeys / SetIgnoreKeys | Keys the field must not swallow while it is edited -- the arrows, say, where the pad's arrows should leave the field. Tab needs no entry: it ends the edit and moves on by itself (see bTabTypesTabCharacter). |
MultiLineSubmitFunctionKeys | TArray<FKey> | Text Input | yes | GetMultiLineSubmitFunctionKeys / SetMultiLineSubmitFunctionKeys | In multiline mode, Enter with one of these held submits instead of adding a line. |
bTabTypesTabCharacter | bool | Text Input | yes | GetTabTypesTabCharacter / SetTabTypesTabCharacter | In multiline mode, Tab types a tab character and Ctrl+Tab leaves the field -- a notes or code box. Off, the default, Tab leaves as it does a single-line field: the edit ends and the next control takes the focus, as a browser's textarea does. See UUITextInput::bTabTypesTabCharacter. |
bSelectAllWhenActivateInput | bool | Text Input | yes | GetSelectAllWhenActivateInput / SetSelectAllWhenActivateInput | Select the whole value when the field starts being edited. UMG's SelectAllTextWhenFocused. |
bAutoActivateInputWhenNavigateIn | bool | Text Input | yes | GetAutoActivateInputWhenNavigateIn / SetAutoActivateInputWhenNavigateIn | Start editing as soon as the arrows or the pad land on the field. Tab starts it anyway while UDreamGUISettings::bTabStartsTextEdit. |
bSubmitWhenDeactivate | bool | Text Input | yes | GetSubmitWhenDeactivate / SetSubmitWhenDeactivate | Commit the value when the edit ends without an Enter -- clicking away, navigating away. |
bAllowContextMenu | bool | Text Input | yes | GetAllowContextMenu / SetAllowContextMenu | The edit menu on right click / long press / the pad's Menu button. UMG's AllowContextMenu. |
bRevertTextOnEscape | bool | Text Input | yes | GetRevertTextOnEscape / SetRevertTextOnEscape | Escape / Back throws the edit away instead of keeping it -- UMG's RevertTextOnEscape. The text the edit began with is put back (OnTextChanged fires for it) and then committed once -- OnTextCommitted and OnSubmitted carry the restored text, as UMG commits a revert -- and the edit ends. An edit that changed nothing reverts and commits nothing. Off, as UMG's is and as this field behaved before the knob existed. |
bClearKeyboardFocusOnCommit | bool | Text Input | yes | GetClearKeyboardFocusOnCommit / SetClearKeyboardFocusOnCommit | Stop editing once Enter commits -- UMG's ClearKeyboardFocusOnCommit. |
bSelectAllTextOnCommit | bool | Text Input | yes | GetSelectAllTextOnCommit / SetSelectAllTextOnCommit | Select the value after a commit that kept the edit going -- UMG's SelectAllTextOnCommit. |
bIsCaretMovedWhenGainFocus | bool | Text Input | yes | GetIsCaretMovedWhenGainFocus / SetIsCaretMovedWhenGainFocus | Whether gaining the edit moves the caret to the end -- UMG's IsCaretMovedWhenGainFocus. |
Justification | EDreamUITextParagraphHorizontalAlign | Text Input | yes | GetJustification / SetJustification | How the typed text sits across the field -- UMG's Justification. |
MinimumDesiredWidth | float | Text Input | yes | GetMinimumDesiredWidth / SetMinimumDesiredWidth | A floor under the width the control asks a content-sized parent for -- UMG's MinimumDesiredWidth. Zero means no opinion, which is every field that exists today. |
TextFlowDirection | EDreamTextFlowDirection | Text Input | yes | GetTextFlowDirection / SetTextFlowDirection | Which way the paragraph reads -- the half of UMG's ShapedTextOptions that means anything here. |
Language | FString | Text Input | yes | GetLanguage / SetLanguage | The language the field is typed in, as a culture name ("ja", "zh-Hans"); empty is the game's. Picks the font's fallbacks meant for it and the forms a script draws per language -- see UDreamText::Language. Like the flow direction, it is the whole field's: the placeholder and the error message read it too. |
TabSize | float | Text Input | yes | GetTabSize / SetTabSize | Tab stops in spaces, from the line's start edge -- CSS tab-size, 8 as browsers have it. |
TextJustify | EDreamTextJustify | Text Input | yes | GetTextJustify / SetTextJustify | Where a justified line gets its extra room. Read only with Justification Justify. |
LastLineAlign | EDreamTextLastLineAlign | Text Input | yes | GetLastLineAlign / SetLastLineAlign | How a justified paragraph's last line, and a line a newline ends, align. Read only with Justification Justify. |
SmallTextRaster | EDreamTextSmallTextRaster | Text Input | yes | GetSmallTextRaster / SetSmallTextRaster | Off keeps the field's text on its font's distance field at every size; see UDreamText::SmallTextRaster. |
OverflowPolicy | ETextOverflowPolicy | Text Input | yes | GetTextOverflowPolicy / SetTextOverflowPolicy | What a value too long for the box does WHILE NOBODY IS EDITING IT -- UMG's OverflowPolicy. |
KeyboardType | TEnumAsByte<EVirtualKeyboardType::Type> | Text Input | yes | GetKeyboardType / SetKeyboardType | Which virtual keyboard a mobile platform summons. Default derives it from InputType. |
VirtualKeyboardOptions | FVirtualKeyboardOptions | Text Input | yes | - | Platform options for that keyboard -- autocorrect and whatever the platform adds later. |
VirtualKeyboardTrigger | EVirtualKeyboardTrigger | Text Input | yes | GetVirtualKeyboardTrigger / SetVirtualKeyboardTrigger | Which activations raise it. OnAllFocusEvents keeps what the field did. |
VirtualKeyboardDismissAction | EVirtualKeyboardDismissAction | Text Input | yes | GetVirtualKeyboardDismissAction / SetVirtualKeyboardDismissAction | What dismissing it means. TextCommitOnDismiss keeps what the field did. |
BackgroundNode | TObjectPtr<UDreamWidget> | Text Input | - | read only | |
PlaceholderNode | TObjectPtr<UDreamWidget> | Text Input | - | read only | |
ClipNode | TObjectPtr<UDreamWidget> | Text Input | - | read only | |
TextNode | TObjectPtr<UDreamWidget> | Text Input | - | read only | |
ErrorNode | TObjectPtr<UDreamWidget> | Text Input | - | read only | The error message's paragraph. An OPTIONAL part: every template authored for this control before the error state existed has no node by that name, and a control that reported those as missing would turn an addition into a warning on every existing asset. |
ErrorText | FText | Text Input | - | read only | The message in effect, empty when there is none. |
InputBehaviour | TObjectPtr<UUITextInput> | Text Input | - | read only |
Functions
| Function | Kind | Description |
|---|---|---|
void ClearError() | callable | Clear Error |
bool GetAllowContextMenu() | pure | Get Allow Context Menu |
bool GetAutoActivateInputWhenNavigateIn() | pure | Get Auto Activate Input when Navigate In |
bool GetClearKeyboardFocusOnCommit() | pure | Get Clear Keyboard Focus on Commit |
UDreamTextInputCustomValidation* GetCustomValidation() | pure | Get Custom Validation |
EUITextInputDisplayType GetDisplayType() | pure | Get Display Type |
FText GetError() | pure | The error state, which UMG's text box has had since it existed and this one had not. |
UDreamUIFontData_BaseObject* GetFont() | pure | The typeface this field draws with -- UMG's GetFont/SetFont, minus the two things FSlateFontInfo packs in beside it: the size is Style.FontSize and the outline is in the text style. |
UMaterialInterface* GetFontMaterial() | pure | The material the glyphs are drawn with -- UMG's SetFontMaterial, with one difference worth knowing: it is ONE material for the whole paragraph rather than one for the font face, because that is what the text renderer takes. |
FText GetHintText() | pure | UMG's HintText, which is this control's Placeholder under the name a UMG reader looks for. Forwards; there is one string and one writer, so the two spellings cannot drift apart. |
TArray<FKey> GetIgnoreKeys() | pure | Get Ignore Keys |
EUITextInputType GetInputType() | pure | The behaviour's knobs, with setters that REACH it. |
bool GetIsCaretMovedWhenGainFocus() | pure | Get Is Caret Moved when Gain Focus |
bool GetIsPassword() | pure | UMG's IsPassword, which here is DisplayType's two answers under the name UMG gives them. |
bool GetIsReadOnly() | pure | Get Is Read Only |
EDreamUITextParagraphHorizontalAlign GetJustification() | pure | Get Justification |
TEnumAsByte<EVirtualKeyboardType::Type> GetKeyboardType() | pure | Get Keyboard Type |
FString GetLanguage() | pure | Get Language |
EDreamTextLastLineAlign GetLastLineAlign() | pure | Get Last Line Align |
int32 GetMaxLength() | pure | Get Max Length |
float GetMinimumDesiredWidth() | pure | Get Minimum Desired Width |
bool GetMultiLine() | pure | Get Multi Line |
TArray<FKey> GetMultiLineSubmitFunctionKeys() | pure | Get Multi Line Submit Function Keys |
FString GetPasswordChar() | pure | Get Password Char |
FText GetPlaceholder() | pure | Get Placeholder |
bool GetRevertTextOnEscape() | pure | Get Revert Text on Escape |
bool GetSelectAllTextOnCommit() | pure | Get Select All Text on Commit |
bool GetSelectAllWhenActivateInput() | pure | Get Select All when Activate Input |
EDreamTextSmallTextRaster GetSmallTextRaster() | pure | Get Small Text Raster |
FDreamTextInputStyle GetStyle() | pure | Get Style |
bool GetSubmitWhenDeactivate() | pure | Get Submit when Deactivate |
float GetTabSize() | pure | Get Tab Size |
bool GetTabTypesTabCharacter() | pure | Get Tab Types Tab Character |
FString GetText() | pure | Get Text |
EDreamTextFlowDirection GetTextFlowDirection() | pure | Get Text Flow Direction |
EDreamTextJustify GetTextJustify() | pure | Get Text Justify |
ETextOverflowPolicy GetTextOverflowPolicy() | pure | Get Text Overflow Policy |
EVirtualKeyboardDismissAction GetVirtualKeyboardDismissAction() | pure | Get Virtual Keyboard Dismiss Action |
EVirtualKeyboardTrigger GetVirtualKeyboardTrigger() | pure | Get Virtual Keyboard Trigger |
bool HasError() | pure | Has Error |
bool IsAnyTextSelected() | pure | Whether the field has anything selected right now -- UMG's IsAnyTextSelected. |
void SelectAllText() | callable | Select the whole value, the way UMG's SelectAllText does. |
void SetAllowContextMenu(bool bInAllowContextMenu) | callable | Set Allow Context Menu |
void SetAutoActivateInputWhenNavigateIn(bool bInAutoActivate) | callable | Set Auto Activate Input when Navigate In |
void SetClearKeyboardFocusOnCommit(bool bInClearKeyboardFocusOnCommit) | callable | Set Clear Keyboard Focus on Commit |
void SetCustomValidation(UDreamTextInputCustomValidation* InCustomValidation) | callable | Set Custom Validation |
void SetDisplayType(EUITextInputDisplayType InDisplayType) | callable | Set Display Type |
void SetError(FText InError) | callable | Show a message. An empty one is a clear, the way UMG's SetError behaves. |
void SetFont(UDreamUIFontData_BaseObject* InFont) | callable | Set Font |
void SetFontMaterial(UMaterialInterface* InMaterial) | callable | Set Font Material |
void SetHintText(FText InHintText) | callable | Set Hint Text |
void SetIgnoreKeys(TArray<FKey> InIgnoreKeys) | callable | Set Ignore Keys |
void SetInputType(EUITextInputType InInputType) | callable | Which characters are accepted. Re-runs the rules over the text already in the field. |
void SetIsCaretMovedWhenGainFocus(bool bInIsCaretMovedWhenGainFocus) | callable | Set Is Caret Moved when Gain Focus |
void SetIsPassword(bool bInIsPassword) | callable | Set Is Password |
void SetIsReadOnly(bool bInReadOnly) | callable | Selectable, not editable. A field being typed into when this goes on stops being edited. |
void SetJustification(EDreamUITextParagraphHorizontalAlign InJustification) | callable | Pushed onto the typed text AND the placeholder: a hint belongs where typing will appear. |
void SetKeyboardType(TEnumAsByte<EVirtualKeyboardType::Type> InKeyboardType) | callable | Set Keyboard Type |
void SetLanguage(FString InLanguage) | callable | Onto every paragraph of the field, as the flow direction is. |
void SetLastLineAlign(EDreamTextLastLineAlign InLastLineAlign) | callable | Set Last Line Align |
void SetMaxLength(int32 InMaxLength) | callable | 0 means no limit. Shortening it truncates what the field already holds. |
void SetMinDesiredWidth(float InMinDesiredWidth) | callable | Set Min Desired Width |
void SetMinimumDesiredWidth(float InMinimumDesiredWidth) | callable | UMG names the setter SetMinDesiredWidth; both spellings are here, one implementation. |
void SetMultiLine(bool bInMultiLine) | callable | Single- or multi-line, re-pushed at once. A whole style push rather than one flag on the behaviour: the line count decides the field's height and what its clip has to allow, both of which are written there. |
void SetMultiLineSubmitFunctionKeys(TArray<FKey> InKeys) | callable | Set Multi Line Submit Function Keys |
void SetPasswordChar(FString InPasswordChar) | callable | Set Password Char |
void SetPlaceholder(FText InPlaceholder) | callable | The greyed words shown while the field is empty, re-pushed at once. |
void SetRevertTextOnEscape(bool bInRevertTextOnEscape) | callable | Set Revert Text on Escape |
void SetSelectAllTextOnCommit(bool bInSelectAllTextOnCommit) | callable | Set Select All Text on Commit |
void SetSelectAllWhenActivateInput(bool bInSelectAll) | callable | Set Select All when Activate Input |
void SetSmallTextRaster(EDreamTextSmallTextRaster InSmallTextRaster) | callable | Set Small Text Raster |
void SetStyle(FDreamTextInputStyle InStyle) | callable | The whole look at once, re-pushed. The style struct is one decision, so it moves as one. |
void SetSubmitWhenDeactivate(bool bInSubmitWhenDeactivate) | callable | Set Submit when Deactivate |
void SetTabSize(float InTabSize) | callable | Set Tab Size |
void SetTabTypesTabCharacter(bool bInTabTypesTabCharacter) | callable | Set Tab Types Tab Character |
void SetText(FString InText) | callable | Set Text |
void SetTextFlowDirection(EDreamTextFlowDirection InFlowDirection) | callable | Set Text Flow Direction |
void SetTextJustify(EDreamTextJustify InTextJustify) | callable | Set Text Justify |
void SetTextOverflowPolicy(ETextOverflowPolicy InOverflowPolicy) | callable | Forwards to the behaviour, which owns the one field on the paragraph this shares with the line mode. |
void SetVirtualKeyboardDismissAction(EVirtualKeyboardDismissAction InDismissAction) | callable | Set Virtual Keyboard Dismiss Action |
void SetVirtualKeyboardTrigger(EVirtualKeyboardTrigger InTrigger) | callable | Set Virtual Keyboard Trigger |
Events
| Event | Signature | Description |
|---|---|---|
OnTextChanged | void DreamTextInputChangedEvent__DelegateSignature(FString Text) | Re-broadcast from the behaviour, so a consumer binds to the control, not to a part of it. |
OnValueChangedBP | void DreamTextInputChangedEvent__DelegateSignature(FString Text) | The <-> convention: two-way bindings synthesize their reverse route against this exact name, so a value control carries it alongside its spoken events. Fires with them. |
OnSubmitted | void DreamTextInputChangedEvent__DelegateSignature(FString Text) | The Enter key (or the multiline submit chord). The compatibility spelling of OnTextCommitted: both fire from the same moment with the same string. New code speaks OnTextCommitted. |
OnTextCommitted | void DreamTextInputChangedEvent__DelegateSignature(FString Text) | UMG's spelling of the same moment (its editable text pairs OnTextChanged with OnTextCommitted). Carries just the string -- UMG's commit-method enum describes Slate input routing this control does not have, and a fake one would be a lie in the signature. |
Compared with UMG
Every Blueprint-facing member of the UMG class, and where it went. adopt: same name, same meaning. map: here under another name or on another type. reject: deliberately absent, with the reason.
| UMG | Member | Status | Here | Note |
|---|---|---|---|---|
UEditableTextBox | Text | map | Text | FString, not FText: the field edits a plain string and every road in and out of UUITextInput speaks one. Existing .dui authors it as a string. |
UEditableTextBox | WidgetStyle | map | Style | FDreamTextInputStyle. Same role as FEditableTextBoxStyle, different shape: colours per state plus caret/selection/error, no Slate brushes. |
UEditableTextBox | HintText | map | Placeholder | GetHintText/SetHintText forward to it, so the UMG spelling reaches the same one string. |
UEditableTextBox | IsReadOnly | map | bReadOnly | b-prefixed as every bool in this library is. Get/SetIsReadOnly carry the UMG spelling; the setter ends a live edit. |
UEditableTextBox | IsPassword | map | DisplayType | A two-valued enum here (Standard/Password) because the same field also carries PasswordChar. Get/SetIsPassword are the boolean spelling over it. |
UEditableTextBox | MinimumDesiredWidth | adopt | MinimumDesiredWidth | A floor under the control's own width and under what the paragraph asks a content-sized parent for. 0 = no opinion, which is every existing field. |
UEditableTextBox | IsCaretMovedWhenGainFocus | map | bIsCaretMovedWhenGainFocus | Pushed to UUITextInput::bIsCaretMovedWhenGainFocus; only the activation nobody named a position for reads it. |
UEditableTextBox | SelectAllTextWhenFocused | map | bSelectAllWhenActivateInput | The library's existing spelling of the same moment (an edit begins). Kept because .dui already authors it. |
UEditableTextBox | RevertTextOnEscape | map | bRevertTextOnEscape | Read by UUITextInput::CancelInput, which is the road Back takes. Like UMG's RestoreOriginalText, the revert is committed once with the restored text (OnTextCommitted; the commit method is not exposed here). Two differences: the restore also fires OnTextChanged, because the <-> reverse route rides OnValueChangedBP and a silent restore would leave bound models holding the abandoned edit; and the edit ends, because Escape is Back here. Off by default, as UMG's is and as the field behaved before. |
UEditableTextBox | ClearKeyboardFocusOnCommit | map | bClearKeyboardFocusOnCommit | Default TRUE where UMG's is false: Enter has always ended the edit here, and a default that changed existing screens is not a default. |
UEditableTextBox | SelectAllTextOnCommit | map | bSelectAllTextOnCommit | Only acts when the commit kept the edit going; selecting a field nobody is editing shows a highlight with no caret. |
UEditableTextBox | AllowContextMenu | map | bAllowContextMenu | Already existed; now carries a setter that closes a menu already open. |
UEditableTextBox | KeyboardType | adopt | KeyboardType | Same TEnumAsByte<EVirtualKeyboardType::Type>. Default means 'derive it from InputType', which is what the field always did; any other value states it outright. |
UEditableTextBox | VirtualKeyboardOptions | adopt | VirtualKeyboardOptions | No Blueprint accessor: FVirtualKeyboardOptions has no BlueprintType, exactly as in UMG. Registered in _BlueprintWritableExceptions.json. |
UEditableTextBox | VirtualKeyboardTrigger | adopt | VirtualKeyboardTrigger | Default OnAllFocusEvents where UMG's is OnFocusByPointer: every activation used to raise the keyboard, and a pad user has no other way to type. |
UEditableTextBox | VirtualKeyboardDismissAction | adopt | VirtualKeyboardDismissAction | Default TextCommitOnDismiss, which is what the field did: Done submitted and so did cancelling out. |
UEditableTextBox | Justification | adopt | Justification | EDreamUITextParagraphHorizontalAlign rather than ETextJustify -- the library's one paragraph-alignment enum, same three answers. The placeholder follows it. |
UEditableTextBox | OverflowPolicy | map | OverflowPolicy | ETextOverflowPolicy, UMG's own enum, but it only speaks WHILE NOBODY IS EDITING. On an editable field the paragraph's EDreamUITextOverflowType is the line-mode switch itself (the wrap and the caret's visible window both read it), so the line mode owns it during an edit and the policy owns it in between. Clip is the default and is what every field does today. |
UEditableTextBox | ShapedTextOptions | map | TextFlowDirection | The half that means something here: EDreamTextFlowDirection is UMG's TextFlowDirection, pushed onto the value, the hint AND the error message. UMG's other half, TextShapingMethod, has no home on a widget -- whether the shaper runs at all is decided when the plugin is compiled (WITH_HARFBUZZ), not per control. |
UEditableTextBox | OnTextChanged | map | OnTextChanged | Same name and moment; carries FString rather than FText, like the Text property it reports. |
UEditableTextBox | OnTextCommitted | map | OnTextCommitted | Same name and moment, without UMG's ETextCommit: that enum describes Slate input routing this control does not have, and a fake one would be a lie in the signature. |
UEditableTextBox | GetText | map | GetText | Returns FString; see the Text property. |
UEditableTextBox | SetText | map | SetText | Takes FString; see the Text property. |
UEditableTextBox | SetHintText | adopt | SetHintText | Forwards to SetPlaceholder, which re-pushes the style because whether the hint is awake is decided against the field's emptiness. |
UEditableTextBox | SetError | adopt | SetError | Writes the Error paragraph -- right-aligned over the field, asleep while there is no message, coloured by FDreamTextInputStyle::ErrorColor. An empty message is a clear, as UMG's is. |
UEditableTextBox | SetIsReadOnly | adopt | SetIsReadOnly | |
UEditableTextBox | SetIsPassword | adopt | SetIsPassword | The boolean spelling over DisplayType. |
UEditableTextBox | ClearError | adopt | ClearError | |
UEditableTextBox | HasError | adopt | HasError | Answers from the message, so a template with no Error node still knows it has one. |
UEditableTextBox | SetJustification | adopt | SetJustification | Pushes onto the typed text AND the placeholder. |
UEditableTextBox | SetTextOverflowPolicy | adopt | SetTextOverflowPolicy | Forwards to UUITextInput::SetOverflowPolicy, which is the one writer of the paragraph's overflow and the only place that knows whether the line mode or the policy is speaking right now. |
UEditableTextBox | SetForegroundColor | map | FDreamTextInputStyle::TextColor | Appearance lives in the style struct, so the colour moves through SetStyle or the project sheet. A second setter writing the inline struct would be silently inert whenever StyleSource is the sheet. |
UEditableTextBox | FontFacesLoadingPaintPolicy | reject | Slate's font cache loads typeface faces asynchronously and this policy says what to paint meanwhile. This library renders from its own font data assets (SDF atlas or FreeType render), which have no async face load to paint around. | |
UEditableTextBox | OnAllFontFacesFinishLoading | reject | Same reason as FontFacesLoadingPaintPolicy: there is no asynchronous face load to finish. | |
UMultiLineEditableTextBox | Text | map | Text | The multi-line boxed field is UDreamTextInput with bMultiLine ticked -- one axis of UMG's four classes is a property here. FString; see EditableTextBox.json. |
UMultiLineEditableTextBox | HintText | map | Placeholder | |
UMultiLineEditableTextBox | WidgetStyle | map | Style | One FDreamTextInputStyle for both line modes; the line count changes the field's height, not its look. |
UMultiLineEditableTextBox | bIsReadOnly | map | bReadOnly | |
UMultiLineEditableTextBox | AllowContextMenu | map | bAllowContextMenu | |
UMultiLineEditableTextBox | VirtualKeyboardOptions | adopt | VirtualKeyboardOptions | No Blueprint accessor; FVirtualKeyboardOptions has no BlueprintType, exactly as in UMG. |
UMultiLineEditableTextBox | VirtualKeyboardDismissAction | adopt | VirtualKeyboardDismissAction | |
UMultiLineEditableTextBox | OnTextChanged | map | OnTextChanged | Carries FString. |
UMultiLineEditableTextBox | OnTextCommitted | map | OnTextCommitted | In multi-line mode the commit moment is Enter with one of MultiLineSubmitFunctionKeys held, which is the library's answer to 'Enter makes a line, so what submits'. |
UMultiLineEditableTextBox | GetText | map | GetText | Returns FString. |
UMultiLineEditableTextBox | SetText | map | SetText | Takes FString. |
UMultiLineEditableTextBox | GetHintText | adopt | GetHintText | |
UMultiLineEditableTextBox | SetHintText | adopt | SetHintText | |
UMultiLineEditableTextBox | SetError | adopt | SetError | |
UMultiLineEditableTextBox | SetIsReadOnly | adopt | SetIsReadOnly | |
UMultiLineEditableTextBox | SetTextStyle | map | SetStyle | UMG's FTextBlockStyle half of the box's look. Colour and size are FDreamTextInputStyle's; the outline/shadow/glow half is UDreamText::TextStyle (FDreamTextStyle) and the control does not forward it yet -- see EditableText.json GetFont for where the typeface and the effects each live. |
UMultiLineEditableTextBox | SetForegroundColor | map | FDreamTextInputStyle::TextColor | Appearance lives in the style struct; it moves through SetStyle or the project sheet. |