Further reduction in eo overhead.
Differential Revision: https://phab.enlightenment.org/D7315
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Since we're already at the top of the list, we can do the WIN_CLASS test
much more cheaply.
Differential Revision: https://phab.enlightenment.org/D7314
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Placing the cheapest tests first can save on some heavy walks.
Differential Revision: https://phab.enlightenment.org/D7313
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
combining _tree_unfocusable and _tree_disabled into a single function
reduces eo overhead. This saves a few ms at startup in elementary_test.
Differential Revision: https://phab.enlightenment.org/D7308
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
this ensures that the item is focused once the item is realized.
The last_focused_item point is not NULLed anymore, it will be overridden
anyways a few lines below, if the 'if' below is not going to be
executed, then we should not NULL out the field at all, since we want to
remember the item when we are restoring focus in
_elm_gengrid_efl_ui_focus_manager_setup_on_first_touch.
This resolved the latest comment in D7230
This also resolves T7391.
Differential Revision: https://phab.enlightenment.org/D7271
with using the new api of efl.ui.focus.object we can resolve a bug that
was pointed out in P243.
Differential Revision: https://phab.enlightenment.org/D7267
this was forgotten before. However, now the correct parents are returned
This is needed in order to have the child_focus property propagated
correctly accross the parent chain.
Differential Revision: https://phab.enlightenment.org/D7266
focus managers can be used via composition, in this case the normal
manager is NOT inheriting from the
EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE class, but the composition
parent is.
fix T7390
Differential Revision: https://phab.enlightenment.org/D7230
Summary:
efl_ui_format printed ERR log in calendar use case.
calendar only accept format as "B,b,h,m,y,Y"
But it doesn't cover that and not supporting TM type.
If there is other widget which one using format interface, It also has own accpeted format.
So i think it should impelment on widget side.
Test Plan: elementary_test -> efl_ui_calendar.
Reviewers: Hermet, singh.amitesh, Jaehyun, zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6871
Summary:
Introduce new packable grid for Efl.Ui.Widget toolkits.
most of parts are same as Efl.Ui.List, and it also support Efl.Pack_Linear,
although it will not support Efl.Pack_Table, because item must be
arranged sequential orders.
Test Plan:
We will make the tests on efl ui test suite.
please test by make check.
Reviewers: Hermet, cedric, felipealmeida, eagleeye, woohyun
Reviewed By: Hermet, eagleeye
Subscribers: CHAN, bu5hm4n, cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6985
Summary:
Efl.Ui.Theme class is required to support language bindings.
Efl.Ui.Theme works based on current elm_theme features.
This patch fixes T7357.
Reviewers: segfaultxavi, cedric, lauromoura, woohyun, zmike, SanghyeonLee
Reviewed By: segfaultxavi, SanghyeonLee
Subscribers: SanghyeonLee, herdsman, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7357
Differential Revision: https://phab.enlightenment.org/D7244
Summary:
Efl.Ui.Bg interface does not have any new property or method.
Moreover, Efl.Ui.Bg interface is not used by widgets except
Efl.Ui.Bg_Widget and Efl.Ui.Widget_Part_Bg.
Consequently, Efl.Ui.Bg interface can be replaced by other interfaces.
Due to Efl.Ui.Bg interface, the bg widget class name becomes
Efl.UI.Bg_Widget which is not synchronized with other widget names.
Therefore, to keep consistency with other widgets, it would be better to
remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget to Efl.Ui.Bg.
Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7304
In some cases, like the example provided in the referred ticket, the
text is set during the construction of the object.
This adds another call to evaluate the size of the object at the end of
the "finalize" stage, and also removes the line that has set the text to
"".
Fixes T7468
Summary:
Efl.Ui.Layout namespace is removed to keep consistency with other
widgets.
Consequently, "Efl.Ui.Layout.Object" is renamed to "Efl.Ui.Layout" and
"Efl.Ui.Layout." is renamed to "Efl.Ui.Layout_".
Reviewers: segfaultxavi, bu5hm4n, cedric
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers, SanghyeonLee, woohyun
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7291
this is usefull for later implementations in spinner and fileselector.
A event for this was not added because the result is only really usefull
after a focus operation has been successfull.
Differential Revision: https://phab.enlightenment.org/D7102
Summary:
This commit removes some clashes (i.e. names as classes and namespaces
at the same time). It'll avoid nested items that are either forbidden
(C#) or problematic (Python) in some languages.
Reviewers: segfaultxavi, bu5hm4n, felipealmeida
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7260
cnp mode type was a mess. thankfully it was a bit simpler than it
seemed. cleaned up code to deal with it sanely and keep it a single
type as intended byt he api too.
so gcc likes to warn even if the truncation is intended. there are
verious ways around this, but in this case it's really just writing
your own ... which is pretty simple.
there is just too much warning noise for efl.
"default" should not be appended to the group name in new EFL interface
theme. e.g. "efl/button"
Therefore, if "default" is given as a style name, then the style name
should be converted to NULL for the group name in new EFL interface
theme.
This is a big rewrite. In addition to implementing functionality with
the new Efl interfaces, a lot of legacy (Elm) code was removed.
A lot of work is squashed in this patch as the widget would've been
completely broken otherwise.
The major changes are:
Life-cycle:
- Code was split to have 'finalize'
- Item anchors (emoticons, images) were rewritten to have proper
life-cycle
Scrolling logic:
- Efl.Ui.Internal_Text_Scroller widget was added, and replaces the old
Elm.Interface_Scrollable implementation. Singe-line and multi-line
modes were fixed as well as sizing calculations. The object is now
swallowed inside the Ui.Text widget.
Copy and paste:
- Code was converted to Efl.Selection logic.
Modified tests:
elementary_test -to "efl.ui.text"
elementary_test -to "efl.ui.text label"
Added tests:
elementary_test -to "efl.ui.text inputfield"
Removed test:
elementary_test -to "efl.ui.text.async"
This class inherits Efl.Ui.Scroller and has its own sizing_eval logic to
handle the text content sizing as needed.
It's kept internal as it only serves Efl.Ui.Text in a scrollable mode.
Summary:
View is not a namespace, but an interface,
So, View_List cannot be under the view namespace for now.
it looks more suite to be end as View than List on this widget name.
Firstly, it follows our common naming rules of class.
Also, List_View is commonly presentable name on most UI frameworks,
so it is very easy to understand what this widget can do for the user.
Test Plan:
Make works.
Example is not works for now til stable model interface.
Reviewers: felipealmeida, woohyun, cedric, Hermet
Reviewed By: Hermet
Subscribers: larryolj, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7234
Summary:
This API sets current time progression of the animation.
It intervenes current progress instantly when it requires
to jump onto a specific frame position.
@feature
Reviewers: #committers
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7211
Summary:
the logic of computation of pausing time was incorrect.
even it didn't take care of revert_mode at all.
delayed time must be subtracted from elapsed time.
@fix
Reviewers: #committers
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7201
prio.visible is ignored in case of SHRINK_EXPAND is used. every single
item is just stuffed into a box. Thus in case that the *more flag
indicates that another box is displayed (rather than not fitting items),
then we do not set the visibility flag on the item - as the item is used
anyways.
ref T6806.
Differential Revision: https://phab.enlightenment.org/D7185
In eo there is a difference between legacy events and normal events.
However, when a legacy event, that is called "focused" is emitted, the
event EFL_UI_FOCUS_MANAGER_FOCUSED is emitted on those objects. This
leads to bugs and unexpected results in elm_scroller, and additionally
this problem blocks work that is done right now to add those "focused"
event calls to gengrid.
Differential Revision: https://phab.enlightenment.org/D7099
While this is probably not entirely correct, it restores the
previous behavior. A proper fix would be to move .eo files that
do require header files into the pub_legacy_eo_files section but
that will require more effort and care. So until that is fixed,
just generate legacy as usual.
Summary:
Previously, it didn't allow to change duration because of implementation limit.
This time, it turns out it doesn't need to limit the behavior.
More capacity is better for various scenarioes.
Reviewers: #committers, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7205
Summary:
event.object is always NULL. it may cause unexpected behavior.
event.object should be assinged after sd->win is assinged.
Reviewers: akanad, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7208
This uses the meson/ninja depfile functionality + eolian to make
sure proper dependencies between generated files and .eo files
are managed, to ensure consistent re-generation of all generated
files that are affected upon .eo file modification.
For custom rules with multiple outputs, Ninja currently does not
support depfiles. Therefore, split those into two custom rules
so that the depfiles functionality can be enabled. While this
is ugly and slows down the process a little by having to invoke
Eolian twice instead of once, it has to be done and it's still
better than what we had in Autotools anyway.
Differential revision: D7187
Fixes T6700.
without this - elementary_config will crash, and elementary will not use
that much of Efreet. We might want to drop this #ifdef at some point.
Differential Revision: https://phab.enlightenment.org/D7176
we read and wrote the config into the wrong subdirectory, thus values
did not match - HOWEVER something lead to more problems and trouble, as
some options in elementary_config are not respected anymore.
Differential Revision: https://phab.enlightenment.org/D7175
the installation of the header was forgotten which broke app compilation
against meson builds
Differential Revision: https://phab.enlightenment.org/D7161
Summary:
Efl.Ui.Textpath was added when we were developing new interfaces.
So, basically, it does not support 'legacy' APIs. ex) elm_textpath_add
But, in Tizen, the legacy APIs had been delivered in old version of EFL.
To reduce maintainning cost between the platforms, this patch will be helpful.
@feature
Test Plan: N/A
Reviewers: Hermet, woohyun, zmike, cedric, herdsman
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7033
Summary:
In D6165, there was a modification that forced resize_job
to be called using sd-> deferred_resize_job.
Even if we set true in sd-> deferred_resize_job,
it will be changed to false by calling other function to be called.
(sd->deferred_resize_job = EINA_TRUE; ->
_elm_win_resize_objects_eval ->
_elm_win_resize_job ->
sd->deferred_resize_job = EINA_FALSE;)
Eventually _elm_win_frame_obj_update is not called.
There is a case where _elm_win_frame_obj_update can not called in tizen.
For this reason, make sure to call resize_job when first drawing based on D6165.
Test Plan: N/A
Reviewers: eagleeye, zmike, woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7156
there is a logic that forwards a calling to supoer class on efl_ui_layout.
and the logic have a mismatching calling as you could see.
and this patch fixes the typo error.
Differential Revision: https://phab.enlightenment.org/D7151
To keep backward compatibility, EFL_UI_THEME_APPLY_DEFAULT is returned
instead of EFL_UI_THEME_APPLY_SUCCESS if style is not found in theme and
default style fallback is done instead.
This patch fixes 7353fc1cb8
@fix
Summary:
When an entry is scrollable, its resize object is scr_edje.
So, to apply scale properly, elm_entry needs to apply scale
to its entry_edje, too.
@fix
Test Plan: Apply scale to scrollable entry
Reviewers: herdsman, woohyun, cedric, eagleeye
Reviewed By: eagleeye
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7140
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.
meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.
Further informations can be gathered from the README.meson
Right now, bindings & windows support are missing.
It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
In fff4d1ba97 one selection_manager_get
method was patched to behave like this, however, it completly broke the
fact of *only-one-manager* since the same code was duplicated in a other
files (efl_selection.c). This now unifies this code, and adds back the
assertion for only one manager per window.
Additionally a shutdown function is added, the app never destroyes, but
the selection manager decided to init some subsystems itself
(ecore_x for example). This lead to to a leak of init counts in ecore_x,
which lead to elementary test suite issues. This is now *finaly* fixed.
Differential Revision: https://phab.enlightenment.org/D7105
Summary: if target is null, then terminate the function because it is not intended.
Test Plan: N/A
Reviewers: eunue
Reviewed By: eunue
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7127
Summary:
vy isn't initialized when p >1.0 or p<0.
this function is for finding out a current animating speed of momentum scrolling.
and a caller of this function calls this function by reference(vx, vy)
so that if progress ratio is not between 0 and 1, vx, vy must be zero.
The issue was detected by coverity check.
It may not discovered any issues yet, but the typo is too obvious, so need to fix the right value.
Test Plan: This is coverity issue.
Reviewers: akanad, Hermet, SanghyeonLee
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7114
Summary:
The same description was used for both the Setter and the Getter, which makes
no sense.
Reviewers: zmike, bu5hm4n, bryceharrington, devilhorns
Reviewed By: bu5hm4n, devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7071
Summary: Check data and return function if data get is failed.
Reviewers: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7092
Summary:
correct group name of segmentcontrol for API docs consistency.
Elm_SegmentControl -> Elm_Segment_Control
Test Plan: N/A
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7087
Summary:
This commit add null check on _next and _request_subchild function.
The value 'node' is can be null.
Test Plan: N/A
Reviewers: bu5hm4n, YOhoho, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7069
Summary:
The 'data' could not be added to hash in a condition.
It has to be free'd before ending the function.
@fix
Test Plan: N/A
Reviewers: cedric, raster, Hermet, zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7083
Summary:
Current calculation for arrow type is not based on mouse position.
Consequently, tooltip arrow type is incorrect when tooltip shows on
mouse position with ELM_TOOLTIP_ORIENT_NONE.
Test Plan:
1. Execute "Tooltip" in elementary_test
2. Hover mouse on any button and move mouse
Reviewers: Hermet, raster, woohyun
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7074
Summary: add icon parameter for icon button of popup
Test Plan:
1. run elementry_test
2. run Efl.Ui.Popup.Alert sample
3. call set button function of popup and pass the icon by parameter
4. see the result of the popup
Reviewers: Jaehyun_Cho, jpeg, raster, cedric, woohyun
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7079
Summary:
item show and bring can be processed with zero-sized pan.
item's coordinate will be calculated with this zero-sized pan,
so target position of scroll region bring in is not proper.
it occurs wrong result of SCROLLTO_MIDDLE and SCROLLTO_BOTTOM cases.
now we check pan size, and if less than 1, deferred call.
Test Plan:
please test with attached file.
./main 8 4 : 8th item go to middle
./main 8 8 : 8th item go to bottom
(bottom case may need D7035 as precede patch)
{F3311262}
Reviewers: Hermet, eagleeye
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7037
Summary:
there are buggy actions in the item show api,
when the list is launched, scroll to far distance item.
the reason is item_scroll is called before it's block is fully
calculated in calc_job().
the origin patch of cause the issue is
f6b66cc1d3
by raster in 28 Nov, 2013
but we already do some extra works in calc_job(),
so the code is not necessarily called in queue_process().
more detail descriptions :
mainly this caused by block width size,
so the normal case block width is zero, and item_scroll() will be dismissed,
and deferred action in calc_job(), but in issue case,
block width is already been set, so it can scroll the item directly though
they aren't properly calculated yet.
most cases block was generated in the same queue processing so width size is
not exist, but in issue cases, they re-using the block which was already been
generated by previous queue processing, so the width size is already exist,
but height is not properly calculated yet.
we could move the block height calculation and min/max calculation
in the queue processing, but I'm afraid to face side effect,
so removing item_scroll() call is best option that I got.
Test Plan:
I'll upload some sample file my_genlist_example_4.c,
so please do a test with this.
issue is reproduced very rarely, but I could see the issue within 20 times try.
{F3300793}
Reviewers: raster, eagleeye, Hermet, singh.amitesh, #reviewers
Reviewed By: Hermet, #reviewers
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6952
Summary:
ELM_GENLIST_ITEM_SCROLLTO_BOTTOM condition is considered in coordinate_calc,
but not considered in item_scroll which calls deferred for item calculation.
so put the proper condition for ELM_GENLIST_ITEM_SCROLLTO_BOTTOM in item scroll.
Test Plan: elementary_test
Reviewers: Hermet, eagleeye
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7035
Summary:
item_show / bring_in will be deferred, if object is not resized properly.
the deferred call of item_show_region() is on the calc_job(),
after calculating proper object, pan size, but still item is not placed,
so target scrolling position is wrong while item_show_region().
move deferred call to group_calculate() to get correct item position,
after item_place() and group_item_place() were processed.
This patch is reported on [[ https://phab.enlightenment.org/T7367 | T7367 ]].
Test Plan: {F3302967}please check attached gengrid_example_01.c
Reviewers: eagleeye, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7367
Differential Revision: https://phab.enlightenment.org/D7014
Summary:
In some situations focus is being set to a deleted object.
Use EFL_EVENT_INVALIDATE on object deletion not
EFL_EVENT_DEL. This prevents the object to be again selected for restoring focus when a redirect is deleted.
This fixes SEGV with some widgets including popup tests.
Test Plan:
* elementary_test -to popup
* popup-center-text + 3 button (check add, remove buttons).
* Close popup, enter text (reopen popup and repeat).
* Crash should be avoided.
Reviewers: bu5hm4n, zmike
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7026
the previous code had the problem that we moved focus onto logical
objects which were not having any children, thus we saw errors from the
focus manager.
Now we are checking if we are able to deliver focus onto a child of the
passed user.
Differential Revision: https://phab.enlightenment.org/D7009
Summary:
Remove unnecessary abstract and class inheritance from eo file because
those abstracts and classes are duplicate.
e.g. if class B (class A) in B.eo file, then class C (class A, class B) in C.eo file.
Reviewers: woohyun, felipealmeida, Hermet, bu5hm4n
Reviewed By: Hermet, bu5hm4n
Subscribers: bu5hm4n, cedric, segfaultxavi, q66, #reviewers, lauromoura, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6982
Summary:
Class Efl.Ui.Popup_Part_Backwall inherits from multiple classes,
class Efl.Ui.Layout.Part and abstract Efl.Canvas.Object.
To remove multiple class inheritance, Efl.Canvas.Object is not
derived and its property, repeat_events, is newly defined in
Efl.Ui.Popup_Part_Backwall.
Test Plan:
1. Execute elementary_test.
2. Select Efl.Ui.Popup.
3. Select "Show Dummy Button".
4. Select "Repeat Event Set".
5. Test if repeat event works.
Reviewers: woohyun, felipealmeida, Hermet, segfaultxavi
Reviewed By: Hermet, segfaultxavi
Subscribers: bu5hm4n, q66, cedric, segfaultxavi, lauromoura, #reviewers, herb, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6984
Test Plan:
* Run Edi (Python project)
* Edit setup.py
* Run build
* Permissions should be preserved.
* setup.py should build.
Reviewers: ajwillia.ms
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7008
Apparently there are cases where efl_ui_focus_object_focus_manager_get
can return NULL. In order to trap for this, we can simply modify the
do loop slightly and check for a valid manager before we actually
start looping
Test Case: elementary_test -to "Panel Scrollable" and click Toggle
button
ref T7030
Differential Revision: https://phab.enlightenment.org/D6704
The bug this fixes can be observed when opening elm_test with hoversel.
The problem here is that the focus manager gets operations called on it after it is not active anymore, which lead to the fact that focus was restored on something that was about to be deleted.
Differential Revision: https://phab.enlightenment.org/D6903
Summary: Disabling focus prevents incorrect operations.
Test Plan:
With EDI, use mouse (cut/copy/paste).
Due to the focus passing to the hoversel we break focus in the
application when it's lost. By disabling this cut/copy/paste
works as it should. A similar approach was used in elm_entry.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6986
This reverts commit 4067fafe07.
As commented on D6982, the original patch changes the widget's behavior.
e.g. Efl.Ui.Win cannot be called with Efl.Config_Gloabal APIs.
Elm.Combobox cannot provide events of Button and Hover.
Until the above changes are resolved, the original patch is reverted.
Summary:
Remove unnecessary abstract and class inheritance from eo file because
those abstracts and classes are duplicate.
e.g. if class B (class A) in B.eo file, then class C (class A, class B) in C.eo file.
Reviewers: woohyun, felipealmeida, Hermet
Reviewed By: Hermet
Subscribers: cedric, segfaultxavi, q66, #reviewers, lauromoura, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6982
Summary:
In one case we do not want to move the cursor.
When merging up with DEL the cursor should
remain on the same line.
Test Plan: Cursor at end of line, press delete.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6957
Summary:
When elm_panel isn't scrollable, It can't pass `if (!sid->edje_obj) return;` in
_elm_interface_scrollable_efl_ui_base_mirrored_set. so elm_panel's mirrored_set
didn't work. we neet to consider non-scrollable panel.
Test Plan:
1. elementary_test
2. Open 'Panel' and 'Panel Scrollable'
3. Turn on UI-Mirroring on Elementary Tests window.
4. Check that mirror mode works correctly.
Reviewers: Hermet, Jaehyun_Cho
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6944
Summary: I had fixed some typos and some wrong expressions in API reference doc
Test Plan: N/A
Reviewers: raster, zmike, Hermet, segfaultxavi
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6943
Summary:
this should reduce the work required to silence errors during object
construction by avoiding the most common cause of such errors
ref D6830
Reviewers: Hermet, devilhorns
Reviewed By: Hermet, devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6921
Summary:
If an object's is_static_clip is TRUE
then _evas_render_phase1_object_process does not draw the object and its smart
member from the below commit (1).
On the other hand, the Elm.Mapbuf sets is_static_clip to its content from the
below commit (2). So you cannot see the content. If the commit tried to solve
over-render, it could be changed to:
if (wd->content) evas_object_static_clip_set(wd->content, !wd->enabled);
from:
if (wd->content) evas_object_static_clip_set(wd->content, wd->enabled);
or there could be another way.
(1) commit 1bba6d5759
Author: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Date: Wed Nov 23 13:57:27 2016 +0900
evas phase 1 process - shortcut objects that are pure static clips only
these objects don't actually produce - or should produce update
regions etc. etc. as the objects that are clipped should produce those.
they are not active objects. so skip them very early after just
ensuring they are in delete objects if needed.
(2) commit 7ca0a3dcac2ee7fc7d7ae62277dde05a3b77b276 (of core/elementary.git)
Author: Carsten Haitzler <raster@rasterman.com>
Date: Wed Jan 19 11:59:53 2011 +0000
fix over-render bug in map/mapbuf and with changed flags! that was
nasty to find!
SVN revision: 56220
Test Plan:
[Sample Code]
#include <Elementary.h>
EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
Evas_Object *win, *bx, *mb, *layout, *icon;
unsigned int i, j;
char buf[255];
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("mapbuf", "Mapbuf Example");
elm_win_autodel_set(win, EINA_TRUE);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
mb = elm_mapbuf_add(win);
evas_object_size_hint_weight_set(mb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(mb, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(bx, mb);
layout = elm_layout_add(win);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, layout);
snprintf(buf, sizeof(buf), "/home/kimcinoo/Upstream/efl/src/examples/elementary/layout_example.edj");
elm_layout_file_set(layout, buf, "example/mylayout");
evas_object_show(layout);
icon = elm_icon_add(win);
elm_icon_standard_set(icon, "home");
evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(icon);
elm_object_part_content_set(layout, "example/custom", icon);
elm_object_content_set(mb, layout);
evas_object_show(mb);
elm_mapbuf_enabled_set(mb, EINA_TRUE);
evas_object_resize(win, 240, 320);
evas_object_show(win);
elm_run();
return 0;
}
ELM_MAIN()
Reviewers: raster, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6915
Summary:
this patch refactories a momentum scroll animator logics.
1. animation duration
animating runs within a one second now.
and if it needs more time to animate, it decrease intepolation progress by dividing some value.
current logic makes sense however, it is not easy to read to know how it works.
this patch modify current logic to calculate distance to move, and time to animate.
2. distance to move
we can apply simple physics something like mass of pan and friction of scroller itself.
but this patch apply just geometric seqeunce to calculate distance to go.
it's more easy to customize behavior of scroller than current sine graph based one.
3. accelerate logic
scroller sets 'extra_time' to accelerate a scroller for now.
but this patch modify logic not to use it.
however it uses current momenutum velocity as a bais of next momentum animating.
@feature
Reviewers: zmike, #reviewers, Hermet
Reviewed By: #reviewers, Hermet
Subscribers: Hermet, cedric, zmike
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6643
Up to now, there is no restriction on using multiple class inheritance
in eo.
This makes some language bindings more complicated if the language does
not support multiple class inheritance. e.g. C#.
To support language bindings in a neat way, multiple class inheritance
in eo is replaced with implementing interfaces.
To remove multiple class inheritance, each part class in elementary
should implement interfaces instead of inheriting from other widget
class because part class in elementary basically inherit from the class
Efl.Ui.Widget_Part.
Differential Revision: https://phab.enlightenment.org/D6904
when setting this config value an elm function is used to store the
setting internally, so it's necessary to use the elm getter function
in order to correctly (and accurately) return the same state
resolves test failures in elm_config
Differential Revision: https://phab.enlightenment.org/D6825
the elementary MARKUP stuff requires ecore_cocoa to be linked to evas to
find the function. However, ecore_XXXXX things should stay unrelated to
evas in most cases. Thus this was not a good idea and created a circular
dependency, this is fixed now.
Differential Revision: https://phab.enlightenment.org/D6865
do one request and get multiple returns if you have multiple windows.
this affected terminology in one proces, multiple windows the sel get
cb is called multiple times from one selection if you cnp between
windows a few times.
@fix
Summary:
load_size will be applied when file is set,
orientation, flip would be applied when starting sizing calc.
These will gurantee applying options whether image is preset or not.
This is a regression bug by ae51c81a686ca47c93eedc99beaf3a84f8a9cb96
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6855
Summary:
if the item is deleted during a focus callback then the remainder of this function
must be skipped in order to avoid crashing when attempting to access deallocated
memory
ref T7292
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7292
Differential Revision: https://phab.enlightenment.org/D6831
Summary:
failing to unset this prevents callbacks from being re-added when the item
is next realized, resulting in items which cannot be interacted with
ref T7292
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7292
Differential Revision: https://phab.enlightenment.org/D6832
Summary:
by key bindings..
now we can select TAB with the Return/Space key.
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: YOhoho, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6779
Summary:
The Spin_Button class supports two types(horizontal, vertical).
User can use 'efl_ui_direction()' for spin_button.
@feature
Test Plan: elementary_test-> spin_button sample.
Reviewers: Hermet, Jaehyun_Cho
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6680
Summary: adapters variable has not been used since ac4d75a1a.
Reviewers: bu5hm4n, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6872
Summary:
This reverts commit 93228108ef.
The original commit resulted in a hang during the use of the shot engine
in our make doc target. During the doc run we generate screenshots for
the documentation using the shot engine.
It is not a clean revert as other things changed since this got in, but
I verified that the screenshots for the documentation is generated
correctly again. This might leave open the original issue T6929 which
the now reverted commit tried to address.
Fixes T7166
Reviewers: zmike, JackDanielZ, xavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7166
Differential Revision: https://phab.enlightenment.org/D6873
When the element that iherits from composition is invalidated, all items
should be unregistered.
fix T7213
Differential Revision: https://phab.enlightenment.org/D6755
Summary:
elm_win_focus_get with non Efl.Ui.Win object could return incorrect value.
If an object implements Efl.Ui.Focus.Object.focus { get; } then the return
value of elm_win_focus_get with this object depends upon the object status.
Reviewers: Hermet, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6868
Summary:
there are unused ifdef blocks and also there is a variable that accessed from nowhere.
this patch removes both of theme.
related with D6567
Reviewers: Hermet, eagleeye, devilhorns
Reviewed By: Hermet
Subscribers: cedric, zmike
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6585
according to the docs, this mode means that no content size hints should
be taken into account when calculating size hints for the overall object
fix T7313
Differential Revision: https://phab.enlightenment.org/D6860
FIx backspace issue and also issue involving the cursor
position and deleting/cutting/backspace of selected text.
Now that we properly move the cursor around when making a
selection, it's important that we place the cursor in a
valid position in the widget following the removal of text.
Previously the cursor always remained in a "safe" position
however now it's crucial to update this position when
necessary.
@fix T7259
Differential Revision: https://phab.enlightenment.org/D6835
Summary:
the mnw and mnh variables were misleading in this context because they actually
refer to the max width and max height
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D6859
Summary:
Apparently there are cases where efl_ui_focus_object_focus_manager_get
can return NULL. In order to trap for this, we can simply modify the
do loop slightly and check for a valid manager before we actually
start looping
Test Case: elementary_test -to "Panel Scrollable" and click Toggle
button
ref T7030
Depends on D6703
Reviewers: bu5hm4n, YOhoho
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl_widgets_focus
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6704
Summary:
evas object types require an evas as the parent. this has always been
the case, though it has only begun to (again) be treated as an error
recently
fixes unit test failures
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets_code
Differential Revision: https://phab.enlightenment.org/D6852
Summary:
efl_ui_win.c only includes private ecore_evas headers when building
for wayland, but wayland canvas creation functions are called even
in non-wayland builds.
Move the "hidden" wayland APIs to the public header so they don't
mess up non-wayland builds.
Reviewers: devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: devilhorns, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6822
Summary:
these operations cannot be completed if the support is not built in, so
return false in order to provide the correct state to the caller
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6839
Summary:
This can occur and thus malloc will return NULL when line->length is
0. Check for !line->length and return. Very difficult to reproduce, but
I had managed three times, and avoided a crash.
Reviewers: #committers, ajwillia.ms, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6842
Summary:
Image object isn't created on constructor anymore. so that it need to check
whether image object exist.
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6834
Summary:
image object was created in group_add before 868e3308. if you call
elm_image_object_get before file_set, you can get NULL.
this patch avoid that.
Test Plan:
obj = elm_image_add(...);
img = elm_image_object_get(obj);
img should not be NULL.
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: JackDanielZ, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6828
Summary:
using EINA_LIST_FREE here double deletes 2 list items on every iteration
due to recursive list removals, which prevents some items from being
deleted as expected
fix T7266
Reviewers: netstar
Reviewed By: netstar
Subscribers: netstar, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7266
Differential Revision: https://phab.enlightenment.org/D6829
Summary:
this avoids extra recalcs and resizes when csd is not active, which has
the side benefit of not breaking the x11 engine's behavior--currently only
an issue because the ecore-evas x11 backend does not have an implementation
of ConfigureNotify event handling which is even remotely correct
these issues will be resolved in future patches
fix T7243
ref T7008
Reviewers: devilhorns, ManMower
Reviewed By: devilhorns, ManMower
Subscribers: ManMower, cedric, #reviewers, #committers
Tags: #efl_display_system
Maniphest Tasks: T7243, T7008
Differential Revision: https://phab.enlightenment.org/D6794
Summary:
As with other checks in ELM return if object is not yet
finalized. This stops lots of console noise.
@fix T7265
Test Plan:
elementary_test: use panel test from console and view the noise
from EINA. Apply then do the same.
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, zmike
Tags: #efl
Maniphest Tasks: T7265
Differential Revision: https://phab.enlightenment.org/D6826
Summary:
As the cursor_rect for elm_code_widget is not created until the code
widget gets focus, we cannot just assume it is already there when
trying to emit a focus signal. The cursor_rect does not get created
until widget_cursor_update is called.
This fixes an issue where NULL is passed to efl_layout_signal_emit.
To test this, just launch elementary_test and click the Code Editor
test. As soon as you try to click into the Code Editor, this gets
triggered.
ref T7030
Reviewers: netstar, ajwillia.ms
Reviewed By: netstar
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6701
There is often a tree of elements registered in a manager that are
having all the same redirect element. Unserting the redirect property
just because the node has this redirect element is not helpfull as this
would break basically elm_tests button search. However, if it is the
container itself, then the redirect can be unset, as nothing else can
ever reach again the redirect manager.
ref D6800
Differential Revision: https://phab.enlightenment.org/D6802
Summary:
It turns out elm/uiclock (which was removed in 89675c3219) is actually used,
at least by the datetime legacy widget. Removing this widget broke the
datetime_example test.
This commit reverts 89675c3219 and fixes the elm/uiclock part names:
- Part names are prefixed with 'elm.'
- efl_ui_clock.c (which is used for both the new efl and the legacy elm widgets)
now looks for part names with 'efl.' and 'elm.' prefixes, and without any
prefix, for compatibility with older themes.
Fixes T6928
Test Plan: the Datetime elementary_test (and all other clock-related tests) now work.
Reviewers: zmike, jsuya, CHAN, devilhorns, Jaehyun_Cho
Reviewed By: zmike, jsuya, CHAN
Subscribers: #reviewers, Jaehyun, Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T6928
Differential Revision: https://phab.enlightenment.org/D6577
Summary:
move most of the _item_free() calls to the invalidate method and unset some
delete callbacks on content items to avoid invalid calls during deletion
calling any of this during the object destructor is invalid because the parent
object can no longer be accessed at this time
fix T7236
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, stefan_schmidt, cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7236
Differential Revision: https://phab.enlightenment.org/D6759
Summary:
ensure that all the children are gone once we unregister the widget
itself. This helps widgets that are not cleaning up theire children /
items on invalidation.
ref T7213.
Reviewers: CHAN, YOhoho, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7213
Differential Revision: https://phab.enlightenment.org/D6754
Summary:
calling this on a object that is legacy is not going to work. And will
print a error. This will make new widgets less verbose.
ref T7213
Depends on D6755
Reviewers: YOhoho, zmike, CHAN
Reviewed By: YOhoho
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7213
Differential Revision: https://phab.enlightenment.org/D6756
Summary:
We need to pass the entire pointer, not just 32-bits of it.
Fixes a crash with enlightenment sandbox gadgets where
ecore_wl2_window_alpha_get() is called with an invalid pointer while
trying to display a pop-up.
Reviewers: zmike, devilhorns
Reviewed By: zmike, devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6775
Summary:
Efl_Ui_Widget which is super of Elm_Map is not implement Efl_Ui_Zoom. to call
efl_super of Elm_Map for Efl_Ui_Zoom method occurs unresolved function error.
Test Plan:
map_example_01
Check that there is no error message.
Reviewers: zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6772
Test Plan:
map_example_01
Check that +,- button is working and no error message.
Reviewers: zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6771
Summary:
this pointer is owned by elm_theme, not the image, so the image refcount
must be increased in order to avoid accidentally closing the file which is
still in use by elm_theme and triggering a crash
this resolves the crash in the `efl_ui_image_zoomable_icon` test
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D6774
Summary:
TAB of efl_ui_tab_bar is no longer widget_item.
TAB is now layout,
so, do not need below signals.
"efl,text,visible"
"efl,text,hidden"
"efl,icon,visible"
"efl,icon,hidden"
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6770
Summary:
there was a case when a block could be realized while a item that is
realized was brought from one block to the this new one. The block now
is simply realized using api instead of just setting the flag, this sets
the correct focus registrations. While fixing this the error of double
regiration of items came up, this is also fixed by unregistration and
reregistration in the correct block.
fix T7247
Reviewers: zmike, SanghyeonLee, YOhoho
Reviewed By: zmike
Subscribers: Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T7247
Differential Revision: https://phab.enlightenment.org/D6737
Summary:
this got replaced by the none composition implementation and is not
required anymore.
Depends on D6737
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6752
Summary:
the cache simply moved the objects to -9999 -9999 while leaving them
visible and focusable. Hiding them does not work since edje makes it
visible all the time again. Making them unfocusable fixes this.
Depends on D6752
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6753
itb-items is Eina_List, not Eina_Inlist. this crashes due to wrong type
use
ref D6720
fix T7246
Differential Revision: https://phab.enlightenment.org/D6736
Summary:
the focus model before was more meant for simplicity and not for
performance, this now is more made for performance.
The performance boost is achived by not using composition anymore,
but rather register realized items by hand. This keeps the amount
of items bound to the size of the viewport.
Additionally item realization that is followed by unrealization
immediately is not resulting in focus calls.
This solves the performance issue from T6580 in regards of focus.
perf results after this:
http://www.enlightenment.org/ss/e-5b61b50657f3c3.82619729.png
Reviewers: ManMower, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6720
I think at some point in the past this was necessary to avoid weird show
mechanics, but now things have changed and it's best to always attempt to
scroll and let the scroller internals figure things out
this resolves the case where attempting to scroll to an item during a genlist's
calc (ie. the item was not present in a full layout calc) would fail to scroll
to the item if the scroll method was TOP and the item was too close to the
bottom of the list
fix T6368
@fix
Differential Revision: https://phab.enlightenment.org/D6466
Summary:
connect factory to edje part name
when create a new layout connect a factory to it
change example to use the factory_model_connect
Reviewers: felipealmeida
Differential Revision: https://phab.enlightenment.org/D6667
Summary:
this ensures that the color_set call is propagated correctly, resulting
eventually in a call to the smart clipped class method for color_set which
will change the opacity of the edje object in addition to the bg widget's
internal rect object
this seems to have been a regression created during the move to the interfaces
version of the bg widget
fix T7232
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7232
Differential Revision: https://phab.enlightenment.org/D6716
Summary:
Small patch fixes an issue where evas_object_smart_calculate was being
called with a NULL box.
ref T7030
Depends on D6704
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6710
Summary: There is no reason to typedef Elm_Multibuttonentry multiple times, the header file can be included, there is no cyclic dependency.
Reviewers: CHAN, zmike, #committers
Reviewed By: zmike, #committers
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6705
Summary:
During the 1.21 development cycle the symbol ELM_CNP_EVENT_SELECTION_CHANGED was lost.
The commit which introduced this: e88bbaa1e3
This patch re-introduced the symbol and expected behaviour.
Reviewers: #committers, zmike, bu5hm4n, herb
Reviewed By: #committers, zmike
Subscribers: herb, ManMower, segfaultxavi, stefan_schmidt, cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6689
Summary:
the hoversel is added to a entry while entrys are not build for handling
children focus. Disabling this prevents wrong focus operations.
fix T7163
Reviewers: zmike, #committers, netstar
Reviewed By: netstar
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7163
Differential Revision: https://phab.enlightenment.org/D6695
Summary:
This adds some attributes to the selectiont type in elm_code.
Including the type (whether it is mouse or keyboard) and also whether
a selection is in progress. Thus we can reliably select around the
file and also move/scroll when there is an active selection.
Test Plan:
Drag and select text with mouse. Also the same with keyboard (hold shift and select).
Leave selection active and scroll around the file. The selection should remain and
full movement is possible while retaining the active selection. This could really
be refactored for a next major release.
Reviewers: #committers, ajwillia.ms, cedric
Reviewed By: ajwillia.ms
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6676
Summary:
Fix an issue where elm_slider was passing NULL to eo functions due to
wd->resize_obj being NULL. Discovered via Enlightenment mixer popup
dialog
ref T7030
Depends on D6639
Reviewers: zmike
Reviewed By: zmike
Subscribers: Hermet, bu5hm4n, cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6640
Summary:
efl_layout_signal_emit
This patch fixes an issue where NULL was passed to
efl_layout_signal_emit due to wd->resize_obj being NULL. This was
discovered in Enlightenment by clicking on the mixer module and trying
to close the popup window
ref T7030
Depends on D6638
Reviewers: zmike
Reviewed By: zmike
Subscribers: Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6639
Summary:
Make sure we have a valid frame object before calling edje & evas
functions on it. This patch fixes an issue where NULL is being passed
to eo functions
ref T7030
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6637
Summary:
this was added in a giant block commit in 2009 without direct explanation;
it doesn't seem to make functional sense in the original patch and it
definitely doesn't make sense now
this greatly improves list performance by causing fewer edje recalcs on
list items resulting from list fighting with item content objects over
max size hint
fix T7176
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7176
Differential Revision: https://phab.enlightenment.org/D6669
Summary:
this indicates that the window's internal object sizes will have changed,
requiring a full window recalc. if the window is not visible, defer all
recalcs until pre-render to avoid unnecessary calcs and use the same
codepath as the initial window show
ref T7172
Depends on D6646
Reviewers: kimcinoo, eagleeye, ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7172
Differential Revision: https://phab.enlightenment.org/D6647
Summary:
in this case, a window is being shown again after being hidden, so it's safe
to immediately show these objects as the size will not have changed since
they were last visible
fix T7172
ref fa02f16a3f
Reviewers: kimcinoo, eagleeye
Reviewed By: kimcinoo
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7172
Differential Revision: https://phab.enlightenment.org/D6646
Summary:
This ensures the cursor changes to meet the font size change
when a font change is made in an Elm_Code_Widget.
@fix T6470
Test Plan:
Run ecrire or Edi. Open a text file and change the font settings.
Cursor should resize with the font when it is changed.
Reviewers: #committers, ajwillia.ms
Reviewed By: #committers, ajwillia.ms
Subscribers: cedric, zmike
Tags: #efl
Maniphest Tasks: T6470
Differential Revision: https://phab.enlightenment.org/D6596
Summary:
Currently when selecting with the mouse and scrollling,
the selection will only continue in one direction. With
this patch, the selection can move freely between "pages".
Test Plan: select text and drag up and down in elm_code widget (Edi).
Reviewers: #committers, ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6632
Summary: This gives us basic clipboard handling for MacOS after the refactor was done.
Test Plan:
Open an entry test. select text with mouse or keyboard.
Text can be cut. Text can be copied. Text can be pasted.
Reviewers: ajwillia.ms, zmike, jayji
Reviewed By: zmike
Subscribers: jayji, herdsman, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6599
Summary:
1. Why there is a edje signal callback in elm_calendar? and do we need to maintain?
We used edje part like a button before (3 years ago?), So there is a callbacks to get edje signal.
Im pretty sure it is not use anymore. but we need to maintain backward compatibility.
2. elm_calendar using using repeat feature in efl_ui_button for it. why did i change it to manual timer?
We opend elm_calendar_interval_set() APIs. Support this API the manual timer is proper then using button's feature.
3. why scroll freeze? and why only elm_calendar does it?
When the user long press calendar button area and then move the scroll will be activated. it can prevent that weird action.
efl_ui_calendar using button's feature. i not sure scroll freeze is deserve to attached in button side as a feature or not.
So i will consider more for this case.
4. Why efl_ui_calendar doesn't have year buttons (double spinner case)
After interface work, we don't accept style change in the runtime. so that featrue will be supported as API.
The year_button_set/get() property should be added. but i dont know is it really needed...
If the app developer want use year inc/dec button for efl_ui_calendar. they can inherit the class and make it easily.
Test Plan:
View, Action, API test in the elementary-test sample App.
Ps. The issue of the calendar2 crash when it closed. It's not relative with this commit. its focus. i will look around.
Reviewers: Hermet, zmike, ManMower, segfaultxavi, devilhorns
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6626