Page MenuHomePhabricator

Implement efl2.ui.text (based on efl2.text.raw_editable) - including new theme structure
Open, Incoming QueuePublic

Description

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:

  1. Make sure sizing hints + scroller work correctly (and efficiently).
  2. Composite object is set up correctly so functions go through (including being able to run the examples @ali.alzyod have been creating).
  3. Load the cursor, background, and all the other theme parts from the theme.
  4. Load the style (slightly differently) from the theme.
  5. 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:

  1. 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.
  2. Progressive loading that we had in elm_entry, including the TEXT_SET_DONE event.
  3. 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.
tasn created this task.Sep 22 2019, 10:54 AM
tasn updated the task description. (Show Details)Oct 2 2019, 8:42 AM
tasn updated the task description. (Show Details)Oct 3 2019, 12:31 AM