Commit Graph

363 Commits

Author SHA1 Message Date
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
Daniel Juyung Seo 3b83fc3b93 toolbar: changed internal variable name sanely.
Do not need to use 'obj2' as an object variable name as we can use 'obj'
as usual.
2014-07-20 01:20:10 +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
WooHyun Jung 81bec79aa5 toolbar: fix focus highlight bug in toolbar
When getting focus_highlight geometry from toolbar, there can be a case
that no item has focus. Then, geometry of toolbar should be refered.
2014-07-04 11:55:21 +09:00
Hosang Kim 7812ce77fe Toolbar: Fixed wrong toolbar resize logic
Summary: When toolbar use ELM_TOOLBAR_SHRINK_SCROLL and toolbar viewport size is decreased rapidly, toolbar box size is not changed.

Test Plan:
elementary_test -> toolbar 2

increase window size -> decrease window size(presto) -> toolbar size is wrong

Reviewers: seoz, woohyun, jaehwan, Hermet, raster

Reviewed By: seoz

Differential Revision: https://phab.enlightenment.org/D1081
2014-06-25 11:27:08 +09: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
Daniel Juyung Seo 7357290056 genlist: fixed wrong item focus set on item_focus_set API call.
Reset the last_focused_item on _item_focus_set_hook.
This fixes the issue which sets the focus to the wrong item when the
focus is set by an API.

Reproduction step:
elementary_test -> genlist focus -> click an item (not the 2nd item) -> click "Focus 2nd
Item after 1.5 seconds" button.
Focus is not moved to the 2nd item.

@fix
2014-05-26 22:08:13 +09:00
Daniel Juyung Seo d9f0509b5e toolbar: changed internal variable types to sync with other widgets.
Changed the variable type from (Elm_Toolbar_Item *) to (Elm_Object_Item *)
for focused_item, last_focused_item, and prev_focused_item.
2014-05-26 22:07:07 +09:00
Daniel Juyung Seo a64e8eed91 focus: update the focus in_theme status on each item's focus set.
As widget and widget item can have different in_theme value (since
 30cada369), we need to update in_theme value whenever the widget or
widget item get the focus.

Applied this logic to genlist, gengrid, toolbar first.
List focus is not working well at the moment.

This fixes small focus highlight on the left top corner of genlist
when the genlist scroller is clicked before the genlist is focused.

Special thanks to zmike for the report.
2014-05-12 01:25:43 +09:00
Daniel Juyung Seo 45e8b4c82e focus: Change new API names related to focus auto scrolling.
elm_config_focus_auto_scroll_bring_in_enabled_get/set()
 ->
elm_config_focus_autoscroll_mode_get/set()

The main reason is that bring_in_enabled_get/set() APIs are too restricted
and thus not flexible. I got more requirements for the focus autoscrolling
such as none, wholely visible not just bring_in and show. So it is correct
to add mode_set/get() APIs for the focus auto scrolling.

Thanks god, we've found this before the release :)

@feature
2014-05-11 22:46:16 +09:00
Daniel Juyung Seo 4f8614e866 Revert "remove all scrolling changes for focused items."
This reverts commit 377179bdaf84aa1a86621cdfa64ed43613ab9d45.

The main claim of https://phab.enlightenment.org/T1205 was fixed in
the previous commit 30cada369. This code will be modifed again in the
next commit due to the api change during development life cycle.

Note: do not blindly revert this commit if you have any problem with
widget item focus. This commit is not related to any fundamental cause
of the issues. If you have a problem, please contact me first.

seojuyung2@gmail.com or SeoZ on IRC.

Thanks.
2014-05-11 22:42:15 +09:00
Daniel Juyung Seo dfead75366 gengrid/genlist/list/toolbar: Do not set the focus to the item on widget's first focus.
This was introduced during 1.10 development phase but this changed the
default focus behavior and got a lot of complaints. (especially from
discomfitor)

So I would like to comment this out now and make it optional on 1.11
by keeping the default behavior.
2014-05-11 21:21:51 +09:00
zmike fe4fae4954 Revert "Revert "focus: Removed unused parameter from an internal focus function.""
This reverts commit b8549f3e83a8592145a50085182583adead2c74e.

this build system is bad and whoever did the eo integration should not feel pleased with themselves.
2014-05-07 01:13:19 -04:00
zmike 54eabd94e2 Revert "focus: Removed unused parameter from an internal focus function."
This reverts commit 5832b692aa5f68a2924bd7886390d489eb13aefb.

broke build
2014-05-07 01:08:04 -04:00
zmike be636e58be remove all scrolling changes for focused items.
this.is.BROOOOOOOOOOOOOOOKEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNN.

SERIOUSLY.

you cannot go scrolling all over the place in every widget that has a scroller just because the widget gets focus. what user wants that? no user anywhere, under any circumstances, ever, in all of history.

if you dare to put this back in, I will continue to remove it for the rest of eternity until it never, ever scrolls in any unwanted case. the focused item doesn't have to always be in the viewport, and should never be moved into the viewport [[[[[[[ except to maintain an already-existing position inside the viewport ]]]]]]]

too much of my time wasted on this stupid "feature" which should have been MUCH more thoroughly tested and reviewed before it was merged.

T1205 STILL NOT FIXED
2014-05-07 01:06:30 -04:00
Daniel Juyung Seo d0380e3342 focus: Removed unused parameter from an internal focus function.
is_next parameter is not used for
elm_widget_focus_highlight_geometry_get() function.
But this parameter was not cleaned up in the commit 5320cca.
2014-05-07 00:05:07 +09:00
Amitesh Singh 8e0ffb8332 config: Added two APIs to enable/disable focus auto scroll bring in feature.
Summary:
 Summary:
    - APIs
      - elm_config_focus_auto_scroll_bring_in_enabled_set
      - elm_config_focus_auto_scroll_bring_in_enabled_get
    - list/genlist/toolbar/gengrid: Using this feature for scrolling for focus movement.
    - Added test case in "List Focus", "Genlist Focus", "Toolbar Focus" and "Gengrid Focus"

    @feature

Test Plan: elementary_test->"List Focus", "Genlist Focus", "Toolbar Focus" & "Gengrid Focus".

Reviewers: raster, seoz

CC: seoz

Differential Revision: https://phab.enlightenment.org/D799
2014-04-27 04:15:26 +09:00
Daniel Juyung Seo 8147afcf72 toolbar: Fixed wrong edje api usage for elm objects.
This bug was introduced by the commit
4c8677166163316468da56c53b203ac572085c40 this January.

@fix
2014-04-27 02:42:01 +09:00
Carsten Haitzler 9d55fab418 entry: wrong viewport value calculation issue fix
Summary:
Issue: As entire scroller edje co-ordinates was being taken instead of the actual viewport value,
if in scroller edje more parts are added apart from just "elm.swallow.content", then the viewport value
set will be wrong. hence the selection handlers will not hide when they have to hide.

solution: Instead of taking scroller edje's geometry, get the actual viewport values.
To get viewport x,y a new scrollable interface is also added.

signed-off by: Shilpa Singh <shilpa.singh@samsung.com>

@fix

Test Plan: Selection handlers have to hide correctly when the text is scrolled in a scrolled entry, if the scroller edc of entry has more parts added other than elm.swallow.content, then when we scroll the selection handlers are not hidden correctly.

Reviewers: jaehwan, woohyun, seoz, Hermet, raster

CC: govi, rajeshps, thiepha

Differential Revision: https://phab.enlightenment.org/D674
2014-04-21 12:31:49 +09:00
ChunEon Park 5ab6a7739f widgets - don't handle the events(key,mouse) if the object is disabled.
we can prevent to handle the widget events from the widget infra,
if the object is disabled.

conceptually, disabled object should not be interacted to user input(key, mouse)
2014-04-16 10:59:43 +09:00
Jaeun Choi 2411bf5c62 toolbar: apply key binding
Summary: This patch applies key binding to elm_toolbar.

Test Plan: None

Reviewers: Hermet, raster

Differential Revision: https://phab.enlightenment.org/D737
2014-04-15 16:07:52 +09:00
Daniel Juyung Seo cfef2a2a12 toolbar: Initialized some internal variables.
This fixes coverity CID 1199658, 1199659.
2014-04-13 02:00:33 +09:00
Tom Hacohen 0ccbff2cea toolbar: Adjusted to Eo2. 2014-04-10 09:39:31 +01:00
Amitesh Singh 1479664ec0 list/genlist/gengrid/toolbar: Fix - _nearest_visible_item_get() should always return an item.
Test Plan:
Bug:
- elementary_test->genlist/list/toolbar/gengrid Focus
- Resize the window to a state when no item is fully visible. only partially visible.
- Move Focus from outer widgets (Up/Down/Left/right buttons) to list/genlist/gengrid/toolbar.
- Focus goes away (size - 0). Reason: _nearest_visible_item_get returns NULL.

@fix

Reviewers: seoz, raster, woohyun

Reviewed By: raster

CC: seoz, nirajkr, anand.km

Differential Revision: https://phab.enlightenment.org/D696
2014-04-04 12:04:04 +09:00
Amitesh Singh d593ad85e2 toolbar: Added focus movement on widget items by mouse in.
Summary:
- Added a test case in "Toolbar Focus".
@feature

Test Plan: elementary_test->Toolbar Focus

Reviewers: raster, cedric, woohyun

Reviewed By: raster

CC: seoz

Differential Revision: https://phab.enlightenment.org/D665
2014-04-01 20:26:33 +09:00
Daniel Zaoui 9b798e7a64 Eolian: Integration of Toolbar 2014-03-31 10:23:51 +03:00
ChunEon Park 0b9a8cfd66 toolbar - fixed to use elm apis for elm objects 2014-03-25 15:57:22 +09:00
Carsten Haitzler fe621de2c1 fix segv in toolbar item focus (new feature) 2014-03-25 15:02:13 +09:00
Amitesh Singh 35ead0992d toolbar: Check disabled status of an item in nearest visible item.
Summary:
Also
- corrected the code for getting the toolbar item from the list.
- added a test for it.

Test Plan: elementary_test -> "Toolbar Focus"

Reviewers: seoz

CC: seoz

Differential Revision: https://phab.enlightenment.org/D653
2014-03-24 15:55:46 +09:00
Amitesh Singh ffa7f989d7 toolbar: implemented widget item focus feature.
Summary:
1. Added "item,focused" and "item,unfocused" smart callbacks.
2. Added _elm_toolbar_focus_highlight_geometry_get().
3. Implemented elm_object_item_focus_set() and elm_object_item_focus_get().
4. Implemented elm_object_focused_item_get()
5. Ported _elm_toolbar_nearest_visible_item_get from cc827fef6.
6. Added Test Case "Toolbar Focus".

@feature

Test Plan: elementary_test->Toolbar Item Focus

Reviewers: seoz, woohyun, raster

CC: nirajkr, raster

Differential Revision: https://phab.enlightenment.org/D555
2014-03-24 00:22:32 +09:00
Daniel Juyung Seo 4e30fa3b6f toolbar: Fixed wrong parameter for elm_widget_sub_object_del.
Remove the icon from the sub object list for a widget not for an edje object.
2014-03-20 02:13:41 +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
Daniel Juyung Seo c69cfdf4de segment_control, toolbar: Fixed broken scale of widget item.
@fix. This needs to be partially backported.
2014-03-16 03:09:56 +09:00
Tom Hacohen 01186b6e66 Ship missing headers, and remove wrong includes
elm_gen_common.h was not installed, but is needed by installed headers.
Remove dependencies on internal headers from shipped headers.
2014-03-12 14:30:21 +00: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
ChunEon Park f8d00ae0f2 elementary - override widget translation but work also the base widget's behavior.
Some widgets override the widget translation but it didn't inherit the base widget's function.
Becuase of it,The language changed won't be properly called in the widget tree.

Now it fixed it.
2014-01-23 20:20:43 +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