Using evas_event_freeze/thaw in _item_realize, _item_block_recalc and _queue_process breaks "Genlist 4" test case which is using textblock.
We need to re-examine evas_event_freeze/thaw. They are so tricky :(
SVN revision: 60092
1. Changed int for 0/1 to Eina_Bool.
2. Removed unnecessary variable. Don't need to assign macro to
variable. Just use macro.
3. Fixed indentation.
SVN revision: 60086
Genlist items are realized separately. So block realize doesn't mean
realizing all items in the block. This function and
_item_block_unrealize() will be refactored later again.
SVN revision: 60085
It looks like flip is not changed frequently now. I will check
whitespace and indentation from time to time. If this is not good,
please check codes before commit. Thanks.
SVN revision: 59884
Subject: [E-devel] [Patch] elm_genlist - added new feature : genlist
reorder mode
I introduce a new feature "reorder mode" of genlist.
Using this feature, user can reoder genlist items dynamically.
[API]
==================================================================
- EAPI Eina_Bool elm_genlist_item_rename_mode_get(Elm_Genlist_Item *it)
Get the rename mode state of an item. This gets the rename mode state
of an item
- EAPI void elm_genlist_reorder_mode_set(Evas_Object *obj, Eina_Bool reorder_mode)
Set genlist reorder mode. This enables the item is moved to another
item.
==================================================================
After set this reorder api, if user press an item (long press), the item can
be moved another position.
Then if the user releases the item, the item will be reodered in genlist.
When the user releases the holding item, Elm_Genlist_Item_Class.func.moved
callback is also called.
If needed, the application can add some logic in that callback function.
SVN revision: 59883
multiple selection. Patch by Hyoyoung Chang <hyoyoung.chang@samsung.com>
On Tue, May 24, 2011 at 7:43 PM, Hyoyoung Chang
<hyoyoung.chang@samsung.com> wrote:
Dear Elementary developers.
I made a oneline patch.
It's about in single selection mode of elm_genlist.
In single selection mode, some multi touching can make multi selected items.
It can't easy reproduce at PC environment(like as mouse+keyboard), but if you have multi touching device you can easily reproduce.
Reproduce step is putting two pointing device on genlist.
1. long pressing one pointer.
2. Short press another one pointer.
3. And repeat alternating press two device
Then you can find multi selected items in single selection mode.
So my approach is if a item is not selection and just only
highlighted, then make it with _item_unselection()
SVN revision: 59659
_item_unselect().
1. _item_select() and _item_highlight() are also separated. Each
function can be called separately. This will be introduced in later
commit.
2. 'unhighlight' sounds weird but there is no other good names.
3. Call _item_unhighlight() before _item_unselect() for selected items.
SVN revision: 59652
NOTE: if you want to implement even/odd in your theme you know
need to listen to both signal :
- elm,state,odd from elm
- elm,state,even from elm
If you set data of "stacking_even" to "above" of you item group
it will raise the even object above the odd one (that's the default
behaviour).
You could also explicitly active/deactivate the stacking by setting
data of "stacking" to "no". Default is "yes".
SVN revision: 58822
I introduce a new concept to genlist.
I named it "genlist mode" after I discussed it with raster.
Using this feature, one can activate/deactivate any mode(effect) to an item.
The mode is defined in genlist item edc.
You can watch a sample video on youtube.
http://www.youtube.com/watch?v=ZPbwpzwwiS8
I created two sample mode: Slide and Rotate.
[Feature Description]
- One can activate a specific mode to an item.
- One item is activated at one time while others are deactivated.
- Genlist handles deactivating other items when one item is activated.
- There are two different view: before activated, after activated.
- Genlist creates the second view when the first view is activated. Usually the first view is animated.
- Genlist destroys the second view when the item finishes deactivating.
- Creating/Destroying the second view on the fly gives performance enhancement because there is no reason to hold all objects in two views all the time.
- Mode is defined in genlist edc so one can easily add it more.
- Mode edc style is separated from normal genlist styles. One can combine any genlist style with mode edc style.
[API]
- EAPI void elm_genlist_item_mode_set(Elm_Genlist_Item *it, const char *mode_type, Eina_Bool mode_set) EINA_ARG_NONNULL(1, 2);
Activate/Deactivate a mode to an item.
- EAPI const char *elm_genlist_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
Get activated mode name.
- EAPI const Elm_Genlist_Item *elm_genlist_mode_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
Get activated item.
[Structure]
- Elm_Genlist_Item
Added const char *mode_item_style;
[Usage]
- Set mode style name to genlist item class.
itc.mode_item_style = "mode";
- Activated mode to an item whenever you want.
elm_genlist_item_mode_set(it, "slide", EINA_TRUE);
SVN revision: 58791
Subject: [E-devel] [Patch] elm_genlist :
elm_genlist_realized_items_update api added
I added elm_genlist_realized_items_update api.
elm_genlist_item_update api already exists.
But If the application want to change all realized items using this api,
application always have to check genlist all realized items and call
elm_genlist_item_update api.
This routine is being used at many functions of application.
So I made elm_genlist_realized_items_update api.
This helps application to update easily all realized items at a time.
SVN revision: 58403
Unified double-click smart callback signal name to "clicked,double".
Wrong signal name "clicked" is still there.
But this will be removed soon after fixing all codes in trunk.
SVN revision: 58293
Subject: [E-devel] [Patch] elm_genlist - group index homogeneous mode
support
Current, genlist using group index can't use homogeneous mode.
So this is patch for support homogeneous mode when the genlist uses
group index.
SVN revision: 58173
Subject: [E-devel] elm_genlist - bug fix about _update_job
I found one bug in _update_job.
Now, when the elm_genlist_item_update is called, all realized items have
been updated.
In _update_job logic, item block is recalculated if it->minw and
itminw is
not same.
But before comparing that, itminw value is saved it->w.
And it->minw value is saved in _item_realzie function.
Then there are different between it->minw and itminw value.
So the item block is recalculated and _item_block_position is called.
After applying below patch, elm_genlist_item_update api updates only one
item.
SVN revision: 58082
Subject: [E-devel] elm_genlist - bug fix about del callback
I found one bug in elm_genlist_clear.
In case append lots of items in genlist, some items are still in genlist
item queue before it is processed in _item_queue.
At that time, if application calls elm_genlist_item_del api that has item in
genlist queue and elm_genlist_clear is called at once, "func.del" callback
is called twice.
If application frees some memory in "func.del" callback, It occurs
double free memory problem.
For example, some application has many items. and all items are deleted. but
all items are not proceed in queue. then application is terminated.
In that case, double free problem is occured in application.
So, I fixed elm_genlist_clear code and made a patch.
SVN revision: 57371
objects hierarchical region show. Scroller pan geometry is included, as scrolelr
is smart object, not in genlist hierarchy.
Patch By Govindaraju SM <govi.sm@samsung.com>
SVN revision: 56981
Subject: [E-devel] [Patch] genlist item cache exception handling patch
I added "no cached item" handling.
In some case, items should not be cached and should not use caches.
For example,
if there was a state change in item style, it should not be cached
because it remembers the state changes.
And if we use elm_genlist_item_item_class_update() API,
item should not be cached as well.
It needs to be a fresh item style without remembering the state changes.
SVN revision: 56585
Subject: [E-devel] [Patch] elm_genlist patch regarding inlist
I made a patch for elm_genlist.
For getting genlist item from inlist, ELM_GENLIST_ITEM_FROM_INLIST macro
should be used.
SVN revision: 56582
Subject: [E-devel] [Patch] Removed dead code in elm_genlist.c
I removed dead macro LONGPRESS_TIMEOUT.
Genlist's longpress_time value is read from
_elm_config->longpress_timeout.
SVN revision: 56581
Subject: [E-devel] [Patch] elm_genlist patch for group index handling
and bug fix
I attached a small patch for elm_genlist.c
1. _item_block_position() fix
This patch realizes group index even there is no sub-items.
There was a request about this.
And it shows that there is no sub-items explicitly.
2. Bug Fix
Null check routine was wrong-placed.
I fixed it.
SVN revision: 56573
Subject: [E-devel] [Patch] elm_genlist doxygen fix and addition.
I fixed some typos of Genlist doxygen and added more explanations.
Please review this and apply this to upstream.
SVN revision: 56017
Subject: RE: [E-devel] [Patch] Group index support
I added a small patch for Genlist group item clear.
And I changed git->minh to git->h in item_block_position function.
Thanks Govi
SVN revision: 55965
Subject: RE: [E-devel] [Patch] Group index support
I added a small patch for Genlist Group.
I missed one. Thanks Govi!
Can you review this and apply it to upstream?
SVN revision: 55929
Subject: [E-devel] [Patch] Group index support
I added group index feature.
This feature support to show item indicates group index.
I attached capture images showing group index.
As you can see attached png images, Group index item includes same group
items.
The group index is shown until every items that have same group index
are scrolled. so group index realize/unrealize is not excuteded in
_item_block_position function.
instead of the function, group index is controlled in _pan_calculate
function.
"Genlist Group" and "Genlist Group Tree" menu is added in
elementary_test. you can test group index operations in elementary_test.
This patch is not support elm_genlist_item_insert_before/after
operation of group index. We are now considering the operations in group index.,
This patch assumes that the previous 2 patches are already applied to upstream.
'[E-devel] [Patch] Tree support for elm_genlist_item_prepend() API.'
'[E-devel] [Patch] Tree support for
elm_genlist_item_insert_before/after() APIs',
So this patch does not include the changes of the previous patch.
I separated this patch.
- 004.elm_genlist.c.patch.txt
Patch for src/lib/elm_genlist.c
- 005.test_genlist.c.patch.txt
Patch for src/bin/test_genlist.c
- 006.genlist.patch.txt
Patch for data/theme/default.edc
And you have to add attached group_index.png file into 'data/themes'
'group_index.png' file is group index background image.
Daniel Juyung Seo help make test code and refactoring group index code.
SVN revision: 55925
Subject: [E-devel] [Patch] elm_genlist multi-touch smart callbacks
added
I added 6 multi-touch smart callbacks in elm_genlist, please refer to
below.
"multi,sweep,left" - Genlist has been multi-touch swept left.
"multi,sweep,right" - Genlist has been multi-touch swept right.
"multi,sweep,top" - Genlist has been multi-touch swept top.
"multi,sweep,bottom" - Genlist has been multi-touch swept bottom.
"multi,pinch,out" - Genlist has been multi-touch pinched out.
"multi,pinch,in" - Genlist has been multi-touch pinched in.
I think these smart callbacks are very useful for elm_genlist
multi-touch
effect.
If this patch have any issue, please let me know.
SVN revision: 55878
Subject: [E-devel] [Patch] Tree support for
elm_genlist_item_insert_before/after() APIs
I added tree feature support to
elm_genlist_item_insert_before/after() APIs.
This patch assumes that the previous patch, '[E-devel] [Patch] Tree
support
for elm_genlist_item_prepend() API.', is already applied to upstream.
So this patch does not include the changes of the previous patch.
This patch includes API break. I added parent parameter.
To support genlist group index feature, it should have a parent
parameter
like elm_genlist_item_append/prepend() do.
Raster already agreed to this API break.
I or my co-worker will introduce genlist group index feature today.
But for the reviewer's convenience, I separated this patch.
- 001.elm_genlist.patch.txt
Patch for src/lib/elm_genlist.c
- 002.elm_genlist.patch.txt
Patch for src/lib/Elementary.h.in, src/bin/test_genlist.c
- 003.elm_genlist.patch.txt
Due to API break, I changes other EFL libraries and applications on SVN.
SVN revision: 55869
Subject: [E-devel] [Patch] Tree support for elm_genlist_item_prepend()
API.
I added tree feature support to elm_genlist_item_prepend() API.
(elm_genlist_item_append() already supports tree.)
This patch is tested with elementary_test -> Genlist Tree.
Please review this and apply it to upstream.
SVN revision: 55868
here is a patch for elm_genlist.
Fixing Eina_Bool in elm_genlist.
0 -> EINA_FALSE
1 -> EINA_TRUE
And fixed return value of _item_block_recalc from int to Eina_Bool.
Anybody can review this and apply it to upstream?
Thanks.
Daniel Juyung Seo (SeoZ)
SVN revision: 55673
If you try to create a new widget, you must be sure that the parent
is really an evas object.
With the previous implementation it was possible to call an _add
function for an elementary widget with any non-null pointer as parent
eventually causing crashes (like with the elm_box).
SVN revision: 55521
Subject: [E-devel] [PATCH] Some modifications for adapting
elm_longpress_timeout_get().
I made a patch for adapting elm_longpress_timeout_get() function to all
winsets, using long press event.
And I checked one warning in elm_entry.c , so I modified it.
SVN revision: 55339
Although some widgets are modified in this patch there should not be any visible
change. Actually this patch is intended to fix a Gengrid issue (patch following).
In Gengrid when the items were bigger than the grid itself the scroll would not
work correctly when the alignment was other than 0.0. That happened because the
smart scroller object was assuming the pan origin to be (0,0) and doing some
miscalculations based on that.
SVN revision: 54902
add.del items will try and stick to viewing an acnhor item. it also
handles wrapping text properly now if style has such a thing - a test
style with that is there too (message style) for now - found isasue in
edje with textblock styles - doesnt change on state change. but anyway
- re-wrapping text works.. and it progressively processes the genlist
blocks to re-calc sizes etc. etc. so you dont block and so-on. i5ts
not too shabby. as for that - store has a generic struct type reader
now and is being tested... and get rid of unused var.
SVN revision: 54738
1. elm_genlist_item_item_class_update() API
It is required to change an item's item class on run-time.
Applications want to change a certain item's style and callbacks
dynamically.
This looks ok because changing one item's style does not affect performance,
And this API uses elm_genlist_item_update internally.
API name follows elementary naming conventions.
I've also added test code to elementary_test, Genlist 7.
2. constant to macro.
I replaced 2 constants for max_item_per_block and longpress_timeout to
macros.
This could be used in other places of the code.
3. duplicated assignment.
In elm_genlist_item_append, it->before = 0 is written in if and else.
I put this statement out of if().
4. fix doxygen typo
I fixed elm_genlist_compress_mode_set doxygen.
By: Daniel Juyung Seo <juyung.seo@samsung.com>
SVN revision: 54639
elm_list or in an elm_genlist fire the edge,{top,bottom,left,right}
signals, backporting them to the list object.
The new smart callbacks called are:
· "scroll,edge,top" - the list is scrolled until the top edge
· "scroll,edge,bottom" - the list is scrolled until the bottom edge
· "scroll,edge,left" - the list is scrolled until the left edge
· "scroll,edge,right" - the list is scrolled until the right edge
SVN revision: 3
SVN revision: 54393
processing of a genlist queue of 20,000 items). added genlist item
cache to do this. yay!. also wil improve runtime scrolling -
realiz/unrealize will be also equivalently faster, so less add/del
overhead for the edje objects in gnelist itself. the icons that apps
swallow in still get deleted and created. this is another matter for
anothr day. ant be solved inside of genlist itself. probably need an
unrealize callback per item and a way to steal your icons back from
the item.
SVN revision: 54214
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
If no item is selected, pressing up it will select the first and down
will select the last item
SVN revision: 53924
Only two getters continue without const:
* elm_theme_get
Need name review, or comportament.
* elm_toolbar_item_menu_get
Need comportament review, but will be fixed by bdilly.
SVN revision: 53874
Instead of just setting the bounce property to its scroller, each widget now
first checks in the profile used whether bounce is enabled or not.
SVN revision: 53730
The swipe cancel timer isn't deleted in elm_genlist_clear right now. That will
cause invalid access later on.
Patch by: Brian Wang <brian.wang.0721@gmail.com>
SVN revision: 53589
exist. Comment out function call until this gets sorted, so @ least
elm will build. Did nobody compile this before commit again ??? :(
SVN revision: 53439
use inlist so we don't have to find stuff to operate on.
export more methods, like elm_gengrid_item_next_get(),
elm_gengrid_item_prev_get() and elm_gengrid_first_item_get() and elm_gengrid_last_item_get()... so we don't expose elm_gengrid_items_get().
People using the old elm_gengrid_items_get() should move to
elm_gengrid_first_item_get() and then next variant.
SVN revision: 53248
I'll commit this to bring some attention to the topic, it is harmless
for people that do not use it, but for users it may be slow on list
resize.
SVN revision: 53160
Subject: [EFL] Small Patch for Genlist : elm_genlist_item_expanded_depth_get() API
I added one API to genlist : elm_genlist_item_expanded_depth_get(). This is
used to get an item's expanded depth. I tested this with latest SVN revision
53090.
Can you review this patch and apply this to upstream?
SVN revision: 53134
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Up and Down to navigate without multi selection. Hold shift + up/down to
multi select.
SVN revision: 53073
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Keys:
up
kp_up
down
kp_down
left
kp_left
right
kp_right
Page Up
Page Down
Home
End
p.s.: kp = key pad
SVN revision: 52963
This patch add tooltip and mouse cursor support for items of genlist
and gengrid and extends the elementary tests for tooltips and
cursor
By: Thiago Ribeiro Masaki <masaki@profusion.mobi>
SVN revision: 52805