Commit Graph

673 Commits

Author SHA1 Message Date
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
Carsten Haitzler 95fdc9cc88 fix up namespace for many signal while keeping old versions for compat 2013-10-05 21:35:27 +09:00
Daniel Juyung Seo a2c704d613 elm_genlist.c: adopted ELM_WIDGET_DATA_GET_OR_RETURN macro. 2013-10-05 17:14:25 +09:00
Carsten Haitzler 0aed5eb970 genlist - fix homogenouse mode after previous fix to stop realizing all 2013-10-04 15:00:26 +09:00
Carsten Haitzler 6641cc792e genlist - fix homogenous to NOT go (un)realizing every item on queue 2013-10-01 12:54:28 +09:00
Daniel Juyung Seo e756f97dae elm: Longwaited trailing white space removal. Clean elm up! 2013-09-30 22:15:01 +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
Daniel Zaoui 9cb42442f8 Genlist: fix memory not freed when item is expanded.
Thanks to TaeHwan Kim for the fix.
2013-09-09 10:14:14 +03: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 ce2df375b2 elm_genlist.c: use more ELM_SAFE_FREE. 2013-09-06 13:00:42 +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
Gustavo Sverzut Barbieri 19b55ddc65 genlist: implement list position signals.
Genlist will now emit the following signals to item view related to
their position in the whole list:
      - elm,state,list,first: first item of the whole list
      - elm,state,list,last: last item of the whole list
      - elm,state,list,middle: any item that is not first or last.
      - elm,state,list,single: when the item is the only element of list.
And the following related to a group (considering its given 'parent'):
      - elm,state,group,first: first item of the group
      - elm,state,group,last: last item of the group
      - elm,state,group,middle: any item that is not first or last.
      - elm,state,group,single: when the item is the only element of group.

Unlike odd/even the signals have an extra namespace "list" or "group"
to avoid conflicts with applications that may have declared these
signals themselves for other purposes.

With this patch one can implement easily something like this:

         https://developer.apple.com/library/ios/documentation/userexperience/conceptual/tableview_iphone/Art/tv_grouped_style.jpg
2013-08-22 17:02:49 -03:00
Gustavo Sverzut Barbieri 1bba4c94d3 genlist: rename even_odd_update to more generic name.
The next patch will also send signals to say if it's the first, middle
or last item and also for group, thus using a more generic name will
help.
2013-08-22 17:02:49 -03:00
Daniel Juyung Seo c5b0d63838 fixed documentation for consistency. Gets -> Get.
Occurance of Get is super much higher than Gets.
So change Gets to Get for consistency.
2013-08-22 05:24:46 +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
Ryuan Choi 477c38cdd8 elm, genlist: Introduce ELM_PRIV_STATIC_VARIABLE_DECLARE and ELM_PRIV_SMART_CALLBACKS_DESC
This can reduce human mistakes when adding new signals (and typing).

This is not all, I will work on adopting these macros for oter widgets.
2013-07-15 11:28:18 +09:00
Daniel Juyung Seo 23d6d17695 elm_genlist.c: refactoring. use correct parameters. 2013-07-06 13:00:39 +09:00
Daniel Juyung Seo d66e2ed136 elm_genlist.c: do not check null. it should not be a null and it was already dereferenced.
This fixes 'dereference before null check' issue which was spotted by coverity. CID 1040000.
2013-07-06 12:56:58 +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
Carsten Haitzler 651214b722 put a lot more hysterisis on drag detects in genlist... 2013-07-02 19:33:00 +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
Daniel Juyung Seo 6cf684f02a elm: added more "focused" and "unfocused" documentations.
genlist, hover, index, list, map, photocam, progressbar, radio, scroller, slider, slideshow, spinner, toolbar, win.
2013-06-10 14:13:55 +09:00
Daniel Juyung Seo e533e0e9c8 elm_genlist.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:54:11 +09:00
Daniel Juyung Seo ef8701a173 elm: more ELM_FREE_FUNC cleanups. 2013-05-24 00:58:38 +09:00
Daniel Juyung Seo ac25946a19 elm: introduce ELM_FREE_FUNC for code quality enhancement.
There are pros and cons but this
1. reduces human mistakes.
2. enhances readability.
3. enhances code quality.
4. removes future bug.
5. was adopted from enlightenment.

This is not all. I will work on enhancing elementary more and more.
2013-05-22 02:24:02 +09:00
Ivan Briano 86b4ab8276 Process messages after using the state_get of genlist items
This allows to make these states change the minimum size of the item
without the list calculating everything wrong.
2013-05-16 19:28:17 -03: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
Tae-Hwan Kim e6afe0c33d [Genlist] Fix bug when error abort is enabled. 2013-05-07 19:41:15 +09:00
Shinwoo Kim 4a568d2bff [access][genlist] do not append NULL to genlist focus list 2013-05-03 20:01:58 +09:00
Cedric Bail c929b33052 elementary: properly sanitize headers order. 2013-05-03 16:07:06 +09: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 Juyung Seo 3ff54223b1 elm_genlist.c: fixed comment typo. 2013-05-03 03:14:37 +09:00
Tae-Hwan Kim ec047e2f92 genlist: fixed dangling _calc_job bug.
Before calling _calc_job directly, the job should be removed.
Because dangling job can be remained.
2013-05-03 02:10:55 +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 74b3eed5fd elm: print the error message inside elm_widget_sub_object_add().
1. Do not need to print the same error message from all the widget codes.
2. Even though elm_widget_sub_object_add() can be used internally, there should be no error message at all.
   Elm devs should fix it beforehand.
   So it looks ok to print the error message in elm_widget_sub_object_add() to force elm devs to fix it.
3. Got additional code cleanups.
2013-04-03 11:28:53 +09:00
Daniel Juyung Seo 758bbce11d gengrid/genlist: removed relcount leftovers from commit 3f4c3e03c600c87782543cf08de886016f2c192e. 2013-04-02 12:44:27 +09:00
Daniel Juyung Seo 698bcf4478 Recommit the code which was removed by commit 3f4c3e03c600c87782543cf08de886016f2c192e 2013-03-29 23:03:29 +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 fc241f5c41 elm_genlist.c: added {} pair for if statement + loop combination.
Special thanks to Tasn.
2013-03-27 02:46:35 +09:00
Daniel Juyung Seo 4bf4a58461 elm_genlist.c: use macros for timers. 2013-03-27 02:33:01 +09:00