Commit Graph

7 Commits

Author SHA1 Message Date
Daniel Hirt d5f781da2b Efl text: replace all usages of cursor handle to same type
Changes cursor handle name from 'Efl.Text.Cursor.Cursor_Data' to
'Efl.Text.Cursor.Cursor'.
Also, replace all usages of Efl_Canvas_Text_Cursor
with Efl_Text_Cursor_Cursor as the handle for the cursor.
2017-07-17 16:51:45 +03:00
Daniel Hirt 30f74a759d Text cursor: add interface and implement in Canvas.Text 2017-06-11 23:58:52 +03:00
Daniel Hirt 49b838c448 Canvas text cursor: move to Efl.Canvas.Text namespace
Originally it was its own object.
There are some valid claims that there is no justification for it to
remain an object.
Furthermore, it's apparent that it added little benefit: changes of
each cursors, in practice, triggered a query for all objects of the
same textblock. There wasn't real advantage to have a finer resolution
of controlling the cursors with their own events.

This ports back a lot of code, and changes a lot of other code in the
higher-up widgets, such as Efl.Ui.Text and co.

The usage was replaces from:
  efl_canvas_text_cursor_char_next(cur_obj)
to
  efl_canvas_text_cursor_char_next(text_obj, cur_obj)
that is, it is an operations on the TEXT OBJECT, rather than on the
(now removed) cursor object.

So, one less efl object to worry about now.
Hopefully, the port went smooth.
2017-06-11 23:58:52 +03:00
Daniel Hirt e55b91aa91 Ui text: use 'wrap' and 'multiline' properties 2017-05-28 15:34:26 +03:00
Stefan Schmidt d603ea1de0 docs: efl_ui: fill gaps in efl_ui eo file documentation 2016-11-17 12:52:44 +01:00
Tom Hacohen 2fd8861874 Ui text: Add an editable variant (tiny wrapper).
As part of this commit, also add a way to change whether the widget is
editable or not.
2016-06-22 14:34:38 +01:00
Tom Hacohen eabf319b11 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-16 19:15:20 +01:00