Commit Graph

287 Commits

Author SHA1 Message Date
Daniel Juyung Seo fad3a2dfc4 list/genlist/gengrid: Handle on_focus event on focus set only for key
event.

When you use mouse(touch) that triggers mouse up event, the
focus/selection movement is done by mouse up callback, so don't need to
handle on_focus event when mouse(touch) is used.

You can reproduce the bug by the following step.
1. launch elementary_test -> list focus, genlist focus, gengrid focus
2. focus an item (by touch, by key)
3. move focus to left button (by touch, by key)
4. click an another item (by touch)
5. previously focused item will be unfocused again even it was unfocused
at step #3/

Special thanks to Amitesh for the report.
2014-03-23 16:48:10 +09:00
Daniel Juyung Seo 0008452aba gengrid: Commented out some temporarily unused code.
This code will be used later when the item selection on key press becomes
optional. So do not remove this.
2014-03-23 02:07:20 +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
Daniel Juyung Seo 27f98b1e01 genlist/gengrid: Used item callback infrastructure. 2014-03-22 19:10:27 +09:00
Daniel Juyung Seo 65c948ca93 list/genlist/gengrid: Call item_show not bring_in on focus.
Elm 1.9 does item_show not bring_in so let's keep the consistency. I
will make this optional later.
2014-03-22 18:38:00 +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
Daniel Zaoui 7460467419 Eolian: Integration of Scrollable Interface 2014-03-18 08:14:44 +02:00
Daniel Zaoui e2206a1a22 Eolian: Integration of Elm Widget 2014-03-17 09:03:56 +02:00
zmike c2d994e996 gengrid clear should do nothing if there are no items 2014-03-14 14:15:22 -04:00
Daniel Juyung Seo e60e43f8f5 list/genlist/gengrid: Clear some internal variables when an item is deleted.
Set last_selected_item, last_focused_item, focused_item to NULL when the
item is deleted.
For genlist and gengrid, clear them in del_not_serious.
2014-03-09 02:57:09 +09:00
Jaehwan Kim db23689614 access: Add smart signal "access,changed"
It occurs that access mode is changed.
Application can add this callback for each widget.
2014-02-08 14:05:14 +09:00
WooHyun Jung 0a1179dde4 elm_layout now supports focused/unfocused smart callback
by itself for widgets that inherit layout class.
If it uses elm_widget's, smart callback will be called at the
beginning or smart_on_focus function.
2014-02-06 16:18:57 +09:00
ChunEon Park dbacb2fef9 elementary - send signal "language,changed" with one way in the widget.
Call the smart callback in the widget infra so that each widget don't need to hook the smart_translate only for the smart call.

This makes reducing duplicated code and supporting language,chagned from all widgets.
2014-01-23 19:30:34 +09:00
ChunEon Park aebdcff513 elementary - use the focused/unfocused string in widget defined.
Now, it will share the strings so that reduce the binary size also user uses it in one way.
2014-01-23 17:27:17 +09:00
Daniel Juyung Seo 0d1ac0fa05 elm: Removed unnecessary null check for eina_list_free. 2014-01-22 10:55:01 +09:00
Daniel Juyung Seo a4f3074f9c elm: Removed unnecessary null check for ecore_timer_del,
ecore_animator_del, and ecore_job_del.

As all efl public free apis get null as valid parameter, we do not need
to check null. I also removed some null check for other free apis which
were right next to timer/animator/job del. After this job code got
cleaner.
2014-01-21 23:18:16 +09:00
Yakov Goldberg 3379c124df all widgets: change Eo API for "elm_widget_theme()" to "theme_apply"
There are elm_widget_theme/theme_set/theme_get functions.
    In Eolian these functions will be described as "theme" method and
    "theme" property. There is clash here.
    So add suffix "_apply" to Eo API for "elm_widget_theme".
2014-01-21 11:08:29 +02: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
Daniel Juyung Seo a7a8b257c2 gengrid, genlist: Fallback into default item style if the required item
style does not exist.
2014-01-08 19:07:56 +09:00
Daniel Juyung Seo d58b4401e8 flip, gengrid: Removed dead assignments which were reported by clang
build.

https://build.enlightenment.org/job/nightly_elm_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-05-1/report-cMar9x.html#EndPath
https://build.enlightenment.org/job/nightly_elm_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-05-1/report-ZMmiQe.html#EndPath
2014-01-07 00:11:00 +09:00
Daniel Juyung Seo fd5c046dfe elm: Changed __UNUSED__ to EINA_UNUSED. 2014-01-06 23:33:57 +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 6d71a23c3a elm lib: removed all the unnecessary empty lines.
being pedantic.
2013-12-15 06:18:35 +09:00
Ryuan Choi 9816a8cae1 gengrid: Remove unnecessary if statement
Summary: func.content_get is already checked in enclosed block.

Reviewers: seoz, cedric, raster

Reviewed By: seoz

Differential Revision: https://phab.enlightenment.org/D366
2013-12-04 13:16:02 +09:00
Daniel Juyung Seo 38c19d2739 gengrid: refactoring of commit 7187a3124fc6c169fcfec2c249a1fd483481fbba.
- follow the convention for structure name
- removed unnecessary callback
- removed wrong api usage
- removed unnecessary variables
- removed unnecessary parameter passing
- fixed ugly ui
- added 'static' to local function
- changed frame description more descriptive
- fixed formatting
2013-12-02 20:32:14 +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
Tom Hacohen 4c8d03894c Changed Eo class names to be consistent. #2
All the class names are now of the format: Elm_Type_Subtype_Extra

Thanks to Yakov for pointing out I forgot a few and for giving me a nice
list.
2013-11-07 14:30:22 +00:00
Tom Hacohen 2f1e1554e5 Changed Eo class names to be consistent.
All the class names are now of the format: Elm_Type_Subtype_Extra
2013-11-07 11:44:22 +00:00
Daniel Juyung Seo 9509986a05 gengrid/genlist: added Eo compatibles for elm_genlist/gengrid_multi_select_mode_set/get() APIs. 2013-11-04 01:15:58 +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
Ryuan Choi 5836a25bc8 genlist, gengrid: Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL
Summary:
Some applications like file viewer allow multiple selection only with
Control key was pressed.

Reviewers: seoz, raster

Reviewed By: raster

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

Conflicts:
	ChangeLog
	NEWS
2013-11-02 20:53:43 +09:00
Daniel Juyung Seo d22076681b elm: Fixed formatting about smart_event check for code consistency.
- Made it look clearer.
- Removed unnecessary local variables.
- Keep the code sequence consistent.
2013-10-28 23:30:12 +09:00
Ryuan Choi 2452ffe289 gengrid: adopted ELM_PRIV_XXX_SIGNALS to reduce human mistake.
"index,update" signal is missing in signal description.

So, This patch refactored signal declarations to avoid mistakes.
It was introduced since b430c07ca1f1.
2013-10-19 00:14:57 +09:00
Daniel Juyung Seo d9edd168d7 elm_gengrid.c: adopted ELM_WIDGET_DATA_GET_OR_RETURN macro. 2013-10-05 17:14:21 +09:00
Cedric Bail 29af5e1e43 elementary: update to new eo_parent_get/set API. 2013-09-25 13:34:27 +09:00
ChunEon Park a7b11a4c56 elementary/genlist,gengrid - should be cancel the track object before item view is removed. 2013-09-13 16:20:40 +09:00
ChunEon Park f426e08982 elementary/elm_object_item - delete the track objects when genlist/gengrid items are unrealized. 2013-09-13 14:19:41 +09:00
Michaël Bouchaud (yoz) 9271fc7e0f elementary: don't send unrealized item signal on item update 2013-09-09 12:00:58 +02:00
Michaël Bouchaud (yoz) 742abe65e1 elementary: avoid some glitter on gengrid item creation 2013-09-09 11:53:47 +02:00
Daniel Juyung Seo f790e7b1a0 elm_gengrid.c: more ELM_SAFE_FREE macro for gengrid. 2013-09-08 18:50:00 +09:00
Daniel Juyung Seo 745488fff3 genlist/gengrid: use spacer when item edc supports elm.swallow.pad part. 2013-09-06 13:08:21 +09:00
Daniel Juyung Seo beddd2c007 elm_gengrid.c: code cleanup. 2013-08-28 08:47:47 +09:00
ChunEon Park fe0f0a445e elementary/widgets - set parents before widget constructs their body.
This avoids unnecessary setups again when obj <-> sub has connected.
2013-08-27 00:29:45 +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
Carsten Haitzler 59e8bc5a35 Fix elm to use key not keyname (so xmodmap works) 2013-07-31 15:16:41 +09:00
Shinwoo Kim c47ef1b7fe [access] use proper name _elm_access_info_get(); not _elm_access_object_get(); to get access information 2013-07-31 12:57:49 +09:00
Daniel Juyung Seo 14c7bf8039 elm_gengrid/genlist.c: removed logically dead code. NULL is already checked.
This fixes 'Logically dead code' warning which was spotted by coverity.
CID 1040038, 1040040, 1040036, 1040037.
2013-07-06 12:49:54 +09:00
Daniel Juyung Seo f1b685897d elm: do not declare SIG_FUCSED/SIG_UNFOCUSED if the const char is not used more than once.
ctxpopup, fileselector_button, naviframe, player, popup, bubble, button, calendar, check, clock, colorselector, datetime, diskselector, flipselector, gengrid.
2013-06-10 14:13:55 +09:00
Daniel Juyung Seo 8cf2c8a422 calendar, check, clock, colorselector, datetime, diskselector, flipselector, gengrid: added "focused" and "unfocused" documentations. 2013-06-09 18:55:42 +09:00
Daniel Juyung Seo 4738e0d6ae elm_gengrid.c: ELM_SAFE_FREE adoption.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
2013-05-29 20:53:13 +09:00