Summary:
If item loop is enabled, the item moves infinitely in
horizontal manner (from right to left and from left to
right).
Need to implement:
-for reorder mode and horizontal mode.
@feature
DEPENDs On D841
Test Plan: elementary_test -to gengrid2
Reviewers: seoz, eagleeye, SanghyeonLee, raster
CC: seoz, raster
Differential Revision: https://phab.enlightenment.org/D842
Conflicts:
src/lib/elm_gengrid.c
Summary:
Added fixes for:
1.Normal mode: ELM_FOCUS_DOWN and ELM_FOCUS_UP
2.Horizontal mode: ELM_FOCUS_DOWN and ELM_FOCUS_UP
(i)
1|2|3
4|5|6
7|8|9
_elm_gengrid_item_edge_check for ELM_FOCUS_DOWN returns EINA_TRUE for item no.6.
It should not. Fixed this.
(ii)
1|2|3
4|5|6
7
_elm_gengrid_item_edge_check returns EINA_FALSE for ELM_FOCUS_DOWN
for item no. 5 and 6 but EINA_TRUE for item no. 7.
It should return EINA_TRUE for item no. 5 and 6 instead.
Fixed this.
(iii)
1|2|3
4|
_elm_gengrid_item_edge_check returned EINA_FALSE for ELM_FOCUS_UP
for item no. 3. Fixed this.
(iv)
1|4|7
2|5|
3|6|
Horizontal Mode: _elm_gengrid_item_edge_check returned EINA_FALSE
for ELM_FOCUS_DOWN for item no. 7. Fixed this.
(v)
1|4|7
2|5|
3|6|
Horizontal Mode: _elm_gengrid_item_edge_check returned EINA_FALSE
for ELM_FOCUS_UP for item no. 1. Fixed this.
Test Plan: elementary_test -to gengrid2
Reviewers: seoz, raster
CC: singh.amitesh, raster
Differential Revision: https://phab.enlightenment.org/D841
Conflicts:
src/lib/elm_gengrid.c
Reset the last_focused_item on _item_focus_set_hook.
This fixes the issue which sets the focus to the wrong item when the
focus is set by an API.
Reproduction step:
elementary_test -> genlist focus -> click an item (not the 2nd item) -> click "Focus 2nd
Item after 1.5 seconds" button.
Focus is not moved to the 2nd item.
@fix
Summary:
When gengrid item is reordered or deleted, gengrid didn't update item's position.
This Patch update item's position when item is placed. if middle of item deleted,
every item after the deleted one, will re-postion on _item_place function, so they
will be update there position well.
Test Plan:
modify test_gengrid grid_sel fuction to print there position. so when item selected,
they print there position and it works fine both horizontal and vertical.
Reviewers: bluezery, seoz, raster
Reviewed By: raster
CC: Hermet, chinmaya061
Differential Revision: https://phab.enlightenment.org/D855
Summary:
Fix to skip the item which is disabled and select the next item to the
disabled item
@fix
Reviewers: seoz, raster
CC: seoz, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D700
As widget and widget item can have different in_theme value (since
30cada369), we need to update in_theme value whenever the widget or
widget item get the focus.
Applied this logic to genlist, gengrid, toolbar first.
List focus is not working well at the moment.
This fixes small focus highlight on the left top corner of genlist
when the genlist scroller is clicked before the genlist is focused.
Special thanks to zmike for the report.
elm_config_focus_auto_scroll_bring_in_enabled_get/set()
->
elm_config_focus_autoscroll_mode_get/set()
The main reason is that bring_in_enabled_get/set() APIs are too restricted
and thus not flexible. I got more requirements for the focus autoscrolling
such as none, wholely visible not just bring_in and show. So it is correct
to add mode_set/get() APIs for the focus auto scrolling.
Thanks god, we've found this before the release :)
@feature
This reverts commit 377179bdaf84aa1a86621cdfa64ed43613ab9d45.
The main claim of https://phab.enlightenment.org/T1205 was fixed in
the previous commit 30cada369. This code will be modifed again in the
next commit due to the api change during development life cycle.
Note: do not blindly revert this commit if you have any problem with
widget item focus. This commit is not related to any fundamental cause
of the issues. If you have a problem, please contact me first.
seojuyung2@gmail.com or SeoZ on IRC.
Thanks.
This was introduced during 1.10 development phase but this changed the
default focus behavior and got a lot of complaints. (especially from
discomfitor)
So I would like to comment this out now and make it optional on 1.11
by keeping the default behavior.
Summary: Genlist/gengrid object geometry was used before this patch but using the pan object geometry is more correct. This can be reproduced when the size of "elm.swallow.content" part is smaller then the size of scroller object, focus animtaion on items is jerky.
Reviewers: raster, seoz, singh.amitesh
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D818
This reverts commit b8549f3e83a8592145a50085182583adead2c74e.
this build system is bad and whoever did the eo integration should not feel pleased with themselves.
this.is.BROOOOOOOOOOOOOOOKEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNN.
SERIOUSLY.
you cannot go scrolling all over the place in every widget that has a scroller just because the widget gets focus. what user wants that? no user anywhere, under any circumstances, ever, in all of history.
if you dare to put this back in, I will continue to remove it for the rest of eternity until it never, ever scrolls in any unwanted case. the focused item doesn't have to always be in the viewport, and should never be moved into the viewport [[[[[[[ except to maintain an already-existing position inside the viewport ]]]]]]]
too much of my time wasted on this stupid "feature" which should have been MUCH more thoroughly tested and reviewed before it was merged.
T1205 STILL NOT FIXED
Summary:
Earlier pos was getting used for the item coordinates. To support other Ecore_Pos_Map variations, frame variable should be used.
@fix
Test Plan:
elementary_test-> "Gengrid Focus". Enable reorder mode and use keys to move
the focused item.
Reviewers: raster, seoz
Reviewed By: seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D811
Summary:
The basic idea is from Abhinandan Aryadipta and I implemented this in
upstream.
Special thanks to JackDanielZ for eolian madness.
@feature
Reviewers: JackDanielZ
Differential Revision: https://phab.enlightenment.org/D803
Summary:
This is based on bb1e8afd.
@feature
Test Plan: elementary_test->"Gengrid Focus"
Reviewers: seoz, raster
CC: seoz
Differential Revision: https://phab.enlightenment.org/D702
Summary: This was missed in 43eb52e159.
Test Plan:
elementary_test->"Gengrid Focus" and enable "reorder mode" by clicking "redorder mode enable" checkbox.
Move the items by direction keys.
Reviewers: raster, seoz
Reviewed By: seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D801
elm_gengrid.c: In function '_item_move_cb':
elm_gengrid.c:2084:19: warning: declaration of 'y1' shadows a global
declaration [-Wshadow]
elm_gengrid.c: In function '_swap_items':
elm_gengrid.c:2136:19: warning: declaration of 'y1' shadows a global
declaration [-Wshadow]
Summary:
- Added two APIs elm_gengrid_reorder_mode_start/stop
- Add two smart callbacks
- "item,reorder,anim,start" - This is called when a gengrid item movement
has just started by keys in reorder mode.
- "item,reorder,anim,stop" - This is called when a gengrid item movement just
stopped in reorder mode.
@feature
Test Plan: elementary_test->Gengrid Focus
Reviewers: raster, seoz, SanghyeonLee
CC: seoz
Differential Revision: https://phab.enlightenment.org/D723
First on_focus call should consider focus highlight enable status and
do the different job according to that.
This can be tested in "genlist 7" and "genlist focus" examples in
elementary_test.
Summary:
Issue: As entire scroller edje co-ordinates was being taken instead of the actual viewport value,
if in scroller edje more parts are added apart from just "elm.swallow.content", then the viewport value
set will be wrong. hence the selection handlers will not hide when they have to hide.
solution: Instead of taking scroller edje's geometry, get the actual viewport values.
To get viewport x,y a new scrollable interface is also added.
signed-off by: Shilpa Singh <shilpa.singh@samsung.com>
@fix
Test Plan: Selection handlers have to hide correctly when the text is scrolled in a scrolled entry, if the scroller edc of entry has more parts added other than elm.swallow.content, then when we scroll the selection handlers are not hidden correctly.
Reviewers: jaehwan, woohyun, seoz, Hermet, raster
CC: govi, rajeshps, thiepha
Differential Revision: https://phab.enlightenment.org/D674
we can prevent to handle the widget events from the widget infra,
if the object is disabled.
conceptually, disabled object should not be interacted to user input(key, mouse)
Summary:
Fixed the focus animation in horizontal mode. Earlier focus was moving
out of the view port in horizontal mode
@fix
Reviewers: seoz, raster
CC: seoz, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D693
Summary:
Earlier, Focus can only move out of gengrid from first or last item.
Now, Focus can move out of gengrid if focus is on edge items.
@feature
Test Plan: elementary_test->Gengrid Focus
Reviewers: raster, seoz
CC: seoz, nirajkr
Differential Revision: https://phab.enlightenment.org/D682
Summary:
It is implementation of focus_direction method for gengrid widget.
We need it in our project. We must service focus by
directions and we want to use gengrid widget. Additionally we must
support changing focus by keyboard (TV remote).
Unfortunately gengrid hasn't default implementation to present its
sub-objects as candidates for focus direction.
Our solution can search for focusable sub-objects (from realized items)
and change then focused and last selected variables in gengrid. If this
candidate wins then object will receive focus.
Reviewers: cedric, raster
CC: raster, seoz
Differential Revision: https://phab.enlightenment.org/D449
codes.
- Added a check for focus highlight enable status before calling focus
signal to edje.
- Used obj instead of WIDGET(it) because that is used many times.
This patch is a gengrid version of genlist patch cc827fef6.
Now, gengrid does not autoscroll to last focused/selected item when the gengrid
is focused. It tries to find the nearest visible item instead of the
last focused/selected item.
event.
When you use mouse(touch) that triggers mouse up event, the
focus/selection movement is done by mouse up callback, so don't need to
handle on_focus event when mouse(touch) is used.
You can reproduce the bug by the following step.
1. launch elementary_test -> list focus, genlist focus, gengrid focus
2. focus an item (by touch, by key)
3. move focus to left button (by touch, by key)
4. click an another item (by touch)
5. previously focused item will be unfocused again even it was unfocused
at step #3/
Special thanks to Amitesh for the report.
This commit is a gengrid version of 7d43205a0.
Now it works so much better than before.
- Fixed the separate behavior between selected item and focused item.
- Fixed wrong focus set when gengrid is focused first time by mouse.
- Fixed wrong scroll movement when the focus highlight is disabled.
- Item selection sets that item focused. So when an item is selected, do
not need to set the focus again.
Call the smart callback in the widget infra so that each widget don't need to hook the smart_translate only for the smart call.
This makes reducing duplicated code and supporting language,chagned from all widgets.
ecore_animator_del, and ecore_job_del.
As all efl public free apis get null as valid parameter, we do not need
to check null. I also removed some null check for other free apis which
were right next to timer/animator/job del. After this job code got
cleaner.
There are elm_widget_theme/theme_set/theme_get functions.
In Eolian these functions will be described as "theme" method and
"theme" property. There is clash here.
So add suffix "_apply" to Eo API for "elm_widget_theme".
Summary:
Gengrid _item_show_region function calculate gengrid x, y moving postion with scroll to type.
Belows are summaries of this refactoring works.
1. Refactoring recalculation of scroll type.
2. Bug fix :
- when x or y is 0, y or x value is set as default value, it->position-1.
- when x or y is less then 1, calculation is not correct.
- make calculate correct position of y when even though scroll direction is horiziontal
(when virtical, x is also calculation correct position).
3. change smart data variable s_type to scroll_to_type to make unity on gen widget.
(genlist smart data variable name is scroll_to_type);
Reviewers: seoz, Hermet, raster
Reviewed By: raster
CC: bluezery
Differential Revision: https://phab.enlightenment.org/D474
Being annoyed by different types of eina critical macros - CRI, CRIT,
CRITICAL -, I concluded to unify them to one. Discussed on IRC and
finally, CRI was chosen to meet the consistency with other macros -
ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
Scrollto positions are divided 4 type
NONE : do not scrollto.
TOP : scrollto position is always top viewport.
MIDDLE : scrollto position is always middle of viewport.
IN : scrollto position to fully visible in viewport.
Summary:
Some applications like file viewer allow multiple selection only with
Control key was pressed.
Reviewers: seoz, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D251
Conflicts:
ChangeLog
NEWS
"index,update" signal is missing in signal description.
So, This patch refactored signal declarations to avoid mistakes.
It was introduced since b430c07ca1f1.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
There are pros and cons but this
1. reduces human mistakes.
2. enhances readability.
3. enhances code quality.
4. removes future bug.
5. was adopted from enlightenment.
This is not all. I will work on enhancing elementary more and more.
1. Do not need to print the same error message from all the widget codes.
2. Even though elm_widget_sub_object_add() can be used internally, there should be no error message at all.
Elm devs should fix it beforehand.
So it looks ok to print the error message in elm_widget_sub_object_add() to force elm devs to fix it.
3. Got additional code cleanups.
When the scroller is resized, the signals("elm,action,scroll", "elm,edge,top" so on) shouldn't be sent,
because it's not a scroll-action. So in this case, the content_pos_set should be called without the signals.
Subject: [E-devel] [BUG] [ELM] [PATCH] Bug fixes for APIs
elm_gengrid_region_show/bring_in
Please review the attached patches.
Attached patch "elm_gengrid.patch" which fix the bug related to
elm_gengrid_region_show/bring_in APIs.
And patch "test_gengrid.patch" in order to test the fix.
Change Description:
1. An internal function _item_show_region() is created which does
the
calculation for item position.
2. This function is called in _calc_job() as soon as pan
object
gets its
size.
3. Test_gengrid code enhancement for testing the fix.
SVN revision: 82063
+ elm_access_object_register();
+ elm_access_object_unregister();
+ elm_access_text_set();
+ elm_access_text_get();
+ elm_access_cb_set();
These APIs are to use edje part, evas object as an accessible object.
and do not create access object, because access object would be created at run time.
This is different with internal API _elm_access_object_register();
SVN revision: 81659
On Fri, Oct 19, 2012 at 12:30 PM, Bluezery <ohpowel@gmail.com> wrote:
> Dear all,
>
> There is a bug, invalid data assign into ecore_job.
> Trivial whilte space removal is included also. it's automated in my editor :D.
>
> Please review this patch.
>
> --
> BRs,
> Kim.
SVN revision: 78221
Subject: [E-devel] [patch][elementary] * access *
Series of of pathes from kim shinwoo. looked good to me - so in they
go, finishing off some more access mode to be more complete.
SVN revision: 75415
Subject: [E-devel] [patch] elm_gengrid - add item_select_mode_set/get
apis
I made a item_select_mode_set/get in elm_gengrid.
It works like genlist_item_select_mode apis.
+EAPI void
+elm_gengrid_item_select_mode_set(Elm_Object_Item *it,
+ Elm_Object_Select_Mode mode)
+EAPI Elm_Object_Select_Mode
+elm_gengrid_item_select_mode_get(const Elm_Object_Item *it)
from this morning - left over from last night.
SVN revision: 69056
Subject: [E-devel] [patch] elm_genlist - fix typos and remove
display_only variable
I found a mistake in example. and display_only value is remained.
It's fixed some trivial errors.
SVN revision: 69000