Summary: Signed-off-by: Sanjeev BA <iamsanjeev@gmail.com>
Test Plan: Test with edi.
Reviewers: ajwillia.ms, jpeg, cedric
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4971
Test scenario:
elementary_test -to "Window Inline"
Click on an entry, select some text (maybe with the keyboard)
There was a CRI message inside _ecore_evas_interface_get because
ecore_evas_wayland2_window_get() was called on an X11 ecore_evas
(not wayland).
The function was supposed to return NULL here.
This is, unlike what some of the documentation says, a public
API on elm_object. Let's place it along mirrored for consistency,
even if edje object will not implement it.
Ref T5363
Summary:
Radio, MBE items, color selector items have ELM_ATSPI_ROLE_RADIO_BUTTON role, when one item
is selected the other items are automatically unselected, so a notification has to be sent in atspi mode
to read the status accordingly
Test Plan:
In ATSPI mode when radio, mbe item, color selector item is selected
status has to notified.
Reviewers: kimcinoo, cedric
Subscribers: govi, rajeshps, jpeg
Differential Revision: https://phab.enlightenment.org/D4960
Summary:
There are several problem is left on recursize content calc.
previously genlist only calculate size of layout class,
but after recursive content group calculation patch,
layout couldn't get proper size because sizing eval is
not pre-processed.
Test Plan: elementary test working fine.
Reviewers: jpeg, cedric, raster, conr2d
Differential Revision: https://phab.enlightenment.org/D4952
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
It was always returning true. There is little point in returning
a bool here, an invalid scale value (eg. <= 0) wouuld lead to a
state where scale_get() != scale_set() and that's about it.
eo_prefix are set to "efl_text".
Also, "Efl.Text.Format" is shortened to now include the "_format"
prefix.
"Efl.Text.Font" keeps the "_font" prefix, for better readability.
This should later be setup through the theme.
One option will be to use global text classes.
Until the above is finalized, at least set this font and size to make
setup of the widget a bit easier.
The following API is now supported with efl_part:
- Efl.Text.text { set; get; }
- Efl.Text.Cursor.cursor { get; }
- Efl.Text.Cursor.cursor_paragraph_first;
- Efl.Text.Cursor.cursor_paragraph_last;
- Efl.Text.Cursor.cursor_position { set; get; }
- Efl.Text.Cursor.cursor_coord_set;
- Efl.Text.Cursor.cursor_line_char_first;
- Efl.Text.Cursor.cursor_line_char_last;
- Efl.Text.Cursor.cursor_char_next;
- Efl.Text.Cursor.cursor_char_prev;
- Efl.Text.Cursor.cursor_line_jump_by;
- Efl.Text.Cursor.cursor_copy;
- Efl.Text.Cursor.cursor_content { get; }
- Efl.Text.Cursor.cursor_geometry { get; }
- Efl.Text.Cursor.cursor_text_insert;
Many of the 'part_text' functionality was moved to legacy, too.
See the edje_object.eo to see which ones are still supported.
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.
image.zoomable can load edj files now.
usage:
efl_file_set(zoomable, "../somefile.edj", "mygroupname");
test:
elm_test -> photocam
click "open" btn
select an edj file, it would show first group in selected edj file.
@feature
Summary:
Genlist item doesn't change its size when its content size is changed,
but its size is determined in realization.
Therefore, deferred calculations for content should be performed immediately
before swallowing it by genlist item.
Test Plan: make and run attached sample
Reviewers: jpeg, SanghyeonLee, cedric
Differential Revision: https://phab.enlightenment.org/D4705
Summary:
To recieve keyboard events, the entry_edje should have Evas focus.
But, if a non editable Entry widget takes focus, it can't recieve
keyboard events even if it becomes editable after taking focus.
So, elm_entry_editable_set() function should update Entry's focus state.
@fix
Test Plan:
The code of elementary_test - entry is modified to test this issue.
Please, check the issue with the following steps.
1. Run "elementary_test entry"
2. Click "Unfocus" button to make entry to "unfocused" state.
3. Click "Edit" button to make entry to non-editable mode.
4. Click "Focus" button to make entry to "focused" state.
5. Click "Edit" button to make entry to editable mode.
6. See a cursor is blinking in entry.
=> But, you can't edit text without this patch.
Reviewers: raster, herdsman, cedric, jpeg, woohyun
Differential Revision: https://phab.enlightenment.org/D4858
Summary:
- elm_panel has a property named hidden which stores
open/close status.
- This is updated when:
1. bring_in animation is done(anim_stop_cb).
2. mouse_up on panel.
3. API is called. (elm_panel_toggle, elm_panel_hidden_set)
- In case 3, API changes hidden, and starts bring_in animation
which will call anim_stop_cb() which will update hidden again.
- If bring_in animation is canceled (eg: sizing_eval),
anim_stop_cb will be called and calculate hidden status
which will not guarantee updated hidden state by APIs.
Test Plan:
1. Call any APIs which will call elm_layout_sizing_eval(panel)
right after calling elm_panel_toggle()/elm_panel_hidden_set().
2. Delete content of panel during "toggled" cb.
Reviewers: jpeg, eunue, cedric
Subscribers: conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4704
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Summary:
Problem that scroller is not mirrored in RTL mode has been fixed in D4908.
However, I found a problem in init process.
I will revert D4908 commit(https://phab.enlightenment.org/D4908).
After edje_obj is initialized, mirrored_set is called.
When wanted_region_set is called, x-coordinate flip normally and acts as RTL.
Test Plan: scroller test on elementary_test.
Reviewers: raster, woohyun, SanghyeonLee, akanad, eagleeye, cedric, singh.amitesh, eunue
Subscribers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D4944
Summary:
This reverts commit de313d6296.
Because x-coordination mirroring is called properly from wanted_regison_set.
There was a problem in scroller init process.
Before edje_obj was initialize in elm_interface_scrollable_objects_set, mirrored_set was being called.
So Move mirrored_set after elm_interface_scrollable_objects_set
it can fix this issue(https://phab.enlightenment.org/D4944)
Reviewers: raster, woohyun, SanghyeonLee, akanad, eagleeye, cedric, singh.amitesh, eunue
Subscribers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D4945
Summary:
Fixes that a scroller can not be moved normally even if it is changed to mirrored.
In elm_scroller, _mirrored_set is called when sizing_eval is called. because
When content size is changed, it should be scrolled based on mirrored coordinates.
Also In elm_interface_scrollable,
elm_interface_scrollable_content_pos_set of _elm_scrollable_mirrored_set
to be called regardless of mirrored state.
Test Plan: scroller test on elementary_test.
Reviewers: raster, woohyun, SanghyeonLee, akanad, eagleeye, cedric, singh.amitesh, eunue
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4908
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Reason for role change:
MBE items do not act like push buttons, they need to maintain their status and at a time only one item can be selected, they act like radio buttons.
Role change of MBE from entry to panel, because MBE is just a container and entry is one of the children, when entry gets access frame, it will work as how entry works, but making MBE role as entry does not work as expected and also MBE should not receive highlight as a whole but only its children should receive highlight one more reason why MBE role cannot be entry.
state_set_get API added to get items state.
Test Plan:
When atspi mode is enabled the access frame has to
navigate directly on item and not on MBE as a whole and state has to
be read out
Reviewers: kimcinoo, cedric
Reviewed By: cedric
Subscribers: cedric, govi, rajeshps, jpeg
Differential Revision: https://phab.enlightenment.org/D4925
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When password mode is changed, the change has to reflect on already running
apps as well. config_sub_apply will not be called for an already running app.
Test Plan:
1. 2 running process
2. Change the config value of password last show in one process
3. Check whether the change has reflected in previous process.
Signed-off By: Shilpa Singh<shilpa.singh@samsung.com>
Reviewers: jpeg, cedric, thiepha
Subscribers: govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D4916
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If popup scrollable change from FALSE to TRUE after content or text is added,
content_area is deleted, so it cause null pointer problem.
main_layout has content_area in its CONTENT_PART, but in scrollable_set API,
tbl set into main_layout's CONTENT_PART, so content_area is deleted.
On the contrary, if scrollable change to FALSE,
content object in content_area is deleted, because tbl set into content_area's CONTENT_PART.
So if some object set into other object,
unset previous object and set it into properly part after that.
A case using item_append should be fixed by other patch.
@fix
Test Plan: Change scrollable repeatedly after adding content or text to popup.
Reviewers: jpeg, singh.amitesh, conr2d, cedric, raster
Reviewed By: cedric
Subscribers: herb
Differential Revision: https://phab.enlightenment.org/D4894
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The API was not working because of an internal logical error.
@fix
Test Plan: Calling elm_calendar_interval_set API in elementary_test.
Reviewers: jpeg, cedric, Hermet, woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4891
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Eina Debug is a layer aimed to bring a way to debug EFL applications by
providing a transport channel between a debug tool and the applications
of a device.
In order to be interrupted by EFL core as less as possible, the communication
is done in a separated thread.
The Ecore loop is not used there, as well as the Ecore helpers (socket...).
Debugging operations can be registered easily by any layer of the application.
To use it:
- Launch efl_debugd
- Launch the application to debug
- Launch Clouseau (the new version will be pushed soon) or another debug tool
supporting Eina Debug
The expected usage is efl_text_set(efl_part(layout, part), text);
Same for text_get.
Also, added an example how to make API easier with providing
efl_text_set/get for the widget itself, in efl_ui_button. Please see
this example.
Summary:
Item: state_set_get, name, actions api added
Widget: children_get api added.
Test Plan:
In Accessibility mode, on item tap, color name should be read out,
and if the color is a selected color, state also should be read out.
Reviewers: kimcinoo
Subscribers: cedric, jpeg, govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D4934
Summary:
object_mirroed_set as opposed to config_mirrored_set doesn't work with
popup. This patch broadcasts a change on 'mirrored' to internal notify,
main layout, scroller and action area layout to make API work.
@fix
Reviewers: singh.amitesh, jpeg, conr2d, cedric, raster
Reviewed By: conr2d
Subscribers: herb
Differential Revision: https://phab.enlightenment.org/D4900
Since this was moved into the two genlist and gengrid files I get
redefinition warnings during the build and when generating the docs
eolian actually errors out on me and stops parsing.
elm_widget_theme_object_get now return Elm_Theme_Apply enum not bools.
only ELM_THEME_APPLY_FAILED case, need to re-apply default item edje.
Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
This size hint is only used by naviframe, which is not part of
our EO widgets. I also believe it might be an even more confusing
hint than the others.
I kept the typedef as is in Evas_Legacy.h in case an app is
written using EFL_GFX_ instead of EVAS_...
This changes a few method names:
- freeze -> calc_freeze
- thaw -> calc_thaw
- update_hints -> calc_update_hints
Otherwise this is mostly about reshuffling the EO file itself
and changing documentation.
Ref T5315
This moves all part_drag APIs to legacy and implements them for
EO using efl_part(). All parts now support these APIs, even if
they are not draggable. Making this more fine grained would
probably be much extra work for little gain.
This creates a new interface Efl.Ui.Drag.
Summary:
Other widgets remove previous object when setting new content, but popup does
nothing for the part whose name is "default".
content_unset can be used to keep previous content object, so content_set
(especially with NULL) should be able to delete previous content object
for uniformity of the entire widgets.
@fix
Reviewers: jpeg, singh.amitesh, cedric, raster, conr2d
Reviewed By: conr2d
Subscribers: minkyu, herb
Differential Revision: https://phab.enlightenment.org/D4885
Summary:
fix wrong initial value for ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL mode
@fix
Test Plan:
1. set zoom mode of photocam to ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL in text_photocam.c example
2. run elementary_test -to photocam
3. check it is working well
Reviewers: jpeg, cedric, raster, Hermet, singh.amitesh
Reviewed By: singh.amitesh
Differential Revision: https://phab.enlightenment.org/D4921
Summary:
If multi selection have 0 column and delete the selection, 0 + 1 column also
deleted
This fix that bug.
Also, remove needless code.
Test Plan:
1. select multi line with 0 column.
2. delete the selection
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4922
Most of the values were the same, with edje having just a couple
more error codes.
Not entirely sure the prefix Efl.Image is correct for this type.
Maybe just Efl.Load.Error?
This moves one enum from EO to legacy only (Ecore_Pos_Map).
Ideally the type should be in Ecore_Legacy and no Common, that
can be done later.
Ref T5522
once this widget is visible, It should handle the focus of its children
and leave no option to the underlaying widgets to gain focus.
This is implemented by making it a redirect when it gets visible.
Following a remark in the mailing list, it is pretty clear that
Efl.Gfx.View.view_size is not as simple as "image_size".
I have defined this new image_size as being the size of the
image file, and not what's currently loaded. So it will not
apply to proxies, gl views, 3d scenes, etc... but only to
standard image files loaded with file_set or mmap_set.
Supported objects:
- Efl.Canvas.Image (evas image)
- Efl.Ui.Image (elm image)
- Elm.Photocam (note: still needs some interface work)
@feature
Summary: The User requires this signal to handle spinner widget easily on their app.
Test Plan: Spinner test on elementary_test.
Reviewers: cedric, jpeg, Hermet, woohyun, Jaehyun, myoungwoon, Jaehyun_Cho
Reviewed By: myoungwoon, Jaehyun_Cho
Subscribers: myoungwoon, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4886
Summary:
An else statement was added in 5ebdf8f3 with no clause, resulting in the
bg_solid property becoming conditionalized such that it won't be set
correctly when HAVE_ELEMENTARY_WL2 is defined and there is no wayland
window in use.
Further, this also causes focus to be left undefined. Since there's no
window, presumably it should be turned off in this circumstance.
fix CID1375496, CID1375497
Reviewers: zmike
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4899
This should expose the proper definition of EAPI before including
elm_widget.h, as elm modules call internal APIs from elementary.
Thanks Mykyta for the report!
windows do not have pointers or cursors under wayland, seats do. due to
lack of multiseat support, most components simply use the "default" seat
with these functions, but this should make the corresponding code more
easily adaptable
the current (v6) xdg-shell spec reads as follows:
Client window decorations should be painted as if the window is
active. Do not assume this means that the window actually has
keyboard or pointer focus.
so this is not equivalent to receiving/losing input focus and should not
be propagated as such
@fix