interface @beta Efl.Text_Interactive extends Efl.Text, Efl.Text_Font,
Efl.Text_Format, Efl.Text_Style
{
- [[This is an interface interactive text inputs should implement]]
+ [[Interface for interactive (editable) text inputs (text entries).
+
+ It handles cursors, edition and selection.
+ ]]
methods {
@property main_cursor {
- [[The user visible cursor.]]
+ [[The cursor used to insert new text, the one that's visible to the user.]]
get {}
values {
- cursor: Efl.Text.Cursor; [[The user visible cursor.]]
+ cursor: Efl.Text.Cursor; [[The cursor visible to the user.]]
}
}
@property selection_allowed {
- [[Whether or not selection is allowed on this object.]]
+ [[Whether or not text selection is allowed on this object.]]
set {}
get {}
values {
- allowed: bool; [[$true if enabled, $false otherwise.]]
+ allowed: bool; [[$true if enabled.]]
}
}
@property selection_cursors {
[[The cursors used for selection handling.
- If the cursors are equal there's
- no selection.
+ If the cursors are equal there's no selection.
You are allowed to retain and modify them. Modifying them modifies
the selection of the object.
]]
get {}
values {
- start: Efl.Text.Cursor; [[The start of the selection]]
- end: Efl.Text.Cursor; [[The end of the selection]]
+ start: Efl.Text.Cursor; [[The start of the selection.]]
+ end: Efl.Text.Cursor; [[The end of the selection.]]
}
}
@property editable {
[[Whether the entry is editable.
- By default text interactives are editable. However setting this
- property to $false will make it so that key input will be disregarded.
+ By default interactive text objects are editable. Setting this
+ property to $false will disregard all keyboard input.
]]
set {
}
get {
}
values {
- editable: bool; [[If $true, user input will be inserted in the entry,
- if not, the entry is read-only and no user input is allowed.]]
+ editable: bool; [[If $true, user input can modify the text.
+ Otherwise, the entry is read-only and no user input is allowed.]]
}
}
all_unselect {
[[Select all the content.]]
}
@property have_selection {
- [[Whether the entry have a selected text.
+ [[Whether the entry has a selected text.
]]
get {
}
values {
- selected: bool; [[If $true, entry have selected text, $false otherwise.]]
+ selected: bool; [[If $true, entry has selected text.]]
}
}
}
events {
- preedit,changed: void; [[Called when entry preedit changed.]]
- have_selection,changed: bool; [[Called when @.have_selection property value changed.]]
- selection,changed: Efl.Text_Range; [[Called when selection has changed. Query using @.selection_cursors.]]
- redo,request: void; [[Called when redo is requested]]
- undo,request: void; [[Called when undo is requested]]
- changed,user: Efl.Text_Change_Info; [[The content has changed due to user interaction.]]
- // FIXME: efl_ui_text doesn't support anchor callbacks yet.
- //anchor,down: Elm.Entry_Anchor_Info; [[Called on anchor down]]
- //anchor,hover,opened: Elm.Entry_Anchor_Hover_Info; [[Called when hover opened]]
- //anchor,in: Elm.Entry_Anchor_Info; [[Called on anchor in]]
- //anchor,out: Elm.Entry_Anchor_Info; [[Called on anchor out]]
- //anchor,up: Elm.Entry_Anchor_Info; [[called on anchor up]]
+ preedit,changed: void; [[Emitted when key presses do not result in a new character being added.
+ Multiple key presses are needed to produce a character in some languages like
+ Korean, for example. Each of these key presses will emit a @[.preedit,changed]
+ event but only the last one will emit a @[.changed,user] event.
+ ]]
+ have_selection,changed: bool; [[Emitted when the @.have_selection property value changes.]]
+ selection,changed: Efl.Text_Range; [[Emitted when selection has changed. Query using @.selection_cursors.]]
+ redo,request: void; [[Emitted when a redo operation is requested.]]
+ undo,request: void; [[Emitted when a undo operation is requested.]]
+ changed,user: Efl.Text_Change_Info; [[Emitted when the text content has changed due to user interaction.]]
}
}