Commit Graph

21303 Commits

Author SHA1 Message Date
Mike Blumenkrantz fd00e3de1a elm_config: add offline and powersave config members
these will be used by enlightenment in the future to notify applications of
global system states

@feature
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz ffac7fc539 wayland: fix window stack implementation
ref T5350
2017-10-25 10:44:16 -04:00
Daniel Kolesa 4f8a9b50f4 eolian: make inherits_get return a list of classes, not strings
Most of the time you need to retrieve the class from the string
anyway, so remove this relic of old Eolian and gain some small
performance benefits and extra convenience.

Subtly breaks API but everything should be updated.
2017-10-25 16:25:41 +02:00
Daniel Kolesa a4c96ceb73 eolian: add part definition 2017-10-25 16:25:41 +02:00
Jean-Philippe Andre 585be9e24f genlist: Simplify some logic
Item prev/next/first/last.

If true, break, else, break.
EO_OBJ(x) is safe on NULL.
Add a simple macro to simplify inlist handling.
Overall simplify the code.
2017-10-25 22:54:52 +09:00
Jaehyun Cho 6c8ca79ff2 eina_matrix: Fix doxygen warnings
Change-Id: I7e697bae24170422d6253f91ce089d9485bd0e64
2017-10-25 21:59:55 +09:00
Marcel Hollerbach 5a3ee984a1 elm_box: only allow focus to widgets of a box
all other should not get focus
2017-10-25 14:36:13 +02:00
Marcel Hollerbach 53fcc4bb7d elm_multibuttonentry: it cannot handle focus itself
the box in it is, so no need for can_focus == true.
This fixes the basic usage, however the order is sometimes a bit
screwed. Commits will follow.
2017-10-25 14:36:13 +02:00
Marcel Hollerbach fa49488f3a elm_main: make sure we dont go deeper than the widget top level 2017-10-25 14:36:13 +02:00
Marcel Hollerbach f440cc4eb6 elm_multibuttonentry: do not eat all the events
I have no idea why it was doing that, but that ends up eating all the
events, not propagating them up to the parent ... If someone has a idea
why it was like that, feel free to notify.
2017-10-25 14:36:13 +02:00
subhransu mohanty 57ba3318dc evas/vg: Added align, viewbox and fill_mode property to the vg canvas
Summary:
viewbox, fill_mode and align property required to scale the vg tree that
we get from the svg file or manually created depending on the vg canvas
size.

Reviewers: jpeg, cedric

Subscribers: jenkins, cedric

Differential Revision: https://phab.enlightenment.org/D5358
2017-10-25 20:17:20 +09:00
Daniel Kolesa c46f9bec2d eolian: enable duplicate validation but only warn for now
Use the EOLIAN_WARN_FUNC_DUPLICATES environment variable to enable
those warnings.
2017-10-25 13:03:20 +02:00
JinYong Park 61f4a5e033 eina_log: add parameter description on "eina_log_level_check"'s annotation
Summary:
In eina_log_level_check's annotation, parameter description is missing,
so warning is occurred on doxygen

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5375
2017-10-25 19:11:19 +09:00
JinYong Park a205d9f60a eina_file: fix space location in annotation
Summary: Space character is located in wrong position, so it occur doxygen warning

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5374
2017-10-25 19:11:15 +09:00
WooHyun Jung 9442f4687c efl_ui_calendar: create new efl_ui_calendar
Summary:
This calendar widget will support basic functionality of calendar.
I've separated this widget from elm_calendar since elm_calendar had
lots of unuseful things inside.

Reviewers: jpeg, singh.amitesh, cedric, CHAN, Jaehyun_Cho

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5346
2017-10-25 16:50:01 +09:00
Jean-Philippe Andre 40589a92a0 calendar: Remove unused code 2017-10-25 16:50:01 +09:00
WooHyun Jung c1094da0f4 efl_ui_clock: changed property name from value to time 2017-10-25 16:44:25 +09:00
Amitesh Singh 944c4dee1b Efl.Ui.Slider: call format_free_cb() when object destroys
fix mistake done in previous patch 8661fe234c
2017-10-25 16:30:48 +09:00
Amitesh Singh 8661fe234c Efl.Ui.Slider: implement format_cb for units
Ref T6204
2017-10-25 16:18:54 +09:00
Jaehyun Cho 9d1fad8dc1 efl_animation: Remove duration_only_set and total_duration_set methods
Remove unnecessary methods, duration_only_set and total_duration_set.
2017-10-25 15:04:59 +09:00
Vincent Torri 56a4d3037e Evil: really drop Windows XP support
Summary: set WINVER macro to at least Vista macro value

Test Plan: compilation

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5369
2017-10-24 16:13:01 -07:00
Daniel Kolesa bd90fff392 eolian: only check for validation where really necessary 2017-10-24 23:41:59 +02:00
Daniel Kolesa 88083b0f14 eolian: check for inheritance tree function conflicts
Now a class cannot define a method/property of some name if there
already is something of the same name within the inheritance tree.
2017-10-24 23:39:14 +02:00
Daniel Kolesa 05b395be47 eolian: validate classes in a recursive manner
This allows for proper order of validation which will improve our
performance when also validating for name duplicates.
2017-10-24 23:21:24 +02:00
Daniel Kolesa 903fd9065c eolian: keep track of which objects are validated 2017-10-24 17:49:21 +02:00
Marcel Hollerbach a417af04e8 elm_widget: also delay focus set if something is not registered
this fixes a infinite loop
2017-10-24 17:37:31 +02:00
Marcel Hollerbach 3e726c364b efl_ui_focus_manager: reset when a redirect is unset
this keeps the history clear
2017-10-24 17:37:31 +02:00
Daniel Kolesa 62e46e70ef eolian: initial parsing for parts in eo files 2017-10-24 17:33:07 +02:00
Amitesh Singh f983bfc277 examples: eina strbuf - fix the example 2017-10-24 22:48:01 +09:00
Woochan Lee 6c3bc915df elm: rename elm_multibuttonentry to Efl.Ui.Multibuttonentry
Summary: @ref T5358

Reviewers: woohyun, jpeg, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: Jaehyun, bu5hm4n, cedric, jpeg

Maniphest Tasks: T5358

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

JP's note:
MBE currently has quite a few issues, probably related to focus
handling. This needs to be fixed.
2017-10-24 16:20:09 +09:00
Jean-Philippe Andre 98f81f5cbf evas: Fix oopsie in previous patch (evas vg)
Ref 880dd63a0c
2017-10-24 16:03:00 +09:00
Thiep Ha 0258ac77b0 doc: add missing parameters and fix references for some elm widgets 2017-10-24 15:46:30 +09:00
Prince Kumar Dubey 9d2dcd92f7 example: improve location example, fix crash
Summary: Printing Address detail with Position. Label added to show the
detail of address.

Test Plan:
Compiled with cmd:
  gcc -o location_example_01 \
  location_example_01.c -g `pkg-config --cflags --libs elementary \
  elocation`

Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5356
2017-10-24 15:44:16 +09:00
subhransu mohanty 880dd63a0c evas/vg: renamed the evas_vg class to efl_canvas_vg
Reviewers: jpeg

Subscribers: jenkins, cedric

Differential Revision: https://phab.enlightenment.org/D5357
2017-10-24 15:19:53 +09:00
Jean-Philippe Andre 006546a042 elm: Use auto_unref for parts
This avoids leaks.
2017-10-24 14:49:12 +09:00
Jean-Philippe Andre 1b481f0ae8 widget: Rename events to EFL_UI_WIDGET_EVENT_XXX
This only affects the events (and the data type has an alias).

Ref T5363
2017-10-24 14:37:45 +09:00
Jean-Philippe Andre 2f465e1fbb widget: Rename EO APIs to efl_ui_widget_xxx
This only changes the eo_prefix for APIs.

Ref T5363
2017-10-24 14:30:21 +09:00
Lukasz Stanislawski bcb24a40dc elm: add prefixes to Efl.Access.Action to avoid clashes
Summary:
Prefix methods/properties of Efl.Access.Action mixin to avoid potential
clashes in genrated bindings.

This is first of series of patches removing potential name clashes
in accessibility interfaces.

Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5213
2017-10-24 12:01:50 +09:00
Jean-Philippe Andre 1e83dd84c6 nstate: Remove some legacy code
This uses constructor/destructor instead of group_add/group_del.

Note: finalize can't be used for theme loading as any action done inside
efl_add(...) would be lost (eg. part text set).
2017-10-24 11:57:27 +09:00
subhransu mohanty d267595557 evas: add set function for root_node property.
Summary:
Currently user ask for the root_node from the evas_vg object and then attach its tree by setting the root node as parent.
With this change this process will be explicit. user has to set the root node to the evas_vg object and the object will take the ownership
of the tree. User can query the current vg_tree by root_node_get api.

Test Plan:
        Fixed the test app to reflects this change.

Reviewers: jpeg, cedric

Reviewed By: jpeg, cedric

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-23 11:05:38 -07:00
Jaehyun Cho 74155b6e34 efl_animation: Remove unnecessary macro 2017-10-23 15:05:08 +09:00
Bowon Ryu 348fc0b06e edje: add missing documentation.
Summary: This adds missing doxgen documentation for Edje_Common.h

Test Plan: API Doxygen Revision

Reviewers: cedric, jpeg, myoungwoon

Differential Revision: https://phab.enlightenment.org/D5345
2017-10-23 13:40:38 +09:00
Bowon Ryu 3489f5ec36 eet: add missing documentation.
Summary: This adds missing doxgen documentation for eet.

Test Plan: API Doxygen Revision

Reviewers: cedric, jpeg, myoungwoon

Differential Revision: https://phab.enlightenment.org/D5344
2017-10-23 13:40:27 +09:00
Andy Williams 8e25467a65 Fix building on windows
@author vtorri
2017-10-22 20:21:12 +01:00
Derek Foreman 3314d36f9b ecore_wl2: Remove just the flush from the idle handler
Flushing should be done where it's needed now, but we still
need the rest of the idle handler as something like mesa may
have dispatched its queue, which reads all the pending wayland
events.  In that case we have events to process but the fd will
not poll readable.

@fix T6250
2017-10-22 10:19:50 -05:00
Derek Foreman e23854eb6a Revert "ecore_wl2: Kill the wl idle enterer"
This reverts commit 57d5b5921e.

We need the dispatch, not the flush...
2017-10-22 10:16:57 -05:00
Andy Williams 549f167002 Docs location moved 2017-10-21 16:39:07 +01:00
Al Poole eeb25519b3 elm_code_widget: make sure the widget is cleared properly.
This ensures the widget is clearer if the file has been cleared.
@fix T6185
2017-10-21 01:28:06 +01:00
Marcel Hollerbach 613649a39f elm_gengrid: add pseudo widget into the item if there are no focusable
widgets
2017-10-20 17:21:57 +02:00
Marcel Hollerbach f79b1b9826 efl_ui_focus_manager: new api
Can be used to fetch a focusable widget that has child as parent.
2017-10-20 17:21:57 +02:00
Daniel Kolesa c48cde4aed docs: move write_include out of the writer backend
This is a large chunk shared between backends.
2017-10-20 14:29:04 +02:00
Daniel Kolesa dbf48bf9f5 docs: prepare for markdown gendoc backend 2017-10-20 14:17:10 +02:00
Marcel Hollerbach 8a0cf1418c efl_ui_focus_manager: unfocus even logical elements
entry for example is here a specialcase since it registeres itself as
logical with a redirect manager that is then empty and only has a root
element, which is again itself.
2017-10-20 11:54:08 +02:00
Marcel Hollerbach 0b81f9c808 elm_entry: correctly emit unfocus signals to the edje object 2017-10-20 11:54:08 +02:00
Carsten Haitzler 7f12ca0f84 elm config - check if _elm_config is null - makes coveirty happy
it really should never be null though... or else really bad things
just happened (allocations failed etc.)
2017-10-20 18:30:03 +09:00
Cedric BAIL b410417d68 eina: silence warning. 2017-10-19 16:34:25 -07:00
Cedric BAIL 33d860f60d evas: propagate object data to evas_object_inform_call_changed_size_hints instead of fetching it again. 2017-10-19 16:32:54 -07:00
Cedric BAIL 8bcd960e70 evas: propagate object data to evas_object_inform_call_restack instead of fetching it again. 2017-10-19 16:32:54 -07:00
Cedric BAIL b55c96fe04 evas: propagate object data to evas_object_inform_call_resize instead of fetching it again. 2017-10-19 16:32:54 -07:00
Cedric BAIL 93c570b5dd evas: propagate object data to evas_object_inform_call_hide instead of fetching it again. 2017-10-19 16:32:51 -07:00
Cedric BAIL dad34967df evas: propagate object data to evas_object_inform_call_show instead of fetching it again. 2017-10-19 16:32:26 -07:00
Cedric BAIL c0b2ae2cc8 eolian: there should be nothing depending on efl config in our public header. 2017-10-19 15:29:35 -07:00
Cedric BAIL 4c44067d0b eina: add Evil include on Windows as strndup is provided by it. 2017-10-19 15:29:35 -07:00
Daniel Kolesa f0b7722cc8 elua, js: also update build after evas changes 2017-10-19 20:17:14 +02:00
Daniel Kolesa 823edb9487 cxx build: update after the evas gesture build fix
The changes in f334f2a504 also need
an update in the C++ build.
2017-10-19 20:15:33 +02:00
Cedric BAIL 867ad5000b eina: forgotten label on eina_file_unlink on Windows. 2017-10-19 10:28:45 -07:00
Cedric BAIL 38536c9ae9 eina: downgrad ERR to WRN when not finding a file. 2017-10-19 10:26:26 -07:00
Daniel Kolesa f334f2a504 evas build: fix installation paths for new gesture stuff
EFL-using things wouldn't build after addition of the new gesture
stuff because gesture headers would get installed into the
$PREFIX/evas-1/canvas instead of $PREFIX/evas-1/gesture
directory and Evas_Eo.h is including headers from the gesture/
directory. This fixes the problem by installing the headers into
their correct location.

Spanks go to @jpeg for not reviewing things properly.
2017-10-19 16:02:20 +02:00
Marcel Hollerbach 5e96d6e378 efl_ui_focus_manager_calc: really free all direction
i must have been have asleep when i wrote this, we need to iterate all
directions not only to the max id of 4
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 0c3bec93a1 elm_gengrid: bring in item once focused
and select & focus the item where the widget is in
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 8d20422e8b elm_scroller: scroll to a focused element 2017-10-19 15:20:59 +02:00
Marcel Hollerbach 3184e0f550 elm_interface_scrollable: do not scroll to a focused element by default
this can be done in the implementing other widgets
2017-10-19 15:20:59 +02:00
Marcel Hollerbach f720115f08 elm_widget: update parent instead of unregister for the case of parent
change

This means we maintain the focus state over a parent change
2017-10-19 15:20:59 +02:00
Marcel Hollerbach eb997134d0 efl_ui_focus_parent_provider_gen: looks to get the last widget before
gengrid

This means we are garanteed to find the item
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 5b2637b14e elm_gengrid: force the item to be added _again_ as subobj
so we make sure the registering fetches the correct element
2017-10-19 15:20:59 +02:00
Marcel Hollerbach ffbb17a568 elm_gengrid: force the item to be realized once we try to move focus
So the widget is there, once we try to register it
2017-10-19 15:20:59 +02:00
Marcel Hollerbach 2e26d7a6cf efl_ui_focus_manager_calc: move the debug output in there
reduces the load of debug messages, and the debug messages are now only
emitted from the manager that is not the redirect. And the real elements
that are focused are printed
2017-10-19 15:20:59 +02:00
Carsten Haitzler 64529eac19 elm config - finish flagging all other values that can be set by api
this now means any app that called elm_config_*set on any field at all
will keep what it set forever until it changes it even if shared/core
config changed.
2017-10-19 17:32:47 +09:00
Carsten Haitzler a04d8a929a elm config - track which vars you set locally and keep them as-is
this now flags about 1/4 of the config vars in elm config if you set
them locally so they wont change on conifg reload. i have just started
and this is the first batch. needs more work.
2017-10-19 17:32:47 +09:00
Marcel Hollerbach 56e9f582b6 elm_interface_scrollable: make sure this region is really visual
right now we just request the complete geom to be visible since there
seems to be no way ot checking where the new widgets will be in. This
needs some improvements.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 67234dcde1 efl_ui_focus_manager_calc: reimplement move to be more compact & small
this fixes a bug when a redirect was unset while going the prev
direction.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 6956dfc7a6 efl_ui_focus_manager_calc: put every element on the focus stack
move the addition to the focus stack to the general path. This means
every element is now on the focus stack.
2017-10-19 10:04:59 +02:00
Marcel Hollerbach d701597eb9 efl_ui_focus_manager_calc: move unfocusing the last element into its own
function
2017-10-19 10:04:59 +02:00
Marcel Hollerbach 0220418b84 efl_ui_focus_manager_calc: check if we are already focused earlier
if we dont do that we may unset a redirect just to set the same redirect
again.
2017-10-19 10:04:59 +02:00
Jean-Philippe Andre 0a13e15c7d evas/gesture: Fix up a couple of APIs, add some FIXME
Some things have clearly not been tested. Some APIs have not been
modified after repeated review comments. C++ failed to build due to
"long" being used as a namespace.

Remaining issues:
 - The original finger_list API was broken by design. I didn't try to
   replace it yet.
 - Long tap is also broken by design: if no move happens the recognizer
   gets no event, and doesn't trigger anything when the timeout is
   reached. An API or event is lacking here.
 - Only 2 very basic gestures have been implemented. All the gestures
   from elm_gesture_layer need to be covered. None of the multi touch
   support has been really implemented, except for a single bool flag.
 - The configuration must be loaded from elm_config, passed on to the
   recognizers.
 - Some micro optimization may be required, especially if the input
   device is high frequency (eg. 1KHz gaming mouse).
2017-10-19 12:25:57 +09:00
smohanty 20fad2e78e evas/gesture: Enabled efl_provider_get() to find gesture manager 2017-10-19 10:33:12 +09:00
smohanty 023d9a403c elementary_test: Added test case for log_tap gesture 2017-10-19 10:33:12 +09:00
smohanty d5f72053fd evas/gesture: Added long_tap gesture to gesture framework 2017-10-19 10:33:12 +09:00
smohanty ba3afc74a8 elementary_test: Added gesture_framework test to the elementary test suit. 2017-10-19 10:33:12 +09:00
smohanty 28869a9395 evas/gesture: Integrated gesture framework to evas. 2017-10-19 10:33:12 +09:00
smohanty 9da7a7f0d2 evas/gesture: Added gesture manager implementaion. 2017-10-19 10:33:12 +09:00
smohanty 4b997e89e5 evas/gesture: added recognizer and tap recognizer implementation 2017-10-19 10:33:12 +09:00
smohanty 5af499b01b evas/gesture: Added gesture and tap gesture implementation. 2017-10-19 10:33:12 +09:00
smohanty e65f18ef3e evas/gesture: Added touch accumulator class implementation. 2017-10-19 10:33:12 +09:00
smohanty a403023242 evas/gesture: Added gesture_private header file. 2017-10-19 10:33:12 +09:00
smohanty b1c6915ab4 evas/gesture: Added Eo classes for evas gesture framework. 2017-10-19 10:33:12 +09:00
Lukasz Stanislawski 57aefc53c1 elm: rename Elm_Interface_Atspi_Accessible interface
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5341
2017-10-19 10:13:54 +09:00
Jean-Philippe Andre 98622623a0 evas: Prevent crash with image_data_get
If the image has no data, it may get an allocated surface of 1x1 but it
is not sane to return the pointer to that data, as the user would expect
a normally sized image (in my case, 1920x1080).

I do not fully understand what is going on with this image. But at least
this transforms a crash into a simple ERR in ~/.xessions-errors

Two similar crashes happened:
 - SIGSEGV by writing data outside of the image data
 - abort() in free() because the malloc metadata has been overridden
   when writing outside of the image data (newly allocated 1x1).

Fixes T5957

@fix
2017-10-18 22:12:57 +09:00
Jean-Philippe Andre dfd98b3e48 win: Do not forward all key events on win (legacy)
OMG... I do not like this patch.

See T6148, two key down events are received when a key grab is installed
on a Win object. This is because all input events are propagated from
ecore all the way up to win and can be listened on. Unfortunately this
breaks existing applications that use the key grab API properly to
listen to key events.

Another side effect is that ALL key events are received by the window,
which means it's not limited to what the application expected (from its
list of grabs).

Solution (ugly): block propagation of key down/up events if the window
is a legacy window. This means that no key grab is required for EO
windows, but key grabs are still required for legacy windows.

Fixes T6148

@fix
2017-10-18 21:01:56 +09:00
Jeonghyun Yun 80a5297ae4 elm_scroller: fix scrolling with key move
Use content_region_show instead of content_pos_set in _key_action_move

Summary:
When user keep pressing key down or else on scroller content, scroller
animation is lagging because of elm_interface_scrollable_content_pos_set
by step_x or step_y value.  When focus moved to next object by press key
down or else, content_pos_set by ecore_animator continuously.  In this
time, content_pos_set in _key_action_move by step_x or step_y value
caused animation lagging problem.  I fixed to use content_region_show
instead of content_pos_set in _key_action_move for remove exist
animator.

Test Plan:
1. elementary_test -> Scroller3
2. Press 3 times "Append 10 Items in 3s" button
3. focus to Item1 and keep pressing key_down

Reviewers: jpeg, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5278
2017-10-18 20:31:05 +09:00