Genlist will now emit the following signals to item view related to
their position in the whole list:
- elm,state,list,first: first item of the whole list
- elm,state,list,last: last item of the whole list
- elm,state,list,middle: any item that is not first or last.
- elm,state,list,single: when the item is the only element of list.
And the following related to a group (considering its given 'parent'):
- elm,state,group,first: first item of the group
- elm,state,group,last: last item of the group
- elm,state,group,middle: any item that is not first or last.
- elm,state,group,single: when the item is the only element of group.
Unlike odd/even the signals have an extra namespace "list" or "group"
to avoid conflicts with applications that may have declared these
signals themselves for other purposes.
With this patch one can implement easily something like this:
https://developer.apple.com/library/ios/documentation/userexperience/conceptual/tableview_iphone/Art/tv_grouped_style.jpg
stacking become a lot more complex when re-order mode was added, group
headers and more, so simple raise/lower wasn't enough, so this adds 2
stacking markers (rectangles) and objects are stacked above or below
these 2 markers. that basically provides 4 possible stacking slots
that are easy to address, and if you also still raise/lower you get 6
slots. use these markers for stacking so items go into a fixed
stacking layer when they stack around.
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.
Summary:
This patch applies automatic focus feature to elm_genlist and elm_list
containers.
Currently (prior to this patch), focusable widgets inside list items of both
containers receive focus by an explicit mouse click over them, and lose focus
when focus goes to someone else in the window.
This change also adds the ability to:
- focus by default on the first-from-right focusable widget upon items selection
- lose the focus when another item is selected (focused or not)
- move focus between focusable widgets inside the same item by left and right
arrow keys accordingly (up and down keys when elm_list is in horizontal mode)
Focus is supported for horizontal and vertical lists.
Tests have been added for genlists and lists to check focus feature.
This patch broke at least two stuffs:
1. item movement with key arrow
now up/down arrow scrolls genlist now move to upper/lower item.
2. item del routine.
item del callbacks are called twice LOL.
this also broke apps that use elm_fileselector_button which uses elm_genlist internally.
Once these are fixed and tested more, I will re-commit this.
This reverts commit cea8e755dbf9b062bb1e6d7a89fbf4c590b8f6b3.
flags.
This flags was used for deferring deletion of genlist items.
After deferred, items can be cleanup when _item_select() is called.
This flags was used for preventing crash when subitems are deleted right
after one item is deleted.
But this made genlist code too complicated and could hide internal
issues. One of the issues is incorrect use of EINA_INSTLIST_FOREACH (or
forloop). Because sub items can be deleted when one item is deleted, I
used whlie loop and EINA_INLIST_CONTAINER_GET(sd->items->last, xx) and
not defer the deletion. This has no problem evenif inlist sd->items is
changed inside the while-loop.
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.
is used for changing items' look when elm_genlist_reorder_mode_set() is
called. Also, when decorate mode is enabled/disabled, these signal
should be sent properly.
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.
the user would be visually impaired person or blind, so the type infomation
of genlist or list is not proper. there would be more proper type infomation.
SVN revision: 83005
show_region_hook, but rather get it from the actual Object.
Fixes a crash that happens if someone overrides the show_region_hook
(via elm_widget call) and passes an Int or String or something else as
the data parameter.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82571
+ 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
*note: this commit - callback behavior - would be disputable, becuase genlist has
"clicked,double", "selected" and "activated" signal and smart callback also.
but the access acitvate callback works as the item is selected.
SVN revision: 79369
genlist could have LOTS of items. so it would be better to use only displayed items for the focus chain.
please check the attachment and give feedback. thanks.
cordially,
shinwoo kim.
SVN revision: 78378
Subject: [E-devel] [E-Devel][Patch][Elementary]Genlist - Edje Item
Cache Refactoring
This is patch for reconstructing genlist's item cache.
Each item cache functions do harsh jobs so just push,pop by
Elm_Gen_Item * now.
Before, cache is disabled by comments. But I enabled item cache again
(even for the case which tree_effect_enabled is on).
I changed some functions:
_item_cache_find() --> _item_cache_pop()
_item_cache_add() --> _item_cache_push()
_item_cache_zero() -->_item_cache_all_free()
And I removed _item_cache_clean() function because I made
_item_cache_push() to don't exceed the item_cache_max. So clean-up of
cache is not needed anymore.
Breaks "genlist 2" test and clouseau. Just open genlist 2, press the "X"
button, and then the "+" button.
This reverts commit 77944.
SVN revision: 78336
Subject: [E-devel] [PATCH][ELEMENTARY][BUG Fix] Current Reordering
item is not resizing on genlist resize (e.g On roation)
Please review the attached patch created to fix the current reordering
item
resizing issue.
[ISSUE] Current genlist reordering item is not resizing on genlist
resize
(e.g. On rotation).
Change Description:
In _calc_job call back, the width of reordering item is corrected.
SVN revision: 77992
Subject: [E-devel] [E-Devel][Patch][Elementary]Genlist - Edje Item
Cache Refactoring
This is patch for reconstructing genlist's item cache.
Each item cache functions do harsh jobs so just push,pop by
Elm_Gen_Item * now.
Before, cache is disabled by comments. But I enabled item cache again
(even for the case which tree_effect_enabled is on).
I changed some functions:
_item_cache_find() --> _item_cache_pop()
_item_cache_add() --> _item_cache_push()
_item_cache_zero() -->_item_cache_all_free()
And I removed _item_cache_clean() function because I made
_item_cache_push() to don't exceed the item_cache_max. So clean-up of
cache is not needed anymore.
SVN revision: 77944
Subject: [E-devel] [patch][elementary] multibuttonentry - access feature
i have attached a patch which has access feature for the multibuttonentry.
it was hard time to implement access feature on the multibuttonentry than
others.
SVN revision: 77738
On Fri, Sep 28, 2012 at 10:04 PM, Bluezery <ohpowel@gmail.com> wrote:
> Dear EFL developers,
>
> In current genlist reorder mode, reordering is not moved when
> reordering item is on top or in bottom of within genlist objec because
> of scroller's hold mode.
> After mouse point is moved out of genlist object, then reordering item
> can be moved.
> But in mobile, mouse point can not be moved out of window (if genlist
> item is expanded in window).
> So I add some tweaks to reordering item can be moved when reordering
> item is moved on top item or bottom item.
>
> Please review this patch.
>
> BRs
> Kim.
SVN revision: 77255
On Fri, Aug 31, 2012 at 8:50 PM, Bluezery <ohpowel@gmail.com> wrote:
> Hello,
>
> Sometimes reorder animation ended incorrectly
> You can test & see the problem when background color is black and
> genlist item color is white.
> I made the added value for animation as difference between old item
> position and new item position if difference is below predefined dy.
> (y = diff, if diff < dy) So item position can be finally new item
> position at last.
> Please review this patch.
>
> Thanks
SVN revision: 75950
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
set it all the time themselves for read-only use outside. :) if uw ant
this u have to accomplish this another way. eg table with genlist PLUS
invisible rect obj at the same cell spot (0, 0, 1x1). and make the
invisible rect have a min size hint. table takes care of using the
"constraints" of both rect and gnelist then for sizing. :)
SVN revision: 75044
Widgets having internal panning objects won't have so fancy inheriting
schemas for those very objects, but they should be fine with
re-defining their own, if they want/need and overwriting it in their
smart_add()s.
SVN revision: 74682
initializing text parts first. Patch by Bluezery <ohpowel@gmail.com>
On Thu, Jul 26, 2012 at 2:29 PM, Bluezery <ohpowel@gmail.com> wrote:
> Hello,
>
> This patch make genlist free their text parts when each item is
unrealized.
> Before this patch, the item is just cached when an item is unrealized
> and the text part is freed and set by other text when the cached item
> is realized.
> This improves scrolling performance with very long text because this
> can reduce needless edje size recalculation time.
> Please review this patch.
>
SVN revision: 74413
This fixes "elm - genlist decorate all mode on and scroll - garbage
items left around."
Note: Do not manipulate swallowed items. Unswallow it first then
manipulate it.
SVN revision: 74412
The ERRs thrown on the terminal while exiting some tests were already
there -- check that those decorate and stuff modes add lots of NULL
children on lists.
Genlist work exactly as before. All the bugs and feature were kept :)
SVN revision: 73941
elementary configuration environment. Patch by Bluezery
<ohpowel@gmail.com>
On Thu, Jul 12, 2012 at 1:00 AM, Bluezery <ohpowel@gmail.com> wrote:
> Hello,
>
> Vertical bounce enable value can be changed by elementary
> configuration environment.
> But currently It was always EINA_FALSE. I fix that this value can be
> got from elm_config value.
>
> Please review this patch.
> Thanks
SVN revision: 73596
Documentation was wrong too and code had a slight bug stopping
genlist from contracting to min size.
Optimize the case of COMPRESS + homogeneous mode to avoid
queue entirely and use existing known item sizes.
SVN revision: 71140