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
With this commit is now possible to not use theme's cursor (default behevior)
that could be overriding cursors defined by the engine.
SVN revision: 52761
Basically, get the group from widget theme, using the string passed to
elm_object_cursor_set, get hot spots x and y from the theme (keeps the object
and these two integers on cursor struct).
Cursor is set with ecore_evas_object_cursor_set()
Some functions to change style were added to the api.
SVN revision: 52760
Widgets can have customized cursors setting it with elm_object_cursor_set.
Widget's item can use elm_X_item_cursor_set to set a different cursor
for each item.
It will work only if HAVE_ELEMENTARY_X for now, but support for themeable
cursors is planned.
SVN revision: 52382
Now owner widget (elm_widget) is just used to listen for theme changes
and create/destroy the tooltip data. The actual mouse events operates
on all Evas_Object and is the one where tooltip data is actually
stored.
The public API is basically the same, just the event_info is now NULL
to avoid confusion.
The internal API introduces elm_object_sub_tooltip_content_cb_set()
and as the first parameter the eventarea. While this may be confusing,
as the second parameter is the actual elementary object, it is the one
that all other calls receive, like elm_object_tooltip_hide() or
elm_object_tooltip_unset(), thus it does make sense to have such order.
Also internal API, elm_widget_item_tooltip_* functions were
added. They are a variation of the widget API to handle its items, as
such the func() gets one more parameter: item, and the del_cb() gets
the item as event_info (that's why the public widget version got
event_info always NULL, to not confuse with this one!)
Widgets with items that makes sense to have tooltips got extra API:
* toolbar
* list
* gengrid
* genlist
SVN revision: 52173
This patch changes all Elm_*_Item to use new infrastructure of
Elm_Widget_Item. This patch is basically a find-and-replace, but even
that was a bit tricky since every code had different names for the
same things, particularly for "view" and "widget" the names ranged
from "o"/"obj" to "base"/"o", quite confusing!
It is worth noting that Genlist and variants that adopted its "item
class" style such as Gengrid and Slideshow already provide a "del()"
callback there and I'm keeping them, however we should reconsider if
it is good to remove them and use elm_widget_item_del_cb_set()
instead. The drawback is that onde would have to set it, while the
other is done automatically when you create the object with the
class. Nonetheless this patch already introduces support to use
elm_widget_item_pre_notify_del(), but it will be void in such code as
nobody ever sets it.
Some new setters and getters were introduced to normalize code... and
they would be required once people write python-bindings for them,
like index and carousel.
SVN revision: 52118
The correct way is to use EINA_INLIST_CONTAINER_GET() that allows the
Eina_Inlist structure to be moved around in the structure. Right now
it did work fine, but I want to change the Elm_Genlist_Item later and
this change will be required and it is better to come in a separate
patch.
SVN revision: 52112
From _del_pre_hook() we first delete pan_smart and then call
elm_genlist_clear() to rip off children, however genlist_clear was
always doing evas_object_smart_callback_call() on it.
SVN revision: 52111
* Remove vim modelines:
find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;
* Remove leading blank lines:
find . -name '*.[cxh]' -exec sed -i '/./,$!d'
If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0
SVN revision: 50816
Subject: [E-devel] [PATCH] Genlist longpress timeout
Hello,
I've made a patch that makes the genlist capable of configuring the
timeout for the longpress event.
The patch compiles but I haven't tested it yet. However it's very
simple, it should work out of the box.
Patch is the output of "svn diff" from revision 49809.
SVN revision: 50558
genlist mode, button repeat stuff. thanks very muchly
also - i added calc idler self-timer check. if it spends more than 1
frametime (time between frames - this is what it deems as "too much") on
calculation, then it breaks the idle and goes back to mainloop. could make it
half a frametime - but this will do for now.
SVN revision: 45479
GENERAL WARNING:
do NOT delete sub-objects (elm_widget_sub_object_add) or resize object
(elm_widget_resize_object_set) from del_hook()!! These are deleted
automatically before this function is called, thus you might double
free.
Fixed all occurrences I've spotted with valgrind. Please do not add more :-)
SVN revision: 43682
2. add pagination concept to scroller (only scroll by pages)
3. add longpress callback for list + genlist
4. scroller docs and some empty api calls.
SVN revision: 42147
2. add bouncing at ends for scroller and config for it
3. fix quicklaunch to be cserver-freidnly thanks to its fork tricks
4. add signals to scroller when scrolling and hitting edges
5. pants.
SVN revision: 40549
Avoid doing casts on it, use EINA_INLIST to define the struct and
EINA_INLIST_GET() to access members, this way if you misused the types
compiler will be able to warn you.
Move most Eina_Inlist loops to EINA_INLIST_FOREACH(), this way it is
more clear and if we want to change something we just change the
macro.
Needs new code in Eina!!! (fix EINA_INLIST_GET() macro)
SVN revision: 39209
* casts: remove internal "Item" and use "Elm_XXXX_Item" for carousel,
list, genlist and toolbar.
* warning: fix const on lots of getter apis, the object should be
const, and not the return! Of course lists that are returned and
are not supposed to be modified are still returned as const, but
maybe we should return iterators!
* list/genlist: fix selected_set() to be a bit (marginally)
faster. Do not operate if state has not changed and if it did
changed we're sure we're not in the object->selected list.
SVN revision: 39208
fix some theme size calc issues
make all widgets able to... do finger size! this way a ui can be tweaked with
1 value (finger size) if it is to be finger or mouse/stylus driven. and it
was so simple to add in.
work on genlist - beginning to display items and scroll.
SVN revision: 38995
some buglts to clear up though.
fix scroller to scroll only at animator framerate.. using an animator making
scrolling much better.
begin genlist (geeric but complicated) list.
SVN revision: 38979