Commit Graph

47 Commits

Author SHA1 Message Date
SangHyeon Lee 08277c48e5 genlist: supporting homogeneous mode about each item class.
Summary:
previously, homogeneous was only supported for one type of items or group items,
so if user want to use various item styles with different height,
they should set homogeneous false.

This patch is increase usability of homogeneous to make possible homogeneous for
each item class, with the assumption that every item in same class have same height.

Now the item class not only define it's style and class funcitons, also define the
shape properties of item including height and width also.

@feature

Test Plan: Already exist test case in genlist group

Reviewers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D3396
2015-12-14 12:03:07 +09:00
shashank.p 38191397a7 Genlist: Fixed a possible crash in filter iterator and a typo.
Summary:
1. If the sd->items list is empty any time and container_get is used on filter iterator, it will lead to crash. Solution is to not rely on sd->items and maintain a pointer to container when iterator is created.

2. There was a typo while filter feature was added earlier. Fixed it

@fix

Test Plan: NA

Reviewers: SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: rajeshps, shilpasingh

Differential Revision: https://phab.enlightenment.org/D3319
2015-11-11 15:30:58 +09:00
Shashank Pandey fb4b8ec146 [Genlist] Added correct container_get callback for filter iterator.
Summary: Warning fixed: Container_get mechanism was wrong. Fixed it.

Test Plan: elementary_test => Genlist => Genlist filter

Reviewers: singh.amitesh, cedric, shilpasingh, SanghyeonLee

Subscribers: shilpasingh

Differential Revision: https://phab.enlightenment.org/D3105
2015-09-24 16:42:37 +09:00
Shashank Pandey c4a558dd13 Elm_genlist: Add Item filtering support
Summary:
Add Filtering support in genlist based on filter function set by application.

@feature

Test Plan: Genlist filter sample added in elementary_test

Reviewers: raster, shilpasingh, cedric, SanghyeonLee

Subscribers: SanghyeonLee, divyesh, rajeshps, govi, prince.dubey, poornima.srinivasan

Differential Revision: https://phab.enlightenment.org/D2514
2015-09-23 20:50:05 +09:00
SangHyeon Lee d29a12d187 genlist: Refactoring genlist item cache logics.
Summary:
This patch is code refactoring for genlist item cache logic
as same as gengrid item cache and removing unnecessary
Item_Cache properties.
{selected, disabled, expanded} exist in Item_Cache,
but _item_cache_find ignore those flagged properties,
so _elm_genlist_item_status_update will not working with
itc properties(all itc properties are EINA_FALSE).

Test Plan: Need to check elementary_test genlist sample working properly.

Reviewers: raster, Hermet, seoz, jaehwan, cedric

Reviewed By: cedric

Subscribers: cedric, singh.amitesh, eagleeye

Differential Revision: https://phab.enlightenment.org/D2660

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-04 15:21:40 +02:00
VBS 93f0745430 genlist: Implemented genlist expand mode and content_min_limit function
Summary:
1. Implemented genlist mode ELM_LIST_EXPAND
2. Implemented content_min_limit function which override scroll interface.
  This function will be used by call API elm_scroller_content_min_limit.
  This function will set the object minimum size as its scroll content size,
  if parameter value is EINA_TRUE.

@feature

Test Plan: Add new test case in test_popup.c

Reviewers: raster, seoz

Subscribers: stefan_schmidt, bluezery

Differential Revision: https://phab.enlightenment.org/D1279
2015-03-03 19:58:41 +09:00
Stefan Schmidt f30c5c1674 Revert "genlist: added reorder feature on key events"
This reverts commit f99be3a1d6bdc63153598b592b5437c33da44bf0.

The API is not ready to be released. Please see the thread on the e-devel
mailing list under this subject. This can get another try in the 1.14
release cycle.

Conflicts:
	src/lib/elm_genlist.c
2015-01-19 12:56:50 +01:00
ChunEon Park 42dc29b87b genlist: revert 6f177e5db01553276058235a81cbfcc9b2cd4e23
this broke decoration item text. reverted.
2015-01-10 17:27:48 +09:00
ChunEon Park a045ca8289 genilst: get rid of lazy deletion.
delete genlist item directly.
instead, remove the bunch of code that was related to lazy deletion.

we can success, if we clean up the resources and callback calls properly.
here i only found item focus callback that (may) required the lazy deletion.
2015-01-08 23:07:39 +09:00
ChunEon Park f3efe45e5e genlist: remove useless deco texts. 2015-01-02 20:18:24 +09:00
ChunEon Park 4cdcfac116 genlist: code refactoring.
remove target states strings in the widget item.
2015-01-02 17:34:05 +09:00
ChunEon Park a41e9d8044 genlist: refactoring code.
removed invalid content string free call.
and renamed flip_content_objs -> flip_contents.
2015-01-02 16:48:29 +09:00
ChunEon Park 60202b7f0a genlist: code refactoring.
remove contents string list that doesn't needed to keep in widget data.

next code refactoring based on this patch will be coming.
2015-01-02 16:17:16 +09:00
Jyotiprakash Sahoo 17419ec81c genlist: added reorder feature on key events
Summary: This feature allows user to reorder items using up/down keys.

Test Plan: elementary_test -to "Genlist Reorder Mode"

Reviewers: singh.amitesh, raster, seoz, SanghyeonLee

Differential Revision: https://phab.enlightenment.org/D1262

Conflicts:
	src/bin/test_genlist.c
	src/lib/elm_genlist_legacy.h
2014-12-16 18:20:32 +09:00
Daniel Zaoui b01d01528a Object Items: remove casts that are no more needed.
It includes casts to Eo, Elm_Object_Item and to specific items data.
This belongs to the cleaning phase of the object items porting to Eo.
2014-11-12 12:03:57 +02:00
Daniel Zaoui 81becebfa6 Object Items: remove temporary files used for the porting to Eo. 2014-11-12 12:03:57 +02:00
Daniel Zaoui 4618dab968 Object Items: remove old inheritance mechanism. 2014-11-12 12:03:57 +02:00
Daniel Zaoui ca286ea1cb Elm Genlist Item: Migrate to Eo 2014-11-12 12:03:56 +02:00
Daniel Zaoui a9b13f7633 Elm Widget Item: Migrate to Eo
Since we want to support legacy inheritance mechanism, code is not
finished and will have to be cleaned when all the items are ported.
2014-11-12 11:52:10 +02:00
Daniel Juyung Seo ad5d950bf1 doc: added @c for eina bool in the documentation. 2014-08-13 19:50:38 +09:00
Daniel Juyung Seo 5a4ca7008f widget: added warnings to internal headers.
These headers are installed in the system but not officially supported
as they are considered as internal headers.
The reason why they still need to be installed is that
   - they were exposed even in the previous releases.
   - they are needed for widget customization (unofficially)
   - or it will break ewe.

Special thanks to Stefan for the reporting.
2014-08-08 01:29:39 +09:00
Hosang Kim 105ee3660d genlist : Add item looping on flag.
Summary: When item looping feature is on and press up or down key, screen seems to be frozen.

Test Plan: elementary_test -to "genlist focus" -> click item looing enable -> move list up and down

Reviewers: anand.km, seoz, woohyun

Subscribers: singh.amitesh

Differential Revision: https://phab.enlightenment.org/D1193
2014-07-22 15:11:18 +09:00
Amitesh Singh 24ce4835c1 list/genlist/gengrid/toolbar: removed unused smart data member prev_focused_item.
Reviewers: raster, seoz

CC: seoz

Differential Revision: https://phab.enlightenment.org/D1119
2014-07-07 12:20:54 +09:00
Tom Hacohen efa41c7d75 Elm: Update code to use the new class names generated by eolian. 2014-06-03 11:54:44 +01:00
Hosang Kim 0f636e890a genlist: Add item loop feature
Summary:
If item loop feature is enabled, item is moved infinitely.

    1. Refactor direction key event handling routine
      - added internal function _elm_genlist_elm_widget_event_direction.
    2. Add looping feature for genlist
      - added Eolian function _elm_genlist_elm_widget_item_loop_enabled_set/get.
    3. Add demo - test_genlist.c / genlist focus

Reviewers: seoz, woohyun, jaehwan, Hermet, raster

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D778

Conflicts:

	src/lib/elm_widget_genlist.h
2014-04-24 14:17:35 +09:00
Daniel Juyung Seo 94661ce059 genlist: reordered genlist internal structure members for a better structure packing. 2014-04-23 23:02:57 +09:00
Daniel Zaoui 2bc08afc83 Eolian: Integration of Genlist and Genlist Pan 2014-04-01 13:55:42 +03:00
zmike ea088ab21f genlist no longer crashes if a selected item is deleted during deselect_all 2014-03-23 10:39:47 -04:00
Daniel Juyung Seo 0a31f91b20 genlist: Refactor event_block_rect handling routine.
- Changed wrong name alpha_bg to event_block_rect.
- Added more comments to the smart data variable.
- Changed wrong function name _tray_alpha_bg_create to
_event_block_rect_update.
2014-03-09 04:48:21 +09:00
nirajkr e014fe92f4 genlist: Implemented the item focus support in genlist
Summary:
Implemented the following function
          1. _item_unfocused
          2. _item_focused
          3. _item_focus_up
          4. _item_focus_down
          5. _item_focus_left : Currently this function return EINA_FALSE. It means focus will move out of genlist to the another left widget
          6. _item_focus_right : Currently this function return EINA_FALSE. It means focus will move out of genlist to the right widget
          7. _item_focus_set_hook
          8. _item_focus_get_hook
          9. _elm_genlist_focus_highlight_geometry_get
          10. _elm_genlist_focused_item_get
          11. Changes in the smart_event, smart_on_focus, pan_smart_calculate, mouse up callback.
              Currently selected/focus logic are both present in the smart_event function and its
              will be separate out.

Reviewers: seoz, woohyun

CC: singh.amitesh

Differential Revision: https://phab.enlightenment.org/D558

Conflicts:

	src/lib/elm_genlist.c
2014-03-09 01:55:40 +09:00
Ryuan Choi 37ffb188bb elm_widget_xxx.h: Adopt EINA_UNLIKELY and fix indentation in FOO_DATA_GET macros. 2014-01-16 03:34:55 +09:00
Daniel Juyung Seo e63dd3110a elm: Unified eina critical manro to CRI.
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.
2013-12-26 13:03:55 +09:00
Daniel Juyung Seo 6a0f47d120 Genlist/Gengrid: Added multi select mode for genlist/gengrid.
elm_genlist_multi_select_mode_set/get()
elm_gengrid_multi_select_mode_set/get()
2013-11-03 23:58:57 +09:00
Carsten Haitzler 153f5d9de2 genlist - fix some stacking issues when selecting items with group headers
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.
2013-06-23 15:17:39 +09:00
Yossi Kantor 2e1eacd0ba elementary: Focus improvement for elm_genlist and elm_list
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.
2013-05-12 15:32:33 +03:00
Daniel Juyung Seo 2edf9256fc elm_genlist: refactoring. code clean up.
introduced ELM_GENLIST_DATA_GET_FROM_ITEM and made sources so much cleaner.
2013-05-03 03:14:37 +09:00
Daniel Zaoui 187d6bf8de Elementary: replace eo_data_get for objects data referencing. 2013-05-01 11:04:09 +03:00
Daniel Juyung Seo 1503eb16ee Revert "I removed it->generation, sd->generation, it->walking, sd->walking"
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.
2013-04-18 01:30:34 +09:00
Tae-Hwan Kim e939692a78 I removed it->generation, sd->generation, it->walking, sd->walking
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.
2013-04-15 12:00:43 +09:00
Daniel Juyung Seo 3ebcf017e0 elm_widget_genlist.h: added doxygen comments about prev_viewport_w.
I followed existing char wrap policy but wrapping comments for the structure members doesn't look fancy :(
2013-04-03 10:42:51 +09:00
Tae-Hwan Kim abc94fb3da Because of relcount, genlist items cannot be deleted immediately.
If we use reverse relatvie lists, we can delete item immediately.
2013-03-29 22:23:38 +09:00
Daniel Juyung Seo 17b9f1d8e7 elm elm_widget_genlist.h: More description for variables.
SVN revision: 83349
2013-01-26 07:11:38 +00:00
Yakov Goldberg 5c98343198 We have ported to Eo all the widgets of elementary. We didn't change the inheritance itself, only the mechanism, as done previously in Evas, Ecore and Edje. We removed totally the previous inheritance mechanism.
Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
Signed-off-by: Daniel Zaoui <daniel.zaoui@samsung.com>

SVN revision: 79668
2012-11-26 06:32:53 +00:00
Carsten Haitzler f917683f58 oops i didnt mean to commit this with shinwoo's patch. remove.
SVN revision: 77749
2012-10-10 11:03:44 +00:00
Kim Shinwoo 0864af3230 From: Kim Shinwoo <kimcinoo.efl@gmail.com>
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
2012-10-10 09:37:50 +00:00
Daniel Juyung Seo 838684f1bf elm genlist: Fixed reorder mode to scroll the pan when reorder item approaches to the edges. Patch by Bluezery <ohpowel@gmail.com>
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
2012-10-01 08:55:46 +00:00
Gustavo Lima Chaves f6b6104dd6 [elm] Genlist now inheritable.
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
2012-07-31 22:06:06 +00:00