Commit Graph

401 Commits

Author SHA1 Message Date
Youngbok Shin 6bfe82cc77 toolbar: reduce changing widget parent-child relationship when an item is added.
Summary:
It is an legacy of old code. When the view object of item was edje,
I think there was no meaningless parent-child relationship changes.
But, now, the view object is elm_layout and if we add object in proper order,
we don't need to make an useless parent-child realationship in any moments.

Test Plan: None

Reviewers: woohyun, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 12:37:09 -08:00
Shilpa Singh 043a7e1210 toolbar: add item_signal_emit.
Summary:
Application cannot send signals to toolbar item using elm_object_item_signal_emit API.

@feature

Test Plan: Send signal to toolbar item from app using elm_object_item_signal_emit widget.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 12:37:09 -08:00
Youngbok Shin 73dbb059c1 toolbar: remove a legacy code.
Summary:
The icon is already sub object of VIEW(item) by content_set.
We don't need to make icon as a sub object of obj again.
It was used when VIEW(item) is Edje object.

Test Plan: None

Reviewers: Hermet, eagleeye, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 12:37:09 -08:00
Lukasz Stanislawski 93d9489819 atspi: add missing SELECTED changed signals
@fix
2015-11-05 10:56:44 +01:00
Cedric BAIL 1164824201 toolbar: limit number of min restricted calc to exacly what we need.
This change is the simplest I could do, but I think it would be better
to move _item_theme_hook inside _item_new. This is a further attempt
to fix T2777.
2015-10-19 17:10:01 -07:00
Lukasz Stanislawski 12feff963e atspi: clean-up children-changed event emission.
Patch fixes bugs caused by difference between elm widget
and atspi objects hierarchy.
2015-10-19 17:26:13 +02:00
Cedric BAIL a77b922e28 toolbar: shutup compiler warning. 2015-10-15 17:23:21 -07:00
Cedric BAIL 58d38c10d2 toolbar: delay evaluation of the toolbar size until it stabilize.
Elementary is not using much the calculate callback from Evas. This
create all sort of problem where it transform O(n) algorithm. Like
sizing a toolbar for next frame to O(n^n) by actually sizing the
toolbar every time an object is inserted.

T2777
2015-10-15 16:38:24 -07:00
Cedric BAIL e13d263fe1 toolbar: remove useless call to _sizing_eval.
_sizing_eval is very costly on toolbar as it recalc all edje part and sends
signal to all of them. _item_theme_hook was already calling _sizing_eval
doubling the cost of adding new item.
2015-10-15 16:38:24 -07:00
Jaehyun Cho 5d85d6a29f toolbar: Fix crash on more_item when shrink mode is set with no item.
Toolbar creates a more_item when shrink mode is
ELM_TOOLBAR_SHRINK_EXPAND.
If select mode is ELM_OBJECT_SELECT_MODE_ALWAYS and there is no item
appended, then toolbar sets a selection on a newly created item.
In this case, sd->more_item is referenced before the new more_item is
assigned to sd->more_item.

@fix
2015-10-12 16:53:51 +09:00
Lukasz Stanislawski 61845ef600 atspi: properly set parent.
Set proper atspi parents in cases when AT-SPI object tree structure
should be different then elementary tree (mostly in cases of elm_widget_items)

Add regression tests for those cases.
2015-10-02 16:49:15 +02:00
Hosang Kim bfff68bb45 elm_toolbar: fix elm_toolbar_select_mode_set API
Summary: Item is unselected when I changed select mode "ELM_OBJECT_SELECT_MODE_DEFAULT" to "ELM_OBJECT_SELECT_MODE_ALWAYS".

Reviewers: Hermet, cedric, raster, seoz, woohyun

Reviewed By: woohyun

Differential Revision: https://phab.enlightenment.org/D3086
2015-09-23 16:20:45 +09: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
Carsten Haitzler 915ba802be elm toolbar 0 size items fix if icon not found
this fixes a bug with horizontal style toolbar items and toolbar code
itself simply emitting the wrong signals that causes 0 height items.
this fixes T2710

@fix
2015-09-12 17:16:41 +09:00
Carsten Haitzler be2ae5f410 elm autofocus show - fix cases where focus is inside containers
i found that the focus doesnt auto-show when focusing things inside
scrollers and so on. i had to add more points to trigger auto show.
this fixes that

@fix
2015-09-10 18:29:24 +09:00
Amitesh Singh 0a6e5c64d6 toolbar: fix issue of focus not coming to item on mouse click
resize object was not getting focused in case of mouse click.

Steps to reproduce:
1. elementary_test -to "toolbar focus".
2. set focus to toolbar item via mouse.
3. focus does not come to toolbar.

fixes T2697
@fix
2015-08-26 22:38:37 +05:30
Sung-Taek Hong a8a79fd828 elm_toolbar: fix icon_size to consider edje base scale
Summary:
When icon is set, icon size is calculated without considering
edje base scale. This can lead to a miscalculation when
base scale is set other than 1.0.
@fix

Reviewers: seoz, woohyun, cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2798
2015-08-07 16:42:30 +09:00
woochan lee 3237ad9e78 toolbar: item content unset function called when user content unset to toolbar item.
Summary:
It's related with https://phab.enlightenment.org/D2777

I missed doing on content_unset case.

Reviewers: Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D2808
2015-07-16 11:31:06 +09:00
Amitesh Singh dfbeb9777d toolbar: Check return value of elm_layout_theme_set. 2015-07-10 20:54:23 +05:30
woochan lee 81d5b99d72 toolbar: content_set function called when user content set to toolbar item.
Summary:
If User want to content set something to item area. there is no way to except elm customizing.
So i added this feature and make the toolbar item object to layout before.

Now user can content set something on item area only call "elm_object_item_part_content_set" API.

Test Plan:
Make some swallow part on toolbar edc.
and content set some layout to that swallow part to using "elm_object_item_part_content_set"

Reviewers: cedric, Hermet

Subscribers: SanghyeonLee, eagleeye, id213sin

Differential Revision: https://phab.enlightenment.org/D2777
2015-07-02 20:07:48 +09:00
woochan lee 2bf248fbc0 toolbar: item object change from edje object to layout.
Summary:
Its for support elm_object_item_XXXX APIs for toolbar item.
Its the pre work for toolbar item content set some layout to toolbar item layout automatically.
(without implement item_content_set with part name.)

I  abandoned for check the other side of this change. but its not has problem so i reclaim this commit
and put on another commit for this. https://phab.enlightenment.org/D2777

Test Plan: To all of the action on elementary toolbar test sample.

Reviewers: cedric, Hermet

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D2768
2015-07-02 20:00:58 +09:00
Avi Levin b5eee8141c elm_toolbar: porting evas smart callbacks to eo 2015-07-02 08:04:03 +03:00
Daniel Kolesa 3904cc7175 elm: constify Eolian methods correctly because of recent Eolian changes 2015-06-25 12:21:00 +01:00
Lukasz Stanislawski 69f5f2ef4c toolbar: implement Atspi_Selection interface
Allow to select and deselect toolbar items by Assistive Technology
Clients through org.a11y.atspi.Selection dbus interface.
2015-05-26 16:31:00 +02:00
Tom Hacohen 27b72840c8 Adjust usage of eo_constructor() according to recent changes. 2015-05-20 13:03:28 +01:00
Andrii Kroitor 39ed1a812b elm_toolbar: fix memory leaks
Summary:
incorrect evas_object_box_children_get usage: returned list must be freed

@fix

Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet

Differential Revision: https://phab.enlightenment.org/D2412
2015-04-27 10:53:28 +09:00
Jaeun Choi 50127bc4df elm: add safety check
when insert a new item before/after an item, the relative item should not be NULL.
this patch fixes naviframe, gengrid, genlist, list, and toolbar.

@fix
2015-04-21 14:30:41 +09:00
Mike Blumenkrantz 922286222f toolbar: fix conditional compiler warning in horizontal_set 2015-04-14 20:28:34 -04:00
Lukasz Stanislawski 101b742e1a atspi: add AT-SPI support for elm_toolbar_items 2015-04-06 10:24:58 +02:00
taehyub c361c9e839 elm_toolbar: add toolbar item size calculation and setting min values for fixed items
Summary:
In case of the toolbar item size is fixed, the size of toolbar item became finger size.
so, after signal emission in _inform_item_number(),
edje_object_size_min_restricted_calc() and evas_object_size_hint_min_set() function are added.

Test Plan: change edc for supporting fixed toolbar item and run examples of toolbar in elementary_test

Reviewers: woohyun, seoz, Hermet, raster

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D2184
2015-03-25 07:47:33 +09:00
WooHyun Jung 56b6792584 toolbar: remove useless codes 2015-03-21 09:45:59 +09:00
Subodh Kumar c7b28cb1ac Elm_toolbar: Sizing evaluation improvement.
Summary:
Issue: Flickering when toolbar was set/unset
Solution: Unnecessary resizes and show caused the flicker, removed unnecessary resizes.

Reviewers: seoz, raster, shilpasingh

Reviewed By: shilpasingh

Subscribers: poornima.srinivasan, rajeshps, govi

Differential Revision: https://phab.enlightenment.org/D2070
2015-03-19 18:46:59 +09:00
Tom Hacohen e2dcfa64ae Fix code to conform to recent Eo changes. 2015-02-23 17:16:21 +00:00
Daniel Juyung Seo 263801f018 elm: Remove redundant finger size adjustment.
This is a successor of a54da8aab.
2015-02-23 08:43:47 +09:00
Jee-Yong Um aead3d5135 elm_toolbar: remove code duplication
Summary:
elm_coords_finger_size_adjust() is called twice.
It might not be intended.

Reviewers: Hermet, Jaehyun, seoz

Reviewed By: seoz

Subscribers: raster, seoz, Hermet

Differential Revision: https://phab.enlightenment.org/D1924
2015-02-11 16:49:25 +09:00
Amitesh Singh ab50a85937 list/genlist/gengrid/toolbar: set focus/unfocus on item when focus is actually set on widget.
Summary: @Fix

Reviewers: raster, Hermet, seoz

Reviewed By: seoz

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D1918
2015-02-03 15:48:36 +09:00
Daniel Juyung Seo d47a4adae4 gengrid, genlist, list, toolbar: Fix memory leak and enhance performance.
1. Fix memory leak by freeing eina_list.
2. Enhance performance by getting the item list when it is really
needed.

@fix
2014-12-26 18:41:48 +09:00
Andrii Kroitor c55e8ccac4 elm_toolbar: fix memory leak in _elm_toolbar_nearest_visible_item_get
@fix

Reviewers: cedric, seoz, Hermet, raster

Subscribers: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D1822
2014-12-26 11:27:07 +09:00
Andrii Kroitor 81bd6ed6e1 elm_box: inappropriate size_hint_align value usage fix
Summary:
size_hint_align was used instead of evas_box's internal value for aligning
of internal items. Because of that layout functions of elm_box and evas_box
were incompatable
Fixed elm_box, els_box layout and widgets that used this behaviour.

@fix

Test Plan:
Run "elementary_test". All buttons should be left-aligned
"elm_box_align_set(tbx2, 0.0, 0.5);" (test.c:332)

Reviewers: cedric, Hermet, stefan_schmidt, seoz

Reviewed By: seoz

Subscribers: shilpasingh, reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D1512
2014-11-13 00:14:57 +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 d1db1d81dc Elm Toolbar 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
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
Daniel Juyung Seo 509112325d gengrid, genlist, list, toolbar: Fixed DISPLAY_ONLY select mode for an object.
DISPLAY_ONLY select mode for elm_xxx_item_select_mode_set works fine but
elm_xxx_select_mode_set was broken.

@fix
2014-08-22 01:12:38 +09:00
Lukasz Stanislawski 09b9ef0bc0 atspi: expose more actions through atspi bus.
Summary:
Main purpose of exposing widget actions and keyboard shortcuts
is to allow accessibility clients to implement alternative methods
of GUI navigation.

Reviewers: z.kosinski

Reviewed By: z.kosinski

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D1227
2014-07-25 11:58:16 +02:00
Anil Kumar Nahak 76e3372531 Focus: first item should be focused when there is no focused/selected item
Summary: First item of widget should be focused when focus comes to the widget for first time.

Test Plan:
elementary_test -to "Genlist Focus"
elementary_test -to "Gengrid Focus"
elementary_test -to "List Focus"
elementary_test -to "toolbar Focus"

Reviewers: seoz

Differential Revision: https://phab.enlightenment.org/D1135
2014-07-21 18:55:55 +09:00
Daniel Juyung Seo fbf2c58127 toolbar: added selected and unselected smartcallbacks to toolbar.
- Item based widget should emit this signal. This is good for the
consistency and makes application developers easy to guess.
- Added test case to elementary_test -> toolbar

@feature
2014-07-20 01:46:35 +09:00