efl/src/lib/elementary/efl_text_interactive.eo

89 lines
3.3 KiB
Plaintext
Raw Normal View History

import efl_text_types;
interface Efl.Text_Interactive extends Efl.Text, Efl.Text_Font_Properties,
Efl.Text_Format, Efl.Text_Style
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
{
[[Interface for interactive (editable) text inputs (text entries).
It handles cursors, edition and selection.
@since 1.24
]]
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
methods {
Efl.Text.Cursor Summary: Implementation of new cursor text object. This Patch Contains : 1- Remove Efl.Text.Cursor & Efl.Text_Markup_Interactive interfaces and replace them with one Class Efl.Text.Cursor => there are some modifications on cursor methods 2- Update all related classes to use Efl.Text.Cursor object instead of the old interfaces 3- If class uses Efl.Text_Cursor_Cursor (handle), mainly annotation it will stay as it is until we update other annotations into attribute_factory 4- Add main cursor property into efl.text.interactive 5- Add cursor_new method in efl.ui.text (I think we may move it into efl.text.interactive interface) There still some parts that need discussion: especially cursor movement functionality, I prefer to move function with Enum, instead of special function for each movement. ``` enum @beta Efl.Text.Cursor_Move_Type { [[Text cursor movement types]] char_next, [[Advances to the next character]] char_prev, [[Advances to the previous character]] cluster_next, [[Advances to the next grapheme cluster]] cluster_prev, [[Advances to the previous grapheme cluster]] paragraph_start, [[Advances to the first character in this paragraph]] paragraph_end, [[Advances to the last character in this paragraph]] word_start, [[Advance to current word start]] word_end, [[Advance to current word end]] line_start, [[Advance to current line first character]] line_end, [[Advance to current line last character]] paragraph_first, [[Advance to current paragraph first character]] paragraph_last, [[Advance to current paragraph last character]] paragraph_next, [[Advances to the start of the next text node]] paragraph_prev [[Advances to the end of the previous text node]] } move { [[Move the cursor]] params { @in type: Efl.Text.Cursor_Move_Type; [[The type of movement]] } return: bool; [[True if actually moved]] } ``` or old way: ``` char_next { [[Advances to the next character]] // FIXME: Make the number of characters we moved by? Useful for all the other functions return: bool; [[True if actually moved]] } char_prev { [[Advances to the previous character]] return: bool; [[True if actually moved]] } char_delete { [[Deletes a single character from position pointed by given cursor.]] } cluster_next { [[Advances to the next grapheme cluster]] return: bool; [[True if actually moved]] } cluster_prev { [[Advances to the previous grapheme cluster]] return: bool; [[True if actually moved]] } // FIXME: paragraph_end is inconsistent with word_end. The one goes to the last character and the other after the last character. paragraph_start { [[Advances to the first character in this paragraph]] return: bool; [[True if actually moved]] } paragraph_end { [[Advances to the last character in this paragraph]] return: bool; [[True if actually moved]] } word_start { [[Advance to current word start]] return: bool; [[True if actually moved]] } word_end { [[Advance to current word end]] return: bool; [[True if actually moved]] } line_start { [[Advance to current line first character]] return: bool; [[True if actually moved]] } line_end { [[Advance to current line last character]] return: bool; [[True if actually moved]] } paragraph_first { [[Advance to current paragraph first character]] return: bool; [[True if actually moved]] } paragraph_last { [[Advance to current paragraph last character]] return: bool; [[True if actually moved]] } paragraph_next { [[Advances to the start of the next text node]] return: bool; [[True if actually moved]] } paragraph_prev { [[Advances to the end of the previous text node]] return: bool; [[True if actually moved]] } ``` Reviewers: woohyun, tasn, segfaultxavi Reviewed By: woohyun Subscribers: a.srour, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10542
2019-11-22 00:35:54 -08:00
@property main_cursor {
[[The cursor used to insert new text, the one that's visible to the user.]]
Efl.Text.Cursor Summary: Implementation of new cursor text object. This Patch Contains : 1- Remove Efl.Text.Cursor & Efl.Text_Markup_Interactive interfaces and replace them with one Class Efl.Text.Cursor => there are some modifications on cursor methods 2- Update all related classes to use Efl.Text.Cursor object instead of the old interfaces 3- If class uses Efl.Text_Cursor_Cursor (handle), mainly annotation it will stay as it is until we update other annotations into attribute_factory 4- Add main cursor property into efl.text.interactive 5- Add cursor_new method in efl.ui.text (I think we may move it into efl.text.interactive interface) There still some parts that need discussion: especially cursor movement functionality, I prefer to move function with Enum, instead of special function for each movement. ``` enum @beta Efl.Text.Cursor_Move_Type { [[Text cursor movement types]] char_next, [[Advances to the next character]] char_prev, [[Advances to the previous character]] cluster_next, [[Advances to the next grapheme cluster]] cluster_prev, [[Advances to the previous grapheme cluster]] paragraph_start, [[Advances to the first character in this paragraph]] paragraph_end, [[Advances to the last character in this paragraph]] word_start, [[Advance to current word start]] word_end, [[Advance to current word end]] line_start, [[Advance to current line first character]] line_end, [[Advance to current line last character]] paragraph_first, [[Advance to current paragraph first character]] paragraph_last, [[Advance to current paragraph last character]] paragraph_next, [[Advances to the start of the next text node]] paragraph_prev [[Advances to the end of the previous text node]] } move { [[Move the cursor]] params { @in type: Efl.Text.Cursor_Move_Type; [[The type of movement]] } return: bool; [[True if actually moved]] } ``` or old way: ``` char_next { [[Advances to the next character]] // FIXME: Make the number of characters we moved by? Useful for all the other functions return: bool; [[True if actually moved]] } char_prev { [[Advances to the previous character]] return: bool; [[True if actually moved]] } char_delete { [[Deletes a single character from position pointed by given cursor.]] } cluster_next { [[Advances to the next grapheme cluster]] return: bool; [[True if actually moved]] } cluster_prev { [[Advances to the previous grapheme cluster]] return: bool; [[True if actually moved]] } // FIXME: paragraph_end is inconsistent with word_end. The one goes to the last character and the other after the last character. paragraph_start { [[Advances to the first character in this paragraph]] return: bool; [[True if actually moved]] } paragraph_end { [[Advances to the last character in this paragraph]] return: bool; [[True if actually moved]] } word_start { [[Advance to current word start]] return: bool; [[True if actually moved]] } word_end { [[Advance to current word end]] return: bool; [[True if actually moved]] } line_start { [[Advance to current line first character]] return: bool; [[True if actually moved]] } line_end { [[Advance to current line last character]] return: bool; [[True if actually moved]] } paragraph_first { [[Advance to current paragraph first character]] return: bool; [[True if actually moved]] } paragraph_last { [[Advance to current paragraph last character]] return: bool; [[True if actually moved]] } paragraph_next { [[Advances to the start of the next text node]] return: bool; [[True if actually moved]] } paragraph_prev { [[Advances to the end of the previous text node]] return: bool; [[True if actually moved]] } ``` Reviewers: woohyun, tasn, segfaultxavi Reviewed By: woohyun Subscribers: a.srour, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10542
2019-11-22 00:35:54 -08:00
get {}
values {
cursor: Efl.Text.Cursor; [[The cursor visible to the user.]]
Efl.Text.Cursor Summary: Implementation of new cursor text object. This Patch Contains : 1- Remove Efl.Text.Cursor & Efl.Text_Markup_Interactive interfaces and replace them with one Class Efl.Text.Cursor => there are some modifications on cursor methods 2- Update all related classes to use Efl.Text.Cursor object instead of the old interfaces 3- If class uses Efl.Text_Cursor_Cursor (handle), mainly annotation it will stay as it is until we update other annotations into attribute_factory 4- Add main cursor property into efl.text.interactive 5- Add cursor_new method in efl.ui.text (I think we may move it into efl.text.interactive interface) There still some parts that need discussion: especially cursor movement functionality, I prefer to move function with Enum, instead of special function for each movement. ``` enum @beta Efl.Text.Cursor_Move_Type { [[Text cursor movement types]] char_next, [[Advances to the next character]] char_prev, [[Advances to the previous character]] cluster_next, [[Advances to the next grapheme cluster]] cluster_prev, [[Advances to the previous grapheme cluster]] paragraph_start, [[Advances to the first character in this paragraph]] paragraph_end, [[Advances to the last character in this paragraph]] word_start, [[Advance to current word start]] word_end, [[Advance to current word end]] line_start, [[Advance to current line first character]] line_end, [[Advance to current line last character]] paragraph_first, [[Advance to current paragraph first character]] paragraph_last, [[Advance to current paragraph last character]] paragraph_next, [[Advances to the start of the next text node]] paragraph_prev [[Advances to the end of the previous text node]] } move { [[Move the cursor]] params { @in type: Efl.Text.Cursor_Move_Type; [[The type of movement]] } return: bool; [[True if actually moved]] } ``` or old way: ``` char_next { [[Advances to the next character]] // FIXME: Make the number of characters we moved by? Useful for all the other functions return: bool; [[True if actually moved]] } char_prev { [[Advances to the previous character]] return: bool; [[True if actually moved]] } char_delete { [[Deletes a single character from position pointed by given cursor.]] } cluster_next { [[Advances to the next grapheme cluster]] return: bool; [[True if actually moved]] } cluster_prev { [[Advances to the previous grapheme cluster]] return: bool; [[True if actually moved]] } // FIXME: paragraph_end is inconsistent with word_end. The one goes to the last character and the other after the last character. paragraph_start { [[Advances to the first character in this paragraph]] return: bool; [[True if actually moved]] } paragraph_end { [[Advances to the last character in this paragraph]] return: bool; [[True if actually moved]] } word_start { [[Advance to current word start]] return: bool; [[True if actually moved]] } word_end { [[Advance to current word end]] return: bool; [[True if actually moved]] } line_start { [[Advance to current line first character]] return: bool; [[True if actually moved]] } line_end { [[Advance to current line last character]] return: bool; [[True if actually moved]] } paragraph_first { [[Advance to current paragraph first character]] return: bool; [[True if actually moved]] } paragraph_last { [[Advance to current paragraph last character]] return: bool; [[True if actually moved]] } paragraph_next { [[Advances to the start of the next text node]] return: bool; [[True if actually moved]] } paragraph_prev { [[Advances to the end of the previous text node]] return: bool; [[True if actually moved]] } ``` Reviewers: woohyun, tasn, segfaultxavi Reviewed By: woohyun Subscribers: a.srour, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10542
2019-11-22 00:35:54 -08:00
}
}
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
@property selection_allowed {
[[Whether or not text selection is allowed on this object.]]
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
set {}
get {}
values {
allowed: bool; [[$true if enabled.]]
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
}
}
@property selection_cursors {
[[The cursors used for selection handling.
If the cursors are equal there's no selection.
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
]]
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.]]
}
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
values {
start: Efl.Text.Cursor; [[The start of the selection.]]
end: Efl.Text.Cursor; [[The end of the selection.]]
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
}
}
@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.]]
}
}
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
}
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: Eina.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.]]
Ui text interactive: introduce this new object (rebase squash) @feature Ui text: Add a new interactive version of Canvas.Text This object is internal and is essentially a Canvas.Text that accepts key and mouse input. It should be used by Ui.Text as the text layout/input driver. Ui text interactive: Add include guard to header. Ui internal text: Improve input handling support and add selection. Ui internal text: Add a lot of imf stuff. Add more text selection handling code. Add support for allowing selection. Efl.Ui.Text.Interactive: (reword) code format fix. Efl.Ui.Text.Interactive: Remove useless struct members. Add multiline toggle support and a constructor. Text interactive: Add support for legcay newline. Text interactive: Use the new cursor_equal function. Efl.Ui.Text.Interactive: (Rebase split) fixup cursor Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage Text interactive: Cleanup tab/return handling. Text interactive: Use cursor_equal more. Text interactive: Simplify and unify selection handling in key input. Text interactive: Fix user text change reporting. This is useful for implementing undo/redo. Text interactive: Add documentation to event. Efl text interactive: (Rebase reword) Add a new interface to be used later. Ui text interactive: Migrate one missing change_info call. Ui text interactive: Mark the correct type for the change event. Ui text interactive: (Edited) Move to elementary and add "selection,changed". This is useful for implementing selection handlers. We had to move it to elementary because we started referencing cursors. Ui internal: Emit an event for selection changed. Ui text interactive: Remove unused code. Ui text interactive: Remove more unused code. Ui text interactive: Remove more unused code. Ui text interactive: Rename improperly named function. Ui text interactive: Update code to the new canvas text api. Ui text interactive: provide access to the selection cursors. This is the new API for manipulation selection outside of the object. Just manipulate these cursors to manipulate the selection. Fix previous commit. Ui interactive: Clean up internal functions. Ui interactive: Fix abuse of selection in word deletion. Ui text interactive: Fix selection. Ui text interactive: Fix right key to move next. Ui text interactive: Fix selection using keyboard. Ui text interactive: Don't emit selection changed events twice. We now use the cursor changed event to track changes, so no need to manually emit events ourselves. Ui Text interactive: Remove selection,cleared signal, use changed instead. If the selection cursors are equal, there's no selection, if they are different, there is. Ui text interactive: remove redundant code. Ui text interactive: Don't emit selection changed events on init. Ui text interactive: Remove unused variable. Efl.Ui.Interactive: fixup char_coor usage Ui text interactive: Fix some fixmes. Ui text interactive: fix selection_cursors_get Ui text interactive: Skip key down events if marked ON_HOLD.
2016-06-08 03:45:40 -07:00
}
}