Skip to main content

Interface: TextProps

Defined in: react/src/generated/jsx.ts:5516

Props for the Text widget.

Extends

Properties

activatesDefault?

optional activatesDefault: boolean

Defined in: react/src/generated/jsx.ts:5518

Whether to activate the default widget when Enter is pressed.


attributes?

optional attributes: number

Defined in: react/src/generated/jsx.ts:5527

A list of Pango attributes to apply to the text.

This is mainly useful to change the size or weight of the text.

The PangoAttribute's start_index and end_index must refer to the GtkEntryBuffer text, i.e. without the preedit string.


buffer?

optional buffer: EntryBuffer

Defined in: react/src/generated/jsx.ts:5529

The GtkEntryBuffer object which stores the text.


canFocus?

optional canFocus: boolean

Defined in: react/src/generated/jsx.ts:412

Whether the widget or any of its descendents can accept the input focus.

This property is meant to be set by widget implementations, typically in their instance init function.

Inherited from

WidgetProps.canFocus


canTarget?

optional canTarget: boolean

Defined in: react/src/generated/jsx.ts:414

Whether the widget can receive pointer events.

Inherited from

WidgetProps.canTarget


children?

optional children: ReactNode

Defined in: react/src/generated/jsx.ts:688

Inherited from

WidgetProps.children


cssClasses?

optional cssClasses: string[]

Defined in: react/src/generated/jsx.ts:416

A list of css classes applied to this widget.

Inherited from

WidgetProps.cssClasses


cssName?

optional cssName: string

Defined in: react/src/generated/jsx.ts:423

The name of this widget in the CSS tree.

This property is meant to be set by widget implementations, typically in their instance init function.

Inherited from

WidgetProps.cssName


cursor?

optional cursor: number

Defined in: react/src/generated/jsx.ts:425

The cursor used by @widget.

Inherited from

WidgetProps.cursor


cursorPosition?

optional cursorPosition: number

Defined in: react/src/generated/jsx.ts:5588

The current position of the insertion cursor in chars.


editable?

optional editable: boolean

Defined in: react/src/generated/jsx.ts:5590

Whether the entry contents can be edited.


enableEmojiCompletion?

optional enableEmojiCompletion: boolean

Defined in: react/src/generated/jsx.ts:5531

Whether to suggest Emoji replacements.


enableUndo?

optional enableUndo: boolean

Defined in: react/src/generated/jsx.ts:5592

If undo/redo should be enabled for the editable.


extraMenu?

optional extraMenu: number

Defined in: react/src/generated/jsx.ts:5533

A menu model whose contents will be appended to the context menu.


focusable?

optional focusable: boolean

Defined in: react/src/generated/jsx.ts:433

Whether this widget itself will accept the input focus.

Inherited from

WidgetProps.focusable


focusOnClick?

optional focusOnClick: boolean

Defined in: react/src/generated/jsx.ts:431

Whether the widget should grab focus when it is clicked with the mouse.

This property is only relevant for widgets that can take focus.

Inherited from

WidgetProps.focusOnClick


halign?

optional halign: Align

Defined in: react/src/generated/jsx.ts:435

How to distribute horizontal space if widget gets extra space.

Inherited from

WidgetProps.halign


hasDefault?

optional hasDefault: boolean

Defined in: react/src/generated/jsx.ts:437

Whether the widget is the default widget.

Inherited from

WidgetProps.hasDefault


hasFocus?

optional hasFocus: boolean

Defined in: react/src/generated/jsx.ts:439

Whether the widget has the input focus.

Inherited from

WidgetProps.hasFocus


hasTooltip?

optional hasTooltip: boolean

Defined in: react/src/generated/jsx.ts:448

Enables or disables the emission of the [signal@Gtk.Widget::query-tooltip] signal on @widget.

A true value indicates that widget can have a tooltip, in this case the widget will be queried using [signal@Gtk.Widget::query-tooltip] to determine whether it will provide a tooltip or not.

Inherited from

WidgetProps.hasTooltip


heightRequest?

optional heightRequest: number

Defined in: react/src/generated/jsx.ts:454

Overrides for height request of the widget.

If this is -1, the natural request will be used.

Inherited from

WidgetProps.heightRequest


hexpand?

optional hexpand: boolean

Defined in: react/src/generated/jsx.ts:456

Whether to expand horizontally.

Inherited from

WidgetProps.hexpand


hexpandSet?

optional hexpandSet: boolean

Defined in: react/src/generated/jsx.ts:458

Whether to use the hexpand property.

Inherited from

WidgetProps.hexpandSet


imModule?

optional imModule: string

Defined in: react/src/generated/jsx.ts:5543

Which input method module should be used.

See [class@Gtk.IMMulticontext].

Setting this to a non-NULL value overrides the system-wide input method. See the [property@Gtk.Settings:gtk-im-module] setting.


inputHints?

optional inputHints: InputHints

Defined in: react/src/generated/jsx.ts:5548

Additional hints that allow input methods to fine-tune their behaviour.


inputPurpose?

optional inputPurpose: InputPurpose

Defined in: react/src/generated/jsx.ts:5559

The purpose of this text field.

This information can be used by on-screen keyboards and other input methods to adjust their behaviour.

Note that setting the purpose to [enum@Gtk.InputPurpose.password] or [enum@Gtk.InputPurpose.pin] is independent from setting [property@Gtk.Text:visibility].


invisibleChar?

optional invisibleChar: number

Defined in: react/src/generated/jsx.ts:5561

The character to used when masking contents (in “password mode”).


invisibleCharSet?

optional invisibleCharSet: boolean

Defined in: react/src/generated/jsx.ts:5563

Whether the invisible char has been set.


layoutManager?

optional layoutManager: LayoutManager

Defined in: react/src/generated/jsx.ts:466

The [class@Gtk.LayoutManager] instance to use to compute the preferred size of the widget, and allocate its children.

This property is meant to be set by widget implementations, typically in their instance init function.

Inherited from

WidgetProps.layoutManager


limitEvents?

optional limitEvents: boolean

Defined in: react/src/generated/jsx.ts:475

Makes this widget act like a modal dialog, with respect to event delivery.

Global event controllers will not handle events with targets inside the widget, unless they are set up to ignore propagation limits. See [method@Gtk.EventController.set_propagation_limit].

Inherited from

WidgetProps.limitEvents


marginBottom?

optional marginBottom: number

Defined in: react/src/generated/jsx.ts:483

Margin on bottom side of widget.

This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from [method@Gtk.Widget.set_size_request] for example.

Inherited from

WidgetProps.marginBottom


marginEnd?

optional marginEnd: number

Defined in: react/src/generated/jsx.ts:494

Margin on end of widget, horizontally.

This property supports left-to-right and right-to-left text directions.

This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from [method@Gtk.Widget.set_size_request] for example.

Inherited from

WidgetProps.marginEnd


marginStart?

optional marginStart: number

Defined in: react/src/generated/jsx.ts:505

Margin on start of widget, horizontally.

This property supports left-to-right and right-to-left text directions.

This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from [method@Gtk.Widget.set_size_request] for example.

Inherited from

WidgetProps.marginStart


marginTop?

optional marginTop: number

Defined in: react/src/generated/jsx.ts:513

Margin on top side of widget.

This property adds margin outside of the widget's normal size request, the margin will be added in addition to the size from [method@Gtk.Widget.set_size_request] for example.

Inherited from

WidgetProps.marginTop


maxLength?

optional maxLength: number

Defined in: react/src/generated/jsx.ts:5569

Maximum number of characters that are allowed.

Zero indicates no limit.


maxWidthChars?

optional maxWidthChars: number

Defined in: react/src/generated/jsx.ts:5594

The desired maximum width of the entry, in characters.


name?

optional name: string

Defined in: react/src/generated/jsx.ts:515

The name of the widget.

Inherited from

WidgetProps.name


onActivate()?

optional onActivate: (self) => void

Defined in: react/src/generated/jsx.ts:5614

Emitted when the user hits the Enter key.

The default bindings for this signal are all forms of the Enter key.

Parameters

ParameterType
selfText

Returns

void


onBackspace()?

optional onBackspace: (self) => void

Defined in: react/src/generated/jsx.ts:5623

Emitted when the user asks for it.

This is a keybinding signal.

The default bindings for this signal are Backspace and Shift+Backspace.

Parameters

ParameterType
selfText

Returns

void


onChanged()?

optional onChanged: (self) => void

Defined in: react/src/generated/jsx.ts:5744

Emitted at the end of a single user-visible operation on the contents.

E.g., a paste operation that replaces the contents of the selection will cause only one signal emission (even though it is implemented by first deleting the selection, then inserting the new content, and may cause multiple ::notify::text signals to be emitted).

Parameters

ParameterType
selfText

Returns

void


onCopyClipboard()?

optional onCopyClipboard: (self) => void

Defined in: react/src/generated/jsx.ts:5633

Emitted to copy the selection to the clipboard.

This is a keybinding signal.

The default bindings for this signal are Ctrl+c and Ctrl+Insert.

Parameters

ParameterType
selfText

Returns

void


onCutClipboard()?

optional onCutClipboard: (self) => void

Defined in: react/src/generated/jsx.ts:5643

Emitted to cut the selection to the clipboard.

This is a keybinding signal.

The default bindings for this signal are Ctrl+x and Shift+Delete.

Parameters

ParameterType
selfText

Returns

void


onDeleteFromCursor()?

optional onDeleteFromCursor: (self, type, count) => void

Defined in: react/src/generated/jsx.ts:5657

Emitted when the user initiates a text deletion.

This is a keybinding signal.

If the type is [enum@Gtk.DeleteType.chars], GTK deletes the selection if there is one, otherwise it deletes the requested number of characters.

The default bindings for this signal are Delete for deleting a character and Ctrl+Delete for deleting a word.

Parameters

ParameterType
selfText
typeDeleteType
countnumber

Returns

void


onDeleteText()?

optional onDeleteText: (self, startPos, endPos) => void

Defined in: react/src/generated/jsx.ts:5756

Emitted when text is deleted from the widget by the user.

The default handler for this signal will normally be responsible for deleting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the range of deleted text, or prevent it from being deleted entirely.

The start_pos and end_pos parameters are interpreted as for [method@Gtk.Editable.delete_text].

Parameters

ParameterType
selfText
startPosnumber
endPosnumber

Returns

void


onDestroy()?

optional onDestroy: (self) => void

Defined in: react/src/generated/jsx.ts:593

Signals that all holders of a reference to the widget should release the reference that they hold.

May result in finalization of the widget if all references are released.

This signal is not suitable for saving widget state.

Parameters

ParameterType
selfWidget

Returns

void

Inherited from

WidgetProps.onDestroy


onDirectionChanged()?

optional onDirectionChanged: (self, previousDirection) => void

Defined in: react/src/generated/jsx.ts:595

Emitted when the text direction of a widget changes.

Parameters

ParameterType
selfWidget
previousDirectionTextDirection

Returns

void

Inherited from

WidgetProps.onDirectionChanged


onHide()?

optional onHide: (self) => void

Defined in: react/src/generated/jsx.ts:600

Emitted when widget is hidden.

Parameters

ParameterType
selfWidget

Returns

void

Inherited from

WidgetProps.onHide


onInsertAtCursor()?

optional onInsertAtCursor: (self, string) => void

Defined in: react/src/generated/jsx.ts:5670

Emitted when the user initiates the insertion of a fixed string at the cursor.

This is a keybinding signal.

This signal has no default bindings.

Parameters

ParameterType
selfText
stringstring

Returns

void


onInsertEmoji()?

optional onInsertEmoji: (self) => void

Defined in: react/src/generated/jsx.ts:5680

Emitted to present the Emoji chooser.

This is a keybinding signal.

The default bindings for this signal are Ctrl+. and Ctrl+;

Parameters

ParameterType
selfText

Returns

void


onInsertText()?

optional onInsertText: (self, text, length, position) => void

Defined in: react/src/generated/jsx.ts:5765

Emitted when text is inserted into the widget by the user.

The default handler for this signal will normally be responsible for inserting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the inserted text, or prevent it from being inserted entirely.

Parameters

ParameterType
selfText
textstring
lengthnumber
positionRef<number>

Returns

void


onKeynavFailed()?

optional onKeynavFailed: (self, direction) => boolean

Defined in: react/src/generated/jsx.ts:606

Emitted if keyboard navigation fails.

See [method@Gtk.Widget.keynav_failed] for details.

Parameters

ParameterType
selfWidget
directionDirectionType

Returns

boolean

Inherited from

WidgetProps.onKeynavFailed


onMap()?

optional onMap: (self) => void

Defined in: react/src/generated/jsx.ts:618

Emitted when widget is going to be mapped.

A widget is mapped when the widget is visible (which is controlled with [property@Gtk.Widget:visible]) and all its parents up to the toplevel widget are also visible.

The ::map signal can be used to determine whether a widget will be drawn, for instance it can resume an animation that was stopped during the emission of [signal@Gtk.Widget::unmap].

Parameters

ParameterType
selfWidget

Returns

void

Inherited from

WidgetProps.onMap


onMnemonicActivate()?

optional onMnemonicActivate: (self, groupCycling) => boolean

Defined in: react/src/generated/jsx.ts:624

Emitted when a widget is activated via a mnemonic.

The default handler for this signal activates widget if group_cycling is false, or just makes widget grab focus if group_cycling is true.

Parameters

ParameterType
selfWidget
groupCyclingboolean

Returns

boolean

Inherited from

WidgetProps.onMnemonicActivate


onMoveCursor()?

optional onMoveCursor: (self, step, count, extend) => void

Defined in: react/src/generated/jsx.ts:5703

Emitted when the user initiates a cursor movement.

If the cursor is not visible in @self, this signal causes the viewport to be moved instead.

This is a keybinding signal.

Applications should not connect to it, but may emit it with [func@GObject.signal_emit_by_name] if they need to control the cursor programmatically.

The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without it does not. There are too many key combinations to list them all here.

  • , , , move by individual characters/lines
  • Ctrl+, etc. move by words/paragraphs
  • Home and End move to the ends of the buffer

Parameters

ParameterType
selfText
stepMovementStep
countnumber
extendboolean

Returns

void


onMoveFocus()?

optional onMoveFocus: (self, direction) => void

Defined in: react/src/generated/jsx.ts:633

Emitted when the focus is moved.

The ::move-focus signal is a keybinding signal.

The default bindings for this signal are Tab to move forward, and Shift+Tab to move backward.

Parameters

ParameterType
selfWidget
directionDirectionType

Returns

void

Inherited from

WidgetProps.onMoveFocus


onPasteClipboard()?

optional onPasteClipboard: (self) => void

Defined in: react/src/generated/jsx.ts:5717

Emitted to paste the contents of the clipboard.

This is a keybinding signal.

The default bindings for this signal are Ctrl+v and Shift+Insert.

Parameters

ParameterType
selfText

Returns

void


onPreeditChanged()?

optional onPreeditChanged: (self, preedit) => void

Defined in: react/src/generated/jsx.ts:5725

Emitted when the preedit text changes.

If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal.

Parameters

ParameterType
selfText
preeditstring

Returns

void


onQueryTooltip()?

optional onQueryTooltip: (self, x, y, keyboardMode, tooltip) => boolean

Defined in: react/src/generated/jsx.ts:648

Emitted when the widget’s tooltip is about to be shown.

This happens when the [property@Gtk.Widget:has-tooltip] property is true and the hover timeout has expired with the cursor hovering above @widget; or emitted when widget got focus in keyboard mode.

Using the given coordinates, the signal handler should determine whether a tooltip should be shown for @widget. If this is the case true should be returned, false otherwise. Note that if keyboard_mode is true, the values of x and y are undefined and should not be used.

The signal handler is free to manipulate tooltip with the therefore destined function calls.

Parameters

ParameterType
selfWidget
xnumber
ynumber
keyboardModeboolean
tooltipTooltip

Returns

boolean

Inherited from

WidgetProps.onQueryTooltip


onRealize()?

optional onRealize: (self) => void

Defined in: react/src/generated/jsx.ts:661

Emitted when widget is associated with a GdkSurface.

This means that [method@Gtk.Widget.realize] has been called or the widget has been mapped (that is, it is going to be drawn).

Parameters

ParameterType
selfWidget

Returns

void

Inherited from

WidgetProps.onRealize


onShow()?

optional onShow: (self) => void

Defined in: react/src/generated/jsx.ts:663

Emitted when widget is shown.

Parameters

ParameterType
selfWidget

Returns

void

Inherited from

WidgetProps.onShow


onStateFlagsChanged()?

optional onStateFlagsChanged: (self, flags) => void

Defined in: react/src/generated/jsx.ts:669

Emitted when the widget state changes.

See [method@Gtk.Widget.get_state_flags].

Parameters

ParameterType
selfWidget
flagsStateFlags

Returns

void

Inherited from

WidgetProps.onStateFlagsChanged


onToggleOverwrite()?

optional onToggleOverwrite: (self) => void

Defined in: react/src/generated/jsx.ts:5733

Emitted to toggle the overwrite mode.

This is a keybinding signal.

The default bindings for this signal is Insert.

Parameters

ParameterType
selfText

Returns

void


onUnmap()?

optional onUnmap: (self) => void

Defined in: react/src/generated/jsx.ts:679

Emitted when widget is going to be unmapped.

A widget is unmapped when either it or any of its parents up to the toplevel widget have been set as hidden.

As ::unmap indicates that a widget will not be shown any longer, it can be used to, for example, stop an animation on the widget.

Parameters

ParameterType
selfWidget

Returns

void

Inherited from

WidgetProps.onUnmap


onUnrealize()?

optional onUnrealize: (self) => void

Defined in: react/src/generated/jsx.ts:686

Emitted when the GdkSurface associated with widget is destroyed.

This means that [method@Gtk.Widget.unrealize] has been called or the widget has been unmapped (that is, it is going to be hidden).

Parameters

ParameterType
selfWidget

Returns

void

Inherited from

WidgetProps.onUnrealize


opacity?

optional opacity: number

Defined in: react/src/generated/jsx.ts:517

The requested opacity of the widget.

Inherited from

WidgetProps.opacity


overflow?

optional overflow: Overflow

Defined in: react/src/generated/jsx.ts:524

How content outside the widget's content area is treated.

This property is meant to be set by widget implementations, typically in their instance init function.

Inherited from

WidgetProps.overflow


overwriteMode?

optional overwriteMode: boolean

Defined in: react/src/generated/jsx.ts:5571

If text is overwritten when typing.


parent?

optional parent: Widget

Defined in: react/src/generated/jsx.ts:526

The parent widget of this widget.

Inherited from

WidgetProps.parent


placeholderText?

optional placeholderText: string

Defined in: react/src/generated/jsx.ts:5576

The text that will be displayed in the GtkText when it is empty and unfocused.


propagateTextWidth?

optional propagateTextWidth: boolean

Defined in: react/src/generated/jsx.ts:5578

Whether the widget should grow and shrink with the content.


receivesDefault?

optional receivesDefault: boolean

Defined in: react/src/generated/jsx.ts:528

Whether the widget will receive the default action when it is focused.

Inherited from

WidgetProps.receivesDefault


ref?

optional ref: Ref<Text>

Defined in: react/src/generated/jsx.ts:5772


root?

optional root: Root

Defined in: react/src/generated/jsx.ts:534

The GtkRoot widget of the widget tree containing this widget.

This will be NULL if the widget is not contained in a root widget.

Inherited from

WidgetProps.root


scaleFactor?

optional scaleFactor: number

Defined in: react/src/generated/jsx.ts:536

The scale factor of the widget.

Inherited from

WidgetProps.scaleFactor


scrollOffset?

optional scrollOffset: number

Defined in: react/src/generated/jsx.ts:5580

Number of pixels scrolled of the screen to the left.


selectionBound?

optional selectionBound: number

Defined in: react/src/generated/jsx.ts:5596

The position of the opposite end of the selection from the cursor in chars.


sensitive?

optional sensitive: boolean

Defined in: react/src/generated/jsx.ts:538

Whether the widget responds to input.

Inherited from

WidgetProps.sensitive


tabs?

optional tabs: number

Defined in: react/src/generated/jsx.ts:5582

Custom tabs for this text widget.


text?

optional text: string

Defined in: react/src/generated/jsx.ts:5598

The contents of the entry.


tooltipMarkup?

optional tooltipMarkup: string

Defined in: react/src/generated/jsx.ts:554

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

Also see [method@Gtk.Tooltip.set_markup].

This is a convenience property which will take care of getting the tooltip shown if the given string is not NULL: [property@Gtk.Widget:has-tooltip] will automatically be set to true and there will be taken care of [signal@Gtk.Widget::query-tooltip] in the default signal handler.

Note that if both [property@Gtk.Widget:tooltip-text] and [property@Gtk.Widget:tooltip-markup] are set, the last one wins.

Inherited from

WidgetProps.tooltipMarkup


tooltipText?

optional tooltipText: string

Defined in: react/src/generated/jsx.ts:569

Sets the text of tooltip to be the given string.

Also see [method@Gtk.Tooltip.set_text].

This is a convenience property which will take care of getting the tooltip shown if the given string is not NULL: [property@Gtk.Widget:has-tooltip] will automatically be set to true and there will be taken care of [signal@Gtk.Widget::query-tooltip] in the default signal handler.

Note that if both [property@Gtk.Widget:tooltip-text] and [property@Gtk.Widget:tooltip-markup] are set, the last one wins.

Inherited from

WidgetProps.tooltipText


truncateMultiline?

optional truncateMultiline: boolean

Defined in: react/src/generated/jsx.ts:5584

When true, pasted multi-line text is truncated to the first line.


valign?

optional valign: Align

Defined in: react/src/generated/jsx.ts:571

How to distribute vertical space if widget gets extra space.

Inherited from

WidgetProps.valign


vexpand?

optional vexpand: boolean

Defined in: react/src/generated/jsx.ts:573

Whether to expand vertically.

Inherited from

WidgetProps.vexpand


vexpandSet?

optional vexpandSet: boolean

Defined in: react/src/generated/jsx.ts:575

Whether to use the vexpand property.

Inherited from

WidgetProps.vexpandSet


visibility?

optional visibility: boolean

Defined in: react/src/generated/jsx.ts:5586

If false, the text is masked with the “invisible char”.


visible?

optional visible: boolean

Defined in: react/src/generated/jsx.ts:577

Whether the widget is visible.

Inherited from

WidgetProps.visible


widthChars?

optional widthChars: number

Defined in: react/src/generated/jsx.ts:5600

Number of characters to leave space for in the entry.


widthRequest?

optional widthRequest: number

Defined in: react/src/generated/jsx.ts:583

Overrides for width request of the widget.

If this is -1, the natural request will be used.

Inherited from

WidgetProps.widthRequest


xalign?

optional xalign: number

Defined in: react/src/generated/jsx.ts:5606

The horizontal alignment, from 0 (left) to 1 (right).

Reversed for RTL layouts.