Commit Graph

30 Commits

Author SHA1 Message Date
SangHyeon Lee d700a9b86f gengrid: add item cache in gengrid for efficient realize/unrealize operation.
Summary:
gengrid realize/unrealize items each smart calculation if their posiiton is updated.
This concept will be occurred useless view object creation and deletion.
So instead of delete items in unrealize function, push item cache into cache list,
and pop item cache from cache list in realize function to reuse item view object
more efficiently.
the cache concept is already implemented in genlist widget and this patch is improved
item cache of genlist cache.
@feature

```
NOTICE: This patch is written under the D2561 Patch which add elm_gengrid_item_fields_update.
        So it must submitted after D2561.
```

Test Plan:
I've tested below three cases,
   1. tested ith this patch in elementary_test and checked all gengrid features are working properly.
   2. tested with changing CACHE_MAX to another value which is set 40 in default
       and checked all gengrid features are working properly.
   3. tested with set it->item->nocache true, and checked cache is never generated
       and checked all gengrid features are working properly.

Reviewers: raster, Hermet, seoz, jaehwan, singh.amitesh

Subscribers: eagleeye, singh.amitesh, Jaehyun

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-25 17:24:08 +02: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 ae4c43d2ee Elm Gengrid 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 fc4a3a840e gengrid: Fixed ELM_OBJECT_SELECT_MODE_NONE codes and added more DISPLAY_ONLY check.
Also made an internal function to check it easily.

@fix
2014-08-22 02:48:29 +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
Amitesh Singh 04bbda8911 gengrid: Added normal reorder type
Summary:
- Added Elm_Gengrid_Reorder_Type enum
- Added API elm_gengrid_reorder_type_set()
- Implemented the normal reorder type animation
- The old reorder type is changed to ELM_GENGRID_REORDER_TYPE_SWAP.
- ELM_GENGRID_REORDER_TYPE_NORMAL is the default reorder type.

Test Plan:
1. elementary_test->"Gengrid Focus"
2. Enable "Reorder Mode Enable"
3. Move the items by keys

@feature

Reviewers: raster, seoz

CC: seoz, chinmaya061, aryarockstar

Differential Revision: https://phab.enlightenment.org/D813
2014-07-09 15:09:43 +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
efl b087e80e9b Gengrid: Added horizontal item loop feature.
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
2014-06-10 15:00:09 +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
Daniel Juyung Seo 535fe6bd97 gengrid: Added elm_gengrid_wheel_disabled_set/get() APIs.
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
2014-04-27 13:54:37 +09:00
Amitesh Singh f3ad4cd3c4 gengrid: item moving feature with keys.
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
2014-04-23 21:13:57 +09:00
Daniel Zaoui fd0d159fef Eolian: Integration of Gengrid and Gengrid Pan 2014-04-01 14:52:14 +03:00
Carsten Haitzler 2291c37875 Revert "adding focus direction for gengrid"
This reverts commit 4fe82cc740eda0c6b50ee09aedcf173aac1e775d.
2014-03-24 18:02:03 +09:00
m.zielonka 32751ac33b adding focus direction for gengrid
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
2014-03-24 16:38:27 +09:00
Daniel Juyung Seo 3aef035f1d gengrid: Fixed broken gengrid item focus support.
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.
2014-03-22 23:51:52 +09:00
nirajkr fcfeba5097 gengrid : Implementation for gengrid item focus support
Summary:
Implemented the following API to support gengrid item_focus
          1. _elm_gengrid_focus_highlight_geometry_get
          2. _elm_gengrid_focused_item_get
          3. _item_focus_up
          4. _item_focus_down
          5. _item_focus_right
          6. _item_focus_down
          7. _item_focus_set_hook
          8. _item_focus_get_hook
          9. _item_focused
          10. _item_unfocused
          11. Changes in the smart_event, pan_calculation, smart_on_focus to support item focus

Reviewers: seoz, woohyun, singh.amitesh, raster

CC: raster

Differential Revision: https://phab.enlightenment.org/D550
2014-03-21 17:00:46 +09:00
SangHyeon Lee cee12e4f94 [Gengrid] Refactoring gengrid item show reigion calculation
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
2014-01-21 16:54:59 +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
Sanghyeon Lee 8531b7aeed [Gengrid] Enable Scroll To Type when item bring in or show region.
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.
2013-12-02 15:52:35 +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
Daniel Juyung Seo f3537869a5 gengrid: implement selectraise feature.
Gengrid item will be raised on selection. This was implemented in genlist, list, and index.
2013-08-26 19:55:28 +09:00
Daniel Zaoui 187d6bf8de Elementary: replace eo_data_get for objects data referencing. 2013-05-01 11:04:09 +03:00
DUBEYPRINCE KUMAR ac8e33ea76 From: DUBEYPRINCE KUMAR <prince.dubey@samsung.com>
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
2013-01-03 12:03:55 +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
Daniel Juyung Seo a128399b3a elm elm_widget_gengrid.h: Fixed gengrid documentation. Patch by Rajeev Ranjan <rajeev.r@samsung.com>
On Thu, Nov 8, 2012 at 12:42 PM, Rajeev Ranjan <rajeev.r@samsung.com> wrote:

    Hi,
       Attached is a patch to update documentation for gengrid related to changing longpress_timeout value in gengrid.
    Signed-off by: Rajeev Ranjan <rajeev.r@samsung.com>

    Thank you.
    Regards,
    Rajeev

SVN revision: 78990
2012-11-08 03:58:48 +00:00
Gustavo Lima Chaves 58c743a90e [elm] Gengrid inheritable.
SVN revision: 74694
2012-07-31 22:07:07 +00:00