efl/src/lib/edje/efl_canvas_layout_part_inva...

59 lines
2.3 KiB
Plaintext
Raw Normal View History

class @beta Efl.Canvas.Layout_Part_Invalid extends Efl.Canvas.Layout_Part implements Efl.Content,
Efl.Pack_Linear, Efl.Ui.Layout_Orientable_Readonly,
Efl.Pack_Table, Efl.Text,
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
Efl.Text_Markup
2018-01-15 23:02:33 -08:00
{
[[Common class for part proxy objects for @Efl.Canvas.Layout.
As an @Efl.Part implementation class, all objects of this class are meant
to be used for one and only one function call. In pseudo-code, the use
of object of this type looks like the following:
rect = layout.part("somepart").geometry_get();
]]
data: null;
implements {
// Efl.Canvas.Layout.Part
Efl.Canvas.Layout_Part.state { get; }
Efl.Canvas.Layout_Part_Type_Provider.part_type { get; }
Efl.Gfx.Entity.geometry { get; }
2018-01-15 23:02:33 -08:00
Efl.Ui.Drag.drag_value { set; get; }
Efl.Ui.Drag.drag_size { set; get; }
Efl.Ui.Drag.drag_dir { get; }
Efl.Ui.Drag.drag_step { set; get; }
Efl.Ui.Drag.drag_step_move;
Efl.Ui.Drag.drag_page { set; get; }
Efl.Ui.Drag.drag_page_move;
// Efl.Canvas.Layout_Part_Swallow & External
2018-01-15 23:02:33 -08:00
Efl.Content.content { get; set; }
Efl.Content.content_unset;
// Efl.Canvas.Layout_Part_Text
2018-01-15 23:02:33 -08:00
Efl.Text.text { set; get; }
Efl.Text_Markup.markup { get; set; }
// Efl.Canvas.Layout_Part_Box
2018-01-15 23:02:33 -08:00
Efl.Container.content_iterate;
Efl.Container.content_count;
Efl.Pack.pack_clear;
Efl.Pack.unpack_all;
Efl.Pack.unpack;
Efl.Pack.pack;
Efl.Pack_Linear.pack_begin;
Efl.Pack_Linear.pack_end;
Efl.Pack_Linear.pack_before;
Efl.Pack_Linear.pack_after;
Efl.Pack_Linear.pack_at;
Efl.Pack_Linear.pack_content_get;
Efl.Pack_Linear.pack_unpack_at;
Efl.Pack_Linear.pack_index_get;
Efl.Ui.Layout_Orientable.orientation { get; [[Returns $default if unknown.]] }
// Efl.Canvas.Layout_Part_Table
Efl.Pack_Table.pack_table;
Efl.Pack_Table.table_content_get;
Efl.Pack_Table.table_contents_get;
Efl.Pack_Table.table_cell_column { get; set; }
Efl.Pack_Table.table_cell_row { get; set; }
Efl.Pack_Table.table_size { get; }
Efl.Pack_Table.table_columns { get; }
Efl.Pack_Table.table_rows { get; }
2018-01-15 23:02:33 -08:00
}
}