88 lines
3.2 KiB
Plaintext
88 lines
3.2 KiB
Plaintext
import efl_text_types;
|
|
|
|
interface @beta Efl.Text_Interactive extends Efl.Text, Efl.Text_Font_Properties,
|
|
Efl.Text_Format, Efl.Text_Style
|
|
{
|
|
[[Interface for interactive (editable) text inputs (text entries).
|
|
|
|
It handles cursors, edition and selection.
|
|
]]
|
|
methods {
|
|
@property main_cursor {
|
|
[[The cursor used to insert new text, the one that's visible to the user.]]
|
|
get {}
|
|
values {
|
|
cursor: Efl.Text.Cursor; [[The cursor visible to the user.]]
|
|
}
|
|
}
|
|
@property selection_allowed {
|
|
[[Whether or not text selection is allowed on this object.]]
|
|
set {}
|
|
get {}
|
|
values {
|
|
allowed: bool; [[$true if enabled.]]
|
|
}
|
|
}
|
|
@property selection_cursors {
|
|
[[The cursors used for selection handling.
|
|
If the cursors are equal there's no selection.
|
|
]]
|
|
get {
|
|
[[You are allowed to retain and modify them. Modifying them modifies
|
|
the selection of the object (recommended to extend selection range).]]
|
|
}
|
|
set {
|
|
[[The positions of passed cursors will be used to set selection cursors positions.
|
|
Further modification for passed @Efl.Text.Cursor objects, will not affect selection.
|
|
Setter is recommended to set new range for selection.]]
|
|
}
|
|
values {
|
|
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 interactive text objects are editable. Setting this
|
|
property to $false will disregard all keyboard input.
|
|
]]
|
|
set {
|
|
}
|
|
get {
|
|
}
|
|
values {
|
|
editable: bool; [[If $true, user input can modify the text.
|
|
Otherwise, the entry is read-only and no user input is allowed.]]
|
|
}
|
|
}
|
|
all_unselect {
|
|
[[Clears the selection.]]
|
|
}
|
|
all_select {
|
|
[[Select all the content.]]
|
|
}
|
|
@property have_selection {
|
|
[[Whether the entry has a selected text.
|
|
]]
|
|
get {
|
|
}
|
|
values {
|
|
selected: bool; [[If $true, entry has selected text.]]
|
|
}
|
|
}
|
|
}
|
|
events {
|
|
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.]]
|
|
}
|
|
}
|