Commit Graph

2449 Commits

Author SHA1 Message Date
Jean-Philippe Andre e9d7436fd2 widget: Add EINA_UNUSED 2017-11-24 14:36:01 +09:00
Sungtaek Hong 8f2369c5b6 efl_ui_widget: secure elm_legacy_add flag
Summary:
_elm_legacy_add goes back to EINA_FALSE after setting sd->legacy.
if constructor get called again after going back to EINA_FALSE,
sd->legacy should remain EINA_TRUE.
also, elm_legacy_add() should not be called non-elm_widget.

Test Plan:
Run elementary test->Efl.Ui.Text.Label.
Check legacy flag in _elm_theme_object_set() for efl_ui_win.
Check legacy flag for efl_ui_text after scrollable text is added.

Reviewers: jpeg, woohyun

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5529
2017-11-24 14:32:36 +09:00
Pawel Aksiutowicz 5de4d45666 elementary: fix typos in elm_win_legacy
Reviewers: stanluk, lukasz.stanislawski, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-11-23 15:41:43 -08:00
Pawel Aksiutowicz c3f424b896 elementary: fix typos in elm_gesture_layer
Reviewers: stanluk, lukasz.stanislawski

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-11-23 15:41:00 -08:00
Pawel Aksiutowicz 7108f9c0b7 elementary: fix typos in elm_atspi_bridge
Reviewers: stanluk, lukasz.stanislawski

Reviewed By: lukasz.stanislawski

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-11-23 15:40:22 -08:00
Lauro Moura b47dce6713 elementary: Windows requires EAPI for the legacy .eo.h
Summary:
After the reorganization of elm eos, some sources include the .eo
headers directly instead of through Elementary.h. This causes problems
on windows as the declarations won't be decorated with the dllexport
attributes.

Reviewers: cedric, felipealmeida, jpeg, vtorri

Subscribers: jenkins

Tags: #windows, #efl

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-11-23 15:32:11 -08:00
Lauro Moura 0dbeb91bb9 elementary: fix compilation of elm_code test on windows
Summary:
Added some guards to avoid redefinition of functions.

Partially fixes T5866, as there is still the question whether we should
test internal functions or not, as stated by jpeg in the comments.

Reviewers: vtorri, felipealmeida, jpeg, cedric

Reviewed By: cedric

Subscribers: jenkins, cedric

Maniphest Tasks: T5866

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-11-23 15:30:32 -08:00
Jean-Philippe Andre b798005e80 elm: Add hack to make test case work
Because of the way elm_code test case is written, by directly including
the C file, we end up with two symbols for the internal _elm_legacy_add
flag. This makes some test case fail (after applying a pending patch).

Solution found by Sungtaek Hong.

elm_code test case needs to be fixed. Don't include the C files
directly, testing static inlines should be done through a common .x or
something, but not by including the C file itself. This has led and will
lead to many issues.
2017-11-23 15:45:49 +09:00
Jean-Philippe Andre f702826a90 bg: Remove trailing \n in ERR message 2017-11-23 15:08:35 +09:00
Shilpa Singh a2c342270c efl_access: Add reading_info_type set/get APIs
Summary:
Information obtained by atspi client is name, role, description, state of an object.
reading_info_type_set/get APIs give control to application to decide on the information
that can be exposed.

Test Plan:
The reading info is added as an attribute of an accessible object, on query of
attribute, reading_info_type and corresponding character buffer should be given to ATSPI clients.

Reviewers: kimcinoo

Subscribers: cedric, govi, rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5524
2017-11-23 12:07:52 +09:00
Andy Williams 06778385f1 elm_code: don't crash on NULL scope
This could be triggerd with the cursor was not in the file
2017-11-22 19:31:19 +00:00
Al Poole 75a450f2ba efl_ui_focus_manager: remove unnecessary debugging printf. 2017-11-22 16:11:12 +00:00
Marcel Hollerbach 9fc0cafde4 efl_ui_focus_manager: fixup previous commit
i forgot to git commit --amend ... i am sorry :[
2017-11-22 14:57:57 +01:00
Marcel Hollerbach 0f8e0e2324 efl_ui_focus_manager: try to error out instead of a infinit recusrion 2017-11-22 14:45:47 +01:00
Marcel Hollerbach c745bdcb5c elm_gengrid: jump back to the last selected item on gengrid focus jump
this moves the item into selection and focus that was last focused or
selected.
2017-11-22 13:24:52 +01:00
Marcel Hollerbach 5efe5cd135 efl_ui_win: use new api
we can just call the manager to prepare itself in the direction we have,
this means we dont need this loop here.
2017-11-22 13:24:52 +01:00
Marcel Hollerbach 0d50783077 efl_ui_focus_manager: move preparing of the manager to its own api
with this some imlpementations can decide if they want to fallback to
some older focused item once they need to prepare themself for this
call.
2017-11-22 13:24:52 +01:00
Marcel Hollerbach 6264198261 elm_gengrid: respect item config 2017-11-22 13:24:52 +01:00
Marcel Hollerbach 1e96f9643e elm_gengrid: remove on_focus_update
this hook is not executed anymore, code for remembering the last focused
item will be added in the following commits.
2017-11-22 13:24:52 +01:00
Amitesh Singh 92b4ad824b Efl.Ui.Calendar: fix wrong define - again! 2017-11-22 17:14:07 +09:00
WooHyun Jung faf3fb50f9 efl_ui_calendar: fix wrong define 2017-11-22 16:54:30 +09:00
Prasoon Singh 248cb96c42 elm_genlist: Add signals to communicate drag start and stop to atspi client.
Summary:
Send signal EFL_ACCESS_STATE_ANIMATED when dragging starts and stops to atspi clients and also set EFL_ACCESS_STATE_ANIMATED
when reorder mode is enabled.

Test Plan: When reorder happens atspi client should receive object:state-changed:animated signal.

Reviewers: kimcinoo, shilpasingh

Reviewed By: shilpasingh

Subscribers: cedric, govi, rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5515
2017-11-22 14:17:41 +09:00
Amitesh Singh 3661f71954 elm: efl access: fix the warnings.
There were many warnings while building elm.

--->
./src/lib/elementary/efl_access.eo.h:433:55: warning: duplicate ‘const’ declaration specifier
 -Wduplicate-decl-specifier]
 EOAPI void efl_access_attribute_append(Eo *obj, const const char *key, const const char *value);
<---
2017-11-22 13:46:39 +09:00
Shilpa Singh 11292dec35 efl_access: Add attribute_append, attributes_clear APIs
Summary:
Add attribute append and attributes clear API, attributes of widget/widget_item helps in adding additional information
about the widget/widget item in the form of key-value pair.

Test Plan:
Query the attributes using atspi_accessible_get_attributes in atspi_client and an hash table consisting
of updates attributes should be returned.

Signed-Off By: Shilpa Singh <shilpa.singh@samsung.com>
Signed-Off By: Lukasz Wlazly <l.wlazly@partner.samsung.com>

Reviewers: kimcinoo, lukasz.stanislawski

Subscribers: cedric, govi, rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5510
2017-11-22 11:54:45 +09:00
Marcel Hollerbach 78664198bd elm_widget: remove focused unfocused events
the ones form efl.ui.focus.object are now taken.
2017-11-21 20:37:21 +01:00
Marcel Hollerbach 149d03d8f4 efl_ui_text: remove the event emits here
with the previous commit we emit the legacy events for each interface
event, and thus this event is not needed.

However, in elm_entry this means that changing editable will _not_
reemit the focus event (where i am not that sure if that is correct or
not).
2017-11-21 20:37:21 +01:00
Marcel Hollerbach 1ef8092ad0 elm_fileselector: forward focus changed from entry to fileselector
the old event is then emitted from elm_widget.c
2017-11-21 20:37:20 +01:00
Marcel Hollerbach 6b85f7dbdf elm_widget: move event emission to a callback
the callback gets triggered if the new event got triggered.
2017-11-21 20:37:20 +01:00
Marcel Hollerbach d9c584eec1 efl_ui_multibuttonentry: migrate to efl_ui_focus_object events
this merges the two two events callbacks into one
2017-11-21 20:37:20 +01:00
Marcel Hollerbach fce2e7fdb0 elm_layout: call the super for calling the events and methods
this simplifies the code
2017-11-21 20:37:20 +01:00
Marcel Hollerbach 1639a9e6bf elm_multibuttonentry: on_focus_update is not needed anymore
the widget itself never gets focus, the elements of the button are
getting them. MBE is basically just a box. The text input for the entry
is setted by elm_entry itself when it gets focus.

The legacy "focused" event is emitted somewhere seperatly.
2017-11-21 20:37:20 +01:00
Marcel Hollerbach e1ff459e1b elm_spinner: lets use the new event 2017-11-21 20:37:20 +01:00
Marcel Hollerbach a2eda0665e elm_popup: lets use the new event 2017-11-21 20:37:20 +01:00
Marcel Hollerbach da89778ee0 elm_hoversel: lets use the new event 2017-11-21 20:37:20 +01:00
Marcel Hollerbach 7fddb1ea1a elm_fileselector: lets use the new event 2017-11-21 20:37:20 +01:00
Marcel Hollerbach e8cfdb5dcd efl_ui_focus_manager_calc: keep focus history arround
this now keeps items arround even if a explicit other widget was
focused. This is usefull if we have a few logical items on the focus
stack and you remove them.
2017-11-21 16:32:27 +01:00
Marcel Hollerbach 688e7001c1 efl_ui_focus_manager_calc: remove a logical item that caused a redirect
so we dont try to focus a logical item.
2017-11-21 16:32:27 +01:00
Marcel Hollerbach a58cc75e55 efl_ui_focus_layer: rely on _manager_in_chain_set
so we dont have to set the direct by hand anymore
2017-11-21 16:32:27 +01:00
Marcel Hollerbach 8c68c85706 elm_widget: dont use the inner var for searching the top widget
you think there is only one elm_parent behind the elementary property
parent? Oh no! Elm_Notify and Elm_Popup have theire own parent fields,
and those fields are not returned when calleing elm_widget_parent_get,
they are also not given to the elm_widget implementation of
elm_widget_top_get, so a call to elm_widget_top_get stalls at elm.notify
or elm.popup.

fix T6389
2017-11-21 16:32:27 +01:00
Pawel Aksiutowicz b291d25dfc elementary: removed warning from efl_ui_win
Reviewers: stanluk, lukasz.stanislawski

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5503
2017-11-21 11:12:45 +09:00
Derek Foreman f0f02d3386 win: make _elm_win_opaque_update check that it has a wayland window
This function will destroy non-wayland engine data, so it should
make sure it's actually operating on a wayland window.

Originally the sd->wl.win test was sufficient, but now wl.win is
present on non-wl windows to facilitate cut and paste, so we need
to check more thoroughly.
2017-11-20 12:55:48 -06:00
Pawel Aksiutowicz 36b6935304 elementary: removed warning from elm_widget
Reviewers: stanluk, lukasz.stanislawski, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5506
2017-11-20 16:13:46 +01:00
Jean-Philippe Andre eae0885e0a slider: Implement Efl.Content 2017-11-20 20:39:44 +09:00
Jean-Philippe Andre 443be32129 radio: Implement Efl.Content 2017-11-20 20:39:34 +09:00
Jean-Philippe Andre 026430578a elm: Fix minor warning (return void) 2017-11-20 20:34:17 +09:00
Jean-Philippe Andre 1c200331f1 button: Implement Efl.Content set/get/unset
This fixes make check (cxx compilation).
2017-11-20 20:22:48 +09:00
Jean-Philippe Andre 029cf28745 image: Return file+key even for edje objects 2017-11-20 20:06:01 +09:00
Jean-Philippe Andre a24d24ff6b slider: Remove bad defines from EO file 2017-11-20 19:22:15 +09:00
Jean-Philippe Andre 372bf108a7 win: Make wm_available_rotations simpler for EO
The problem with the API is that it uses an array of ints, which is not
well defined in EO. We could set an array of pointers to int, but that
would be super awkward to use.

I believe the original API has been slightly over-engineered as it was
passing an array of available rotations when in reality only 4 rotations
could be supported (0, 90, 180, 270). It seems to me that the day
arbitrary rotation needs to be allowed, another API would be required
(maybe with a range, or a single bool flag to allow anything).

I have not modified the internal code, which still uses an array (as
ecore evas uses that).

Mote: ec464939d9 removed wm_rotation_supported_get(), as well as
the preferred rotation from EO, but they could easily be added back if
needed.

Note 2: I couldn't test as desktop E doesn't support WM rotations.

Ref T5322
2017-11-20 19:02:29 +09:00
Jean-Philippe Andre dda18948ae efl: Split Efl.Container and Efl.Content
When I first implemented the Efl.Container interface I made a mistake of
mixing "single slot" content API's with "multiple children" content
API's.  This should fix that, by separating API's that are for a single
part and those that deal with a list of children.

  Efl.Content: Single slot. This will be used a lot by efl_part()
objects, and for the default content of widgets (eg. the window
content).

  Efl.Container: Multiple children. Used by lists, boxes, layouts
(edje/elm), etc...

I didn't see any class that implemented both interfaces (note: Layout
implements Container and Button implements Content, so technically
Button implements both through inheritance).

For now the eo_prefix is not changed in Efl.Container. I wonder if it
should be reset (to efl_container) or not. This would only affect the C
API.

Ref T5328
2017-11-20 19:02:09 +09:00