I've been meaning to open this before but phab was down all day today. Here it is now. :)
Thanks to @ali.alzyod, raw_editable is shaping up nicely and should be mostly ready. We can start working on efl2.ui.text which will use that.
The main difference is that now, instead of a textblock edje part, we will just use a swallow part in the theme, and swallow a raw_editable object we created on our own.
In addition to that we will need to:
- Make sure sizing hints + scroller work correctly (and efficiently).
- Composite object is set up correctly so functions go through (including being able to run the examples @ali.alzyod have been creating).
- Load the cursor, background, and all the other theme parts from the theme.
- Load the style (slightly differently) from the theme.
- Set a few more parameters that are no longer in style directly in theme data parts (e.g. wrap mode).
The goal of this task is having a working efl2.ui.text widget. It may not be necessarily fully operational, for example, until canvas.text and raw_editable are ready, but at least it should be mostly done and just depend on them to finish.
Edit: more stuff:
- Implement undo/redo directly inside the object. Probably means a way to also trigger them from the outside (two functions, undo and redo). Also need a way to disable it though and only have it externally in case someone wants to handle their own undo stack.
- Progressive loading that we had in elm_entry, including the TEXT_SET_DONE event.
- Remove the undo/redo (events) and copy/cut/paste parts from raw_editable and move them into ui text I think. These should be configurable based on elm_config (think cross-platform or just people changing settings), so they should be defined in the widget itself.