Commit Graph

188 Commits

Author SHA1 Message Date
Lukasz Stanislawski 2f5bed1886 index: accessibilitize index items
Expose elm_index items as accessiblie buttons. Provide name
and "activate" action.
2016-01-04 12:00:40 +01:00
woochan lee 41bfc98606 index: internal item's edje object handling logic changed to improve performance.
Summary:
The box_clear, box_fill internal functions called when almost every internal chage happend.
(resize, theme apply, item append, item delete etc...)
Then those APIs delete/create item's edje object for all of the items.

It's very not good action for performance.
So, i changed this just edje object box unpack/pack instead of delete/create.

@fix

Test Plan:
Working test on elementary_test
and Call all of the index APIs for check this change.

Reviewers: Hermet, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 12:37:09 -08:00
Vivek Ellur 03747a7ef6 elm_index: Fix memory leak issue in realloc failure
Summary:
@Fix

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3214
2015-10-22 12:40:19 -07:00
Woochan Lee af6fb9dc02 Revert "index: fix index object got a wrong min value."
Summary:
I need to think more about item omitted case, horizontal case as well.
Now i'm working on this. It may need to refactoring internal logic.

Please revert this commit it break view when index item omitted.

@fix

This reverts commit 560338c5c31bda8912938074cb736eabdb9f1f31.

Reviewers: Hermet, cedric, woohyun

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-09-26 08:34:44 +02:00
Jaehwan Kim 0dedfc9248 focus: add the APIs to set the focus next about item.
Add elm_object_focus_next_item_set/get,
elm_object_item_focus_next_object_set/get and
elm_object_item_focus_next_item_set/get.

If the item and object is set at the same time,
the item is preference to object when the focus moves.

This feature is implemented about gengrid.
It will be implemented about ohter widgets.

@feature
2015-09-15 19:53:23 +09:00
ChunEon Park 204fb1ae00 index: rename elm_index_priority_set to elm_index_standard_priority_set
this change is also for consistency with elm_toolbar_standard_priority_set
conceptually the priority meaning here is same.
2015-09-08 14:50:53 +09:00
woochan lee c54f765ec9 index: fix index object got a wrong min value.
Summary:
The evas box swallowed in "elm,swallow,index" part.
Then the each index item will be appended into evas_box when elm_index_go called.

If user make the line or dot for that swallow part for resize same as internall box.
edje_size_min_calc always give the '0'value for it.

Box will be swallowed the only on swllow part for desicion index layout size.
So the index min value should follow the box size.

Test Plan:
Run any index sample.
Get the index min size and check the value.
It gets always wrong before.

Reviewers: cedric, Hermet, woohyun

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-04 16:49:44 +02:00
woochan lee e22bf93a67 index: add index item priority APIs for support multilingual
Summary:
I add the APIs for supporting multi language on index.

"elm_index_item_priority_set()" API can give the priority value for each item.
it will be grouping with each priority items when index start to draw the item.
It can get a 0 or 1 (default : -1) -1 priority item show always even priority changed.

"elm_index_priority_set()" API can changed the current priority in manually.
priority will be up automatically when user send move event into last of priority 1 group item.
otherwise, priority will be down automatically when user send move event into first of priority 0 group item.

"elm_index_priority_get()" API can get a current index priority.
@feature

Test Plan:
I added the test application in test_index with give the name as "test_index3"
(It's for only show how to handle the priority APIs and show the how does it works for multi language
so it doesn't operate with genlist.)
You can check the how it works and how APIs works for it as well.

Reviewers: eunue, seoz, woohyun, Hermet

Subscribers: SanghyeonLee, eagleeye

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-04 15:56:53 +02:00
Avi Levin f245fd24bc elm_spinner, elm_index: porting evas smart callbacks to eo 2015-07-05 13:05:38 +03:00
Daniel Kolesa 3904cc7175 elm: constify Eolian methods correctly because of recent Eolian changes 2015-06-25 12:21:00 +01:00
Jaehyun Cho d8a5472f5b index: Add NULL check for malloc memory allocation. 2015-06-15 15:59:49 +09:00
Tom Hacohen 27b72840c8 Adjust usage of eo_constructor() according to recent changes. 2015-05-20 13:03:28 +01:00
Daniel Juyung Seo cead9c0ba2 index, list, menu: Optimize eo item usage.
Remove unnecessary pointer reference.
2014-11-25 21:55:39 +09:00
Daniel Zaoui 7e396432ef Object Items: replace most of del_pre functions with destructor.
This change is not simple because Elementary has not been built from the
first day to work with Eo. Code had to be adapted to fit the new design.

The del_pre that have not been replaced yet can return FALSE and
prevent deletion. For these classes, code modification has to be deeper
and will be done later.
2014-11-12 12:03:58 +02:00
Daniel Zaoui 05225b162e Object Items: remove data variable from widget item.
Now, data is stored in Eo layer via eo_key_data_set/get.

Two macros have been added to facilitate access.
2014-11-12 12:03:58 +02:00
Daniel Zaoui ef03bc098e Object Items: remove legacy APIs.
They are now generated by Eolian.
2014-11-12 12:03:58 +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 3db20f53ea Elm Index item: Migrate to Eo 2014-11-12 12:03:55 +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
Lukasz Stanislawski 2ca1f8a75a atspi: properly include at-spi headers.
Summary:
Change requested by TAsn. Previuosly AT-SPI headers were kept private
and included directly into elementary source code. From now on,
AT-SPI headers can be included from Elementary.h public header, however
will be marked as beta APIs.

Commit includes following changes:
* include all atspi headers into new elm_interfaces.h header.
* marking all at-spi interfaces methods/properties as @protected.
* wrap all common headers with EFL_BETA_API_SUPPORT.
* make some common APIs visible in lib, by adding EAPI attribute
  (if someone decides to use beta APIs).

Test Plan: out-off tree build with gcc, g++

Reviewers: tasn

Reviewed By: tasn

Subscribers: seoz, q66, kuuko

Maniphest Tasks: T1721

Differential Revision: https://phab.enlightenment.org/D1528
2014-10-17 16:57:26 +01:00
Tom Hacohen 7629c147eb Eo related: Change according to recent changes in eo_add().
For more info check out a7560dbc61 in
the EFL tree.
2014-09-25 17:39:34 +01:00
Stefan Schmidt 9cf70c353a elm_index: Also free last on error path.
If we can't realloc label we need to free last before we can return
or we leak it.

CID: 1193240
2014-06-17 11:12:04 +02:00
Zbigniew Kosinski 9ce23f0004 atspi:Set roles for widgets
Reviewers: stanluk, m.jagiello, raster

Differential Revision: https://phab.enlightenment.org/D930
2014-06-11 11:07:16 +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
Tom Hacohen 19b2a1d3dd index: Adjusted to Eo2. 2014-04-10 09:35:01 +01:00
Daniel Zaoui 5a9067953d Eolian: Integration of Index 2014-03-23 14:17:38 +02:00
Daniel Juyung Seo b9a1047845 flip, index: Renamed smart data member 'down' to 'mouse_down' and used
EINA_TRUE/FALSE.

This commit is for consistency inside elementary.
2014-03-22 17:54:49 +09:00
Daniel Juyung Seo 8f7c12fef7 index: Set variable to NULL after free.
Then NULL check for this variable is not valid.
This fixes coverity CID 1193250:  Use after free  (USE_AFTER_FREE).

@fix
2014-03-21 00:55:31 +09:00
Daniel Zaoui e2206a1a22 Eolian: Integration of Elm Widget 2014-03-17 09:03:56 +02:00
Jaeun Choi 0e6364aeef elm_index: disable indicator when the selected item is unselected
Summary:
in current code, indicator is disabled only when mouse up event happens.
if the selected item is unselected through API before mouse up,
the indicator will remain active while no item is selected (highlighted).

Test Plan: None

Reviewers: Hermet, seoz, raster

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D560
2014-02-17 20:24:18 +09:00
Jaeun Choi ec676a543f index: send active signal(elm,state,active) to selected item in auto_fill
Summary:
when index box is cleared and refilled, selected item's status still remains as selected
but not highlighted. should send active signal to the selected item so that it is highlighted.

Test Plan: None

Reviewers: Hermet, seoz

Reviewed By: seoz

Differential Revision: https://phab.enlightenment.org/D559
2014-02-17 00:54:56 +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 db5fe2581d elm: Removed unnecessary null check for evas_object_del. 2014-01-22 10:54:52 +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
Ryuan Choi 6a8f33b298 els_box: Used Eina_Bool instead of int for the parameters of _els_box_layout 2014-01-14 03:26:16 +09:00
Daniel Juyung Seo 01f2f195ba diskselector, entry, index: Refactoring by reducing unnecessary redundant function calls
and removed unnecessary local variable.

- Do not need to call the same function with same parameter many times.
Use local variable for them.
- Remove unnecessary local variable if it is not needed.
2014-01-08 17:42:55 +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 e7479334c6 elm_index.c: removed unused empty function. 2013-11-28 17:07:44 +09:00
Jihoon Kim 9e99a7f579 fix typos in doxygen and comments 2013-11-22 11:06:37 +09:00
Daniel Juyung Seo 754cda11a5 elm_index.c: changed internal smart data variable name more descriptive.
- event -> event_rect
- and added a comment for that variable.
2013-11-15 22:32:58 +09:00
Daniel Juyung Seo a876201c28 elm_index.c: internal refactoring as a code cleanup.
- removed unnecessary duplicated parameter passing.
- moved smart callback add to a proper place not to be confused with other object's smart callback addition.
- removed unnecessary sub object add. it's done automatically in elm_layout_content_set.
2013-11-15 21:50:40 +09:00
Daniel Juyung Seo bc5ce5c5b0 elm_index.c: Removed unused local variables. 2013-11-08 21:52:37 +09:00
Jaeun Choi 2f5b83982f bug fix: clear index omit info for omit disabled case as well
Summary:
In the original code, omit related information was cleared and recalculated
only when omit function was enabled. So dynamic omit mode change didn't work in elementary_test.
The information should be cleared everytime the index box is filled. fixed it.

Test Plan: None

Reviewers: seoz, Hermet, raster

CC: raster

Differential Revision: https://phab.enlightenment.org/D262
2013-11-08 18:11:07 +09: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 ddb1dbc9a7 elm_index.c: Process signal right away when elm_index_item_selected_set() is called. Patch by Moohyun Shin <moohyun.shin@samsung.com>
Reviewer: SeoZ
2013-11-04 13:16:40 +09:00