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. 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.]] } } @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.]] } }