import efl_text_types; 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]] methods { @property main_cursor { [[The user visible cursor.]] get {} values { cursor: Efl.Text.Cursor; [[The user visible cursor.]] } } @property selection_allowed { [[Whether or not selection is allowed on this object.]] set {} get {} values { allowed: bool; [[$true if enabled, $false otherwise.]] } } @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 text interactives are editable. However setting this property to $false will make it so that key input will be disregarded. ]] 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.]] } } all_unselect { [[Clears the selection.]] } all_select { [[Select all the content.]] } @property have_selection { [[Whether the entry have a selected text. ]] get { } values { selected: bool; [[If $true, entry have selected text, $false otherwise.]] } } } 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]] } }