Commit Graph

1044 Commits

Author SHA1 Message Date
Jean-Philippe Andre 6bcaa8a0b9 elm: Add Efl.Ui.Box.Stack for stack boxes (EO only)
This is a very simple implementation for EO of the stack mode
of boxes, as implemented in evas_object_box_layout_stack.

@feature
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 5f6673f623 win: Implement unresizable mode (fixed size windows)
This sends a signal to the CSD frame to hide the bottom
bar and disable the resize borders.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre c31a70a4f5 win: Add content_set API for window main content
The idea is to not have resize object in a stack anymore,
but a couple of swallows in the frame and if the stack of
resize objects is wanted, then the user can still explicitely
create it.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre aac8f6f114 evas: Add function on object to check is pointer is in
This fixes invalid mouse cursor used when windows are
created.

Due to the changes in the border theme and the fact that
a border is now always created, the event region
"elm.resize.bl" contains the point (0,0) when the window
size itself is 1x1. As a consequence every EFL application
would permanently have a cursor like the resize bottom/left
handle.

This fixes that by properly checking whether the pointer is
inside an object based on the ins list, and not just the
object geometry.

@feature

See also: b735386a45
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 234bc18f02 win: Always add a frame object
All windows, except for fake, inline & socket images,
should have a frame object to handle all the new APIs and
slots (background, content, indicator, etc...).

The theme will need to handle various modes:
 - full CSD
 - solid CSD without shadows
 - server-side decoration (borderless without shadows)
 - borderless with shadows

This means that the default theme must be used for windows,
so that the required edc parts exist. Apart from the standard
background, it is very unlikely that a theme will have changed
anything in win.edc, conformant.edc or border.edc.

This might prove a controversial move, but the alternative would
be to have increasingly complex code handling new themes with
a single edje object and older themes by swallowing tons of
components magically.

Eventually, the win edje object should also not be used anymore.

By default, windows should not have CSD enabled, except on Wayland.
This patch does not handle frame_obj with server-side decorations
yet.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 0e52264ae0 win: Add background part to the win border
Use Efl.Part for window to manipulate the background.

Two part names are used in EDC:
 - elm.rect.background
 - elm.swallow.background

For apps the part name is only "background".

To set a solid color background (alpha is ok):
 efl_gfx_color_set(efl_part(win, "background"), r, g, b, a);

To set an image:
 efl_file_set(efl_part(win, "background"), "image.jpg", NULL);

To set an object:
 efl_content_set(efl_part(win, "background"), subobj);

The solid bg is invisible by default, will become visible and use
COPY render mode if a color is set. Standard window uses the
swallow part.

@feature
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre cb172de3da win: Move main menu to the border edje group
The main menu can now be contained inside the CSD border
rather than inside the win edje group.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre b2dbf9d9dd win: Fix maximized geometry with CSD in X
There is still a geometry issue after un-maximizing.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 2147d5cb33 win: Handle move & resize with CSD on X
This is for client-side decorations on Xorg.

Mouse-based move and resize of the window now work fine, but
there are still a few glitches:

1- GL resize is awful (nothing much we can do)

2- Move/resize requests trigger a focus out event,
   this in turn changes the style of the window from focussed to
   unfocussed. This is thus different from what we see in Wayland
   (no focus state change at all) and in usual X11 (focus changes,
   but the frame keeps its focussed style).

   To counteract this effect, we prevent the frame from changing
   style on focus,out if we know we are moving or resizing. But
   we don't know that if the compositor moves/resizes (eg. with
   Alt key); The focus event happens too early, before the move
   or resize events. At least in E.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 2b50d56bba win: Set proper cursor for resize borders (CSD in X)
They look horrible in E (X), why is the cursor theme not applied?
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 4722b685cf ecore_evas/x: Inform WM about borders and shadows
This exploits the existing X Atom "GTK_FRAME_EXTENTS"
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 63fcd3d831 win: Make X windows border when using CSD mode 2016-11-23 13:04:12 +09:00
Jean-Philippe Andre c91360fcbd win: Apply alpha for CSD mode, even in X 2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 79b0737b6c win: Factorize code to select frame mode
This also adds an env var for debug to force the frame on or off.
2016-11-23 13:04:12 +09:00
Stefan Schmidt 843bee8c77 docs: elm_menu: fill gaps in elm_menu eo file documentation 2016-11-22 16:42:13 +01:00
Stefan Schmidt 79b65a90aa docs: elm_colorselector: fill gaps in elm_colorselector eo file documentation 2016-11-22 16:42:13 +01:00
Stefan Schmidt 4f13e49d2a elm_config: set default year for minimal to 1970
This aligns with the docs we have and also makes sense when taking UNIX time
in consideration.

Fixes T4617
2016-11-22 16:30:30 +01:00
Gustavo Sverzut Barbieri fa8630a9b1 elm: convert downloads to efl_net_dialer_http.
Remove Elm_Url and use efl_net_dialer_http with an efl_io_copier to
fetch stuff.

The code was also slightly improved, particularly in elm_photocam
destruction be explicit and clear the grid before deleting... this
will ensure any pending preload are stopped before we remove the
backing memory.
2016-11-22 13:24:16 -02:00
Stefan Schmidt 4e259e4d08 docs: elm_sys_notify: fill gaps in elm_sys_notify eo file documentation 2016-11-22 10:41:04 +01:00
Stefan Schmidt ea5308a126 docs: elm_dayselector: fill gaps in elm_dayslector eo file documentation 2016-11-22 10:41:04 +01:00
Stefan Schmidt 1a1aea4ab2 docs: efl_ui_win: fill gaps in efl_ui_win eo file documentation 2016-11-22 10:41:04 +01:00
Stefan Schmidt 13aac40a4b docs: elm_naviframe: fill gaps in elm_naviframe eo file documentation 2016-11-22 10:41:04 +01:00
Jean-Philippe Andre 4f3c8bc433 win: Adjust documentation & test for a new API
This amends bfea8c8fca to use better EO syntax in the
doc, as well as fix warnings in the test case. This also changes
move to be 1 rather than 0.
2016-11-22 15:37:33 +09:00
Jean-Philippe Andre 8b9fe4adda glview: Add data updates when marking the image as dirty
The previous behaviour was not correct, so fix it. This will
not change anything as evas image has a legacy behaviour
fallback.
2016-11-22 14:32:37 +09:00
Youngbok Shin 281fd9231c elementary entry: fix to call "cursor,changed" callback when only cursor is changed
Summary:
"cursor,changed" smart callback should be called when only the main cusor's
position is changed. But, It was called when elm_layout_sizing_eval() is called
for elm_entry.

@fix

Test Plan: N/A

Reviewers: raster, cedric, woohyun, herdsman

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4419
2016-11-22 11:05:23 +09:00
Stefan Schmidt be46aa6ca5 docs: elm_popup: fill gaps in elm_popup eo file documentation 2016-11-21 21:42:50 +01:00
Stefan Schmidt 7c263fa46d docs: elm_ctxpopup: fill gaps in elm_ctxpopup eo file documentation 2016-11-21 21:42:50 +01:00
Stefan Schmidt 22eb105499 docs: elm_layout: fill gaps in elm_labl eo file documentation 2016-11-21 21:42:50 +01:00
Stefan Schmidt f7d8f0ccb3 docs: elm_flip: fill gaps in elm_flip eo file documentation 2016-11-21 13:57:51 +01:00
Stefan Schmidt 15c562a1b4 docs: elm_map: fill gaps in elm_map eo file documentation 2016-11-21 13:57:51 +01:00
Stefan Schmidt 85e7f8f816 docs: elm_atspi: fill gaps in elm_atspi eo file documentation 2016-11-21 13:57:50 +01:00
Stefan Schmidt 7b599fb5a3 docs: elm_list: fill gaps in elm_list eo file documentation 2016-11-21 13:57:50 +01:00
Stefan Schmidt ba0d73cd77 docs: elm_fileselector: fill gaps in fileselector eo file documentation 2016-11-21 13:57:50 +01:00
Ji-Youn Park bfea8c8fca efl_ui_win: add function client can start moving or resizing the window.
The result of this API can only guarantee that the request has been forwared to the server,
    In fact, there is no guarantee that the request can be processed by the server.

    In order to use this API correctly, avoid the following conditions.
    (The following situations will return a failure)

    1. Calling a function in the absence of a touch(mouse) down event.
    2. Calling the function twice more than once before the touch(mouse) up event.
    3. Calling the function when the elm win already resizing or moving the window.
    4. Calling the function using a combination of unsupported modes.

    Right usage
    1. touch(mouse) down event
    2. efl_ui_win_move_resize_start only once using the supported mode combination.
    3. touch(mouse) up event

    If a touch(mouse) up event occurs after calling the function, it automatically ends the window move and resize operation.

    Since there are some non-exclusive modes, you can use a combination of modes.(ELM_WIN_MOVE_RESIZE_MOVE is exclusive with others)
    However, Some combination of mode is limited for technical reasons.
    At present, only the following nine combinations are allowed.
    For more information, see the Elm.Win.Move_Resize_Mode.

    1. EFL_UI_WIN_MOVE_RESIZE_MOVE
    2. EFL_UI_WIN_MOVE_RESIZE_TOP
    3. EFL_UI_WIN_MOVE_RESIZE_BOTTOM
    4. EFL_UI_WIN_MOVE_RESIZE_LEFT
    5. EFL_UI_WIN_MOVE_RESIZE_RIGHT
    6. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT
    7. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT
    8. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT
    9. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT
2016-11-21 20:21:15 +08:30
Daniel Zaoui 381d93f1e2 efl_ui_image: fix removal of the internal evas image
During the replacement of the image with the new preloaded one,
the previous image is deleted but not removed from the list of
children of the icon (efl_ui_image), leading to Eo errors when
walking over the icon children.

@fix
2016-11-21 12:24:16 +02:00
Cedric BAIL e317099426 elm/calendar: fix legacy API use. 2016-11-18 10:56:47 -08:00
Mike Blumenkrantz 06db737a23 elm_cursor: restore compat with previous theme api
adding new theme groups/parts is fine, but compat must be maintained for
released theme api: anything which is namespaced

ref 1422e61e62
2016-11-18 11:05:27 -05:00
Mike Blumenkrantz 7d720f5ede elm_cursor: use cursor owner object when applying theme
the eventarea is not guaranteed to be an elm object, and the docs clearly
state that the owner object is used for theming

@fix
2016-11-18 11:05:27 -05:00
Stefan Schmidt 9d796a4d1b docs: genlist: fill gaps in genlist eo file documentation 2016-11-18 12:53:26 +01:00
Stefan Schmidt 89166e3837 docs: gengrid: fill gaps in gengrid eo file documentation 2016-11-18 12:53:26 +01:00
Stefan Schmidt 246c6dc447 docs: efl_ui_text: fill gaps in efl ui text eo file documentation 2016-11-18 12:53:26 +01:00
Stefan Schmidt 78aa2dc625 docs: elm_entry: fill gaps in elm entry eo file documentation 2016-11-18 12:53:25 +01:00
Cedric Bail e79406b5db elm/calendar: we do require explicit ptr now. 2016-11-17 17:40:12 -08:00
JEONGHYUN YUN 3f76638b37 elm/calendar: add APIs for minimum and maximum values for the date
Summary:
elm_calendar already have minimum and maximum year set/get APIs.
I've added new APIs that exapanded from the year to the date.
These APIs help us not only set min/max month but also set min/max day.
If you set the minimum date, changing the displayed month or year if needed.
Displayed day also to be disabled if it is smaller than minimum date.

Reviewers: woohyun, Hermet, jpeg, CHAN, cedric

Reviewed By: CHAN, cedric

Subscribers: CHAN, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-11-17 17:40:12 -08:00
Shuhrat Dehkanov ec12506a88 elm/datetime: default case for default value
Summary:
This will eliminate unnecessary initialization of local variable in case the type is not EFL_UI_CLOCK_TYPE_YEAR.
Also, ELM_DATETIME_YEAR case is merged with the default case.

Reviewers: singh.amitesh, cedric

Subscribers: minkyu, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-11-17 17:40:12 -08:00
Andrii Kroitor ef55640d2a elm_spinner: apply value after pressing enter key
This was broken previously by a659fe3484

@fix
2016-11-17 15:56:14 +02:00
Stefan Schmidt b5919ae9ed elm_fileselector: fix property value name when showing hidden files
The vlaue name multi does not make any sense here and looks like a copy and
paste oversight from the multiselection property.
2016-11-17 13:50:12 +01:00
Stefan Schmidt a1b46e872d docs: elm_interface: fill gaps in elm interfaces eo file documentation 2016-11-17 13:02:03 +01:00
Stefan Schmidt 17cf8dd846 docs: elm_widget: fill gaps in elm_widget eo file documentation 2016-11-17 12:54:29 +01:00
Stefan Schmidt d603ea1de0 docs: efl_ui: fill gaps in efl_ui eo file documentation 2016-11-17 12:52:44 +01:00
Stefan Schmidt 67f03b7d04 docs: atspi_interfaces: fill gaps in elm atspi interfaces eo file documentation 2016-11-17 12:19:50 +01:00
Daniel Zaoui 7d127c1d07 Win: fix modal feature during window closing
During window deletion, decreasing modality depends on
the window visibility.
Because the visibility was set to false before treating the
modality, it was never decreased, leading to never have still
existing windows being reachable.
Now, we check window visibility before it is modified.

@fix
2016-11-17 08:00:23 +02:00
Jaehyun Cho e64fa28284 efl_ui_image: guarantee user's mouse up event callback is called.
Summary:
Without propagating event by hit_rect, user's mouse up event
callback may not be called if image file is replaced in user's mouse
down event callback.

Test Plan:
1. Register mouse up event callback for elm_image by calling
evas_object_event_callback_add() with EVAS_CALLBACK_MOUSE_UP.
2. Register mouse down event callback for elm_image by calling
evas_object_event_callback_add() with EVAS_CALLBACK_MOUSE_DOWN.
3. Replace image file of elm_image by calling elm_image_file_set() in
mouse down event callback.
4. Mouse down on elm_image.
5. Mouse up on elm_image.
6. Since image file object is newly created in mouse down event
callback, mouse up event is not triggered for the newly created image
file object. As a result, mouse up event is not propagated to elm_image
and user's mouse up callback for elm_image is not called.

Reviewers: cedric, woohyun, eunue, jpeg

Reviewed By: jpeg

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-16 13:46:40 -08:00
Jean-Philippe Andre f50b0fed13 elm/evas: Fix disappearance of window icons with CSD
After a few patches trying to fix clipping of frame or
non-frame objects the icon finally ended up invisible. Even
if the elm_icon was marked as is_frame, its internal evas
object image would not have the flag set, thus it would be
clipped out.

Solution: Propagate the is_frame flag to all smart children,
not only when setting it but also when adding new members.
A hack with the API indicates that the frame edje is a very
special object that does not propagate the flag.

See also:
7ce79be1a1
0f6c33eff1
9c9c8809a7
ac5ca9281c
2016-11-16 20:48:58 +09:00
Amitesh Singh 6ae0980f32 elm: Efl.Ui.clock: use efl_isa instead. 2016-11-15 19:59:06 +05:30
Amitesh Singh 04ebeca2b2 elm: datetime: fix the incorrect datetime field type mapping
Elm_Datetime_Field_Type enum values are not same to Efl_Ui_Clock_Type.
2016-11-15 15:08:37 +05:30
Cedric BAIL 9f5c37cda7 efl_ui_clock: fix use when no module is present.
T4875
2016-11-14 11:22:39 -08:00
Lukasz Stanislawski 93b509d664 elementary: implement destructor in atspi mixin
Summary:
Make atspi mixin inherit from Efl.Interface class and add Efl.Object
as it extensions class to gain acccess to destructor function.

This allow to better share code between implementations and avoid possible
mistakes during accessibilityt implementations.

Reviewers: cedric, jpeg, raster, kimcinoo

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-14 11:10:59 -08:00
Andy Williams 202dc8c189 elm: Allow setting NULL tooltip text to remove tooltip.
As discussed on the mailing list.
2016-11-12 21:23:40 +00:00
Andy Williams cc9e9c57d4 elm_code: Fix double free on file close/free
@fix
2016-11-11 15:01:08 +00:00
Daniel Kolesa 596a396887 efl_ui_win: temporarily use terminated_array to remove a pointer
see FIXME.
2016-11-10 15:59:47 +01:00
Daniel Kolesa 308aea3683 elm_prefs, elm_slideshow: remove pointers 2016-11-10 15:53:25 +01:00
Daniel Kolesa d47e3f3d20 efl_ui_text, efl_ui_clock: remove pointers 2016-11-10 15:50:58 +01:00
Daniel Kolesa f459e885ef elm_code_widget: remove pointers 2016-11-10 15:49:12 +01:00
Daniel Kolesa 8fe9fcf9d8 elm gengrid_item toolbar_item: remove pointers 2016-11-10 15:47:31 +01:00
Daniel Kolesa 6b156ad6c6 efl_ui_win: remove most pointers 2016-11-10 15:44:57 +01:00
Daniel Kolesa bacbb1e5bd elm radio, scroller, sys_notify: remove pointers 2016-11-10 15:43:15 +01:00
Daniel Kolesa b0c6fb9900 elm_map: remove pointers 2016-11-10 15:41:43 +01:00
Daniel Kolesa 50884a139b elm dayselector, entry, glview: remove pointers 2016-11-10 15:38:53 +01:00
Daniel Zaoui 819c14c86f DnD: cancel drag if mouse moves too much
In the case of an entry inside a draggable gengrid, trying to select
text was always resulting in starting a DnD operation because mouse
coordinates were not checked.

Now we check that the mouse coords don't move more than a finger size.

@fix
2016-11-10 08:26:26 +02:00
Shinwoo Kim e648f1e85e [elementary][atspi] change accessible description to char* from const char*
Summary:
The accessible name is char*, this could confuse API user.
If we provide user callback to get description, an user would return allocated string.
The usage of elm_interface_atspi_description_get/set should be same with elm_interface_atspi_name_get/set

Reviewers: lukasz.stanislawski, cedric, raster

Reviewed By: raster

Subscribers: stanluk, jpeg

Differential Revision: https://phab.enlightenment.org/D4378
2016-11-10 11:11:48 +09:00
Daniel Kolesa 441b303783 elm gengrid, genlist: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa 89bd7f0977 elm_calendar: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa eb9c451984 elm atspi interfaces: remove some pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa d5cbe8b9be elm_layout, elm_general: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa a7ffa599a4 elm_interface_atspi_text: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa 59b0d88447 elm_widget: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa aaf6c1a8ee elm_interface_atspi_accessible: remove pointers 2016-11-09 17:57:05 +01:00
Shinwoo Kim f2295d2fef [elementary][access] check previous access object before register 2016-11-09 21:13:57 +09:00
Amitesh Singh b8903b87d8 elm: remove datetime widget internal code
datetime legacy APIs are based on Efl.Ui.Clock public APIs.
2016-11-09 16:13:38 +05:30
Daniel Zaoui 0c78e1eb4d Toolbar: fix icon switch during state change
When many states are set on an item, the icon is deleted when the state
is changed. This shouldn't be as it leads to an unstable state whose
icon is still considered as existing and errors displayed on the screen.

We need to check that the icon is not used inside any state to permit its
deletion. Otherwise we should just hide it.

@fix
2016-11-09 07:42:57 +02:00
Daniel Zaoui 7957041d84 Toolbar: fix retrieval of previous state
There should be no problem that the prev_state is the first state.
The last state should be returned only if there is nothing before the
current state.

@fix
2016-11-09 07:42:57 +02:00
Daniel Zaoui 4e828b4f13 Focus: add NULL check before function invocation 2016-11-09 07:42:57 +02:00
Daniel Zaoui 773c56c645 Genlist: remove callback from correct object
Edje callback was removed from genlist instead of its Edje object.
2016-11-09 07:42:57 +02:00
Andrii Kroitor 595ae821ba elm_layout: add mmap support
Reviewers: cedric, Hermet, raster, NikaWhite

Subscribers: jpeg, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-07 14:42:07 -08:00
Cedric BAIL 8a471e96be elementary: fix conversion mistake from Eina_Promise to Efl_Future in file selector. 2016-11-07 11:29:23 -08:00
Stefan Schmidt a06aa07001 docs: elm_web: add missing docs for elm_web 2016-11-07 15:58:11 +01:00
Stefan Schmidt ff53608bdb docs: elm_photocam: add docs for interfaces and events 2016-11-04 12:28:11 +01:00
Stefan Schmidt e509e69db8 docs: elm_atspi: add docs for elm atspi interfaces 2016-11-04 12:28:11 +01:00
Stefan Schmidt 403dcc785e docs: harmonize AT-SPI writing in all eo files.
AT-SPI is how I find it written in most places. Align to this in our docs.
2016-11-04 12:28:11 +01:00
Stefan Schmidt 1edeb4a7c6 docs: elm_code: add missing documentation for elm code widget 2016-11-04 12:28:11 +01:00
Hermet Park 7cdc247b51 elementary transit: more optimal api call.
come to think of it, we have a size get api...
2016-11-04 20:25:24 +09:00
Hermet Park c446df487f elementary transit: support image fill area in zoom effect.
Transit zoom effect didn't care image fill area in case of manual filling.
This additional logic computes map uvs with regards to the current image fill area.

@fix
2016-11-04 20:21:59 +09:00
Mike Blumenkrantz f116310757 elm scrollable: return correct values from post event callbacks
post event callbacks must return 0 to stop processing when an event is
consumed, and 1 when processing should continue. this is the only place in
all of efl which used this functionality, and it did so incorrectly.

@fix

ref 248b6beeee
ref D2393
2016-11-03 11:42:26 -04:00
Stefan Schmidt fd886965c0 docs: elm: document various type defines 2016-11-03 11:57:40 +01:00
Stefan Schmidt b98a76dc37 docs: efl_clock: fill missings docs for new efl clock class 2016-11-03 11:57:40 +01:00
Jean-Philippe Andre 9af981469d elm: Fix usage of invalid object type (image)
This fixes a a crash on NULL and ensures the EAPI call is
done on an elm_image. Just checking NULL is not good enough
as _efl_ui_image_sizing_eval() doesn't check the type first.
2016-11-03 17:22:14 +09:00
Amitesh Singh 0bcb0302fb efl_ui_clock: Merge datetime/dayselector/clock widgets into efl_ui_clock.
Summary:
Datetime widget is module based, so datetime widget is used as base for efl_ui_clock and merged dayselector/clock features into efl_ui_clock.
Added day selection and seconds support in efl_ui_clock.
 Added clock features like auto updation of time, stop timer etc in efl_ui_clock.
 Added API to enable/disable edit_mode. efl_ui_clock can be configurable to display either only day/date/time or display any two of them or display all three.
Added efl_ui_clock.c and test_ui_clock.c. Theme and Module is added in another patch by Amitesh.

Original author is Yeshwanth <r.yeshwanth@samsung.com>. I have polished this patch a bit and make it compatible with current EFL code.

Test Plan: test_ui_clock

Reviewers: bu5hm4n, tasn, yashu21985, jpeg, cedric, raster

Subscribers: CHAN, woohyun

Differential Revision: https://phab.enlightenment.org/D3938
2016-11-03 12:00:17 +05:30
Jaehyun Cho cccbad2298 naviframe: Fix to process title show/hide signal immediately 2016-11-02 19:51:47 +09:00
WooHyun Jung 9eee22cb6d elm_popup: before getting focus, all sub objs should be shown 2016-11-02 09:28:26 +09:00
Cedric BAIL 4a434a94aa elementary: not every call are from ecore_job infrastructure, NULL only when they are.
This is something that our tests suite detected. Please pay attention.
2016-11-01 11:48:45 -07:00
Youngbok Shin ab9f0ae3ca elementary entry: keep style user when new theme is applied
Summary:
The style user should be kept when entry's mode is changed.
@fix

Test Plan:
1. Run "elementary_test -to "entry style user"
2. Click "Singleline Mode" toggle
3. See the result

Reviewers: raster, tasn, herdsman, cedric

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-01 11:48:44 -07:00
Woochan Lee 19dcea07d1 elm_multibuttonentry: send "clicked" signal when item got hardware enter key.
Summary:
It was kind of bug state before.

There was no any action when the user gives a focus on an item. then press the enter key.
The item should be set as selected state after that should call clicked signal.

@fix

Test Plan: elementary test MBE sample.

Reviewers: woohyun, bu5hm4n, Hermet

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-01 11:48:44 -07:00
Chris Michael 4343432ee7 elementary: Use software engine for wayland client pointers
There seem to be an issue with the ecore_evas_wayland_egl engine when
using them for cursors. The issue is that a black square shows up
behind the mouse pointer. This does not happen with the wayland_shm
engine so use wayland_shm engine for mouse pointers (for now) until
this can be sorted out.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-01 10:55:10 -04:00
Jean-Philippe Andre a86e79141e elm: Fix disappearance of some elm images
After the commit 97c9fa64a4 (Remove group_show and group_hide),
some Efl.Ui.Image objects would not render properly. The reason
being that the object call to show() was aborted too early when
the image is still preloading.

This made for really random results as an image preload could
take more or less time, depending on chance.
2016-11-01 09:36:39 +02:00
InHong Han fb6ffc6ac5 elm_entry: Add voice input panel layout
@feature

Change-Id: I41502d2446b95a4be31fc60a8d995b9d37930844
Signed-off-by: InHong Han <inhong1.han@samsung.com>
2016-10-31 19:10:53 +09:00
Carsten Haitzler 30d7410699 elm win - add ifdef around wl code so it compiles with wl off 2016-10-29 10:16:29 +09:00
Jean Guyomarc'h 2bf65e4ef8
elm_icon: avoid useless assignment
Assigning id->edje to EINA_TRUE in a code path triggered when id->edje
is EINA_FALSE instead of unconditionnaly setting it to EINA_TRUE avoids
to assign id->edje to itself.
2016-10-28 23:23:15 +02:00
Jean Guyomarc'h e86e741597
elm_icon: slightly clean-up code
It is unnecessary to use an initialized variable on the stack to hold a
new value and then immediately return it.
2016-10-28 23:20:14 +02:00
Chris Michael 3749ea47f9 elementary: Remove debug printing
NB: No functional changes, just removing left over prints

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 14:28:04 -04:00
Chris Michael 1422e61e62 elementary: Make setting cursors for EFL Wayland client apps work
This patch changes els_cursor.c to work with the pointer object
created for EFL Wayland Application windows. This allows any EFL cursors
specified by an application to work in Wayland (ex: elm_test Cursor
tests)

NB: While the code is working, there will still be missing cursors due
to those not being included (yet) in the elm theme. Will continue to
add those as time goes.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 14:04:06 -04:00
Chris Michael e179115f41 elementary: Add internal function to set wayland cursor
Add an internal elm function we can call from withint els_cursor.c so
that we can set window cursor/pointer images based on what is supplied
by els_cursor.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 14:04:05 -04:00
Chris Michael 53f406a0a3 elementary: Fix build break for non-wayland builds
This fixes an issue where build would be broken if not building with
Wayland support.

Fixes T4778

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 12:35:12 -04:00
Chris Michael ecc3e2fa51 elementary: Don't set "move" cursor on wayland client apps
As most (if not all) compositors will draw their own "move" cursor
when moving windows around, there's no real need to set this one
client side.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 09:55:27 -04:00
Chris Michael e77efe72f7 elementary: Fix issue of extra pointer being displayed
As we only want to show our custom EFL cursors when the mouse is
actually inside the window, use the _elm_win_mouse_in/out functions to
control pointer visibility.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 09:55:27 -04:00
Chris Michael 257b4f0af8 elementary: Don't create pointer canvas for inlined_image
As we don't need a pointer or pointer canvas for
ELM_WIN_INLINED_IMAGE, add missing type check and skip creating
pointer canvas there.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 09:55:27 -04:00
Chris Michael 44746f24e9 elementary: Use separate checks for pointer object vs pointer canvas
As under the drm engine a softcursor will be created, but not a
pointer canvas, we need to use separate if checks in certain places
like showing, hiding the mouse pointer/canvas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 09:55:27 -04:00
Stefan Schmidt 89de3ddd77 docs: elm: document missing structs 2016-10-27 18:22:42 +02:00
Marcel Hollerbach d896e3efc5 elementary: split up the build options from the main header
This splits up the definitions from the buildtool into a seperated file
called Elementary_Options.h.
Reason for that is, that every single time when someone adds or changes
something in Elementary.h.in you need to rerun configure, to get the new
up to date Elementary.h file. With this commit you have a static none
generated Elementary.h file and the Elementary_Options.h file, which
will be regenerated when platform things are changing.

The version of elementary is now defined as the version of efl, since
they are always the same. So we dont need to generate a seperated
version field.
2016-10-27 13:27:25 +02:00
Woochan Lee 986264c556 elm_multibuttonentry: Apply focus UI feature for the item.
Summary:
It was not implemented.

Add focus_direct to give the internal box for focus UI feature.
- Item will be deleted when got a focus highlighted then user press delete button.
- Focus UI will not work if MBE shrunk.

@feature

Test Plan:
Run elementary_test.
multibuttonentry sample.

Reviewers: woohyun, Hermet, bu5hm4n

Subscribers: bu5hm4n, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4360
2016-10-27 13:27:25 +02:00
WooHyun Jung 9c1b0e346e elm hoversel: restore focus to the button when hover end 2016-10-27 15:26:41 +09:00
Jean-Philippe Andre fb797611ed scroller: Adjust rare case when content fits but bars are visible
This was simply annoying me. A scroller packed inside a box 150x150
should have enough space to hold an object of size 140x140. That's
a whole lot of 10 pixels margin!

This patch adds a special case code when the content "seems" to fit
inside the box but still one or both bars are visible. One problem
is that we can't know from the theme how much margin is used by a
scroller even when its bars are hidden. So we have to try to remove
them and then recalc to test.

This definitely adds quite a few more calculations if the state of
the scroll bars changes, but the result is way more pleasant :) This
should be limited to corner cases anyway (when the content size is
within 0 to ~20 pixels of the scroller size, depending on the theme
of course).

The test case is adjusted to show that same size content triggers
a show on the bars (because of theme margins). See CtxPopup test.
2016-10-27 10:02:56 +09:00
Jean-Philippe Andre bd9c752d3f elm: Fix elementary uninstalled eo headers
This fixes compilation for terminology for example.
Thanks to @Etrunko for the report.

Note: My builds originally worked fine because my installed
      include folder contained the old files :(
2016-10-27 10:00:08 +09:00
Stefan Schmidt 6f25878665 docs: fix the last missing enum field docs all over the tree
With this comit we reach 100% eo doc coverage for enum fields. Keep it like
this. :)
2016-10-27 00:26:16 +02:00
Stefan Schmidt a01d3c26ce docs: gen{list,grid}: add docs for field type enums 2016-10-27 00:03:02 +02:00
Stefan Schmidt 92cfac3262 docs: elm widget: start to document more items in the big elm widget eo file
This can only be a start. Many more items need docs in here.
2016-10-27 00:03:02 +02:00
Stefan Schmidt c17d7429b6 docs: efl ui flip: document enums and events for ui flip 2016-10-27 00:03:01 +02:00
Chris Michael efe5150bb8 elementary: Delete mouse pointer when window is closed
If we are running Wayland clients which create their own mouse
pointers, then we need to remove the mouse pointer ecore_evas when the
window is deleted else we get crashes because the mouse pointer is
still trying to render. This fixes the issue of internal Enlightenment
windows causing crashes when closed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-26 09:33:24 -04:00
Jean-Philippe Andre 48111f9732 elm: Fix compilation of other apps (elm_access.eo.h)
Thanks to ApBBB on #e for the report!
2016-10-26 19:05:22 +09:00
Jean-Philippe Andre d4929e58fc elm: Remove some eo files from installation
These are some of the EO files that shouldn't be part of the public
EO API:
- elm_access (old)
- actionslider
- bubble
- diskselector
- flipselector (a fancy spinner)
- hoversel (use combobox instead)
- icon (use image instead)
- inwin
- naviframe (unreplaced for now)
- photo (use image)
- prefs
- segment control
- separator
- slideshow
- thumb (use image)

Note: This breaks the use of the elm_widget_xxx.h headers. Those
      were internal headers anyway. Exposed because of a lack of
      a proper inheritance API.
2016-10-26 13:42:54 +09:00
Cedric Bail baf2187d55 elementary: fixup warning in new colorselector code. 2016-10-25 15:03:40 -07:00
Cedric Bail da22a046aa elementary: fix build without wayland. 2016-10-25 15:02:46 -07:00
Minkyu Kang a83643d134 elementary: gengrid - check the edge correctly
Summary:
The routine of checking edge of left side, divide position by row.
Since the result of fisrt item of last line is 1, that item was not checked as edge.
This patch is for fixing it.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Test Plan:
elementary_test -to gengrid2
append items (about 6)
horizontal mode on and item loop enable
check item loop is working properly

Reviewers: cedric, jpeg, Hermet, SanghyeonLee

Subscribers: jehun.lim, SanghyeonLee, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-25 14:37:11 -07:00
Shuhrat Dehkanov 008b74372f elementary: enable setting custom access info to hoversel items
Summary: This will enable apps to get item access object using elm_object_item_access_object_get().

Reviewers: jpeg, Hermet

Subscribers: kimcinoo, singh.amitesh, cedric, minkyu

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-25 14:37:11 -07:00
Taehyub Kim ee83f2aa3d elementary: colorselector - apply new focus ui for palette and components items
Summary:
colorselector focus ui is not moving for palette and components items.
now it is changed to focus each item of palette and components.

Test Plan:
1. build efl elementary with this patch
2. remove /home/{user}/.elementary
3. launch colorselector with elementary_test -to colorselector
4. move direction key
5. see the new focus ui

Reviewers: jpeg, raster, Hermet, woohyun, bu5hm4n, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-25 14:37:11 -07:00
Chris Michael c173be4db7 elementary: Implement support for EFL Wayland mouse pointers
This patch implements support for EFL Wayland applications to be able
to use EFL mouse pointers instead of ugly X cursors inside a Wayland
compositor. This does Not use Softcursor so the mouse pointer becomes
it's own surface which is then sent to wl_pointer.

NB: Some small hiccups when using wayland_shm such as dropped frames.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-25 14:22:07 -04:00
Chris Michael 0b290a260c Revert "elementary: Provide EFL mouse pointers for Wayland Client applications"
This reverts commit 0a46096337.

Reverting these changes as we need to handle mouse pointer differently.
2016-10-25 11:07:32 -04:00
Chris Michael 13f77a2456 Revert "elementary: Don't try to set pointer edj if there is no pointer"
This reverts commit 3686a8aa89.

Reverting this as we need to handle mouse pointers a different way.
2016-10-25 11:07:32 -04:00
Chris Michael ce827f3481 Revert "elementary: Don't always show pointer object"
This reverts commit f56dc8d0c3.

Reverting these as we need to handle mouse pointers a different way.
2016-10-25 11:07:32 -04:00
Stefan Schmidt 1ed2b0fbde docs: document all missing enums
With this commit we reach 100% enum doc coverage. The fields in the enums are
still at 91%, but there is progress on that front as well.
2016-10-25 16:08:25 +02:00
Stefan Schmidt fee28a5b16 docs: elm_icon: fully document elm_icon eo file 2016-10-25 16:08:25 +02:00
Stefan Schmidt 7df301d857 docs: tree wide enum sentinel value documentation 2016-10-25 16:08:24 +02:00
Stefan Schmidt ef814db490 docs: harmonise use of enum sentinel description in eo files 2016-10-25 16:08:24 +02:00
Stefan Schmidt c8e4ae21d8 elm: remove no longer needed Elm.App.View_State
Left over from the elm app server/client removal. Hidden in an eo type file
this was overlooked.
2016-10-25 16:08:24 +02:00
Chris Michael f56dc8d0c3 elementary: Don't always show pointer object
If we are using softcursor mode during intercept show, then we should
check that the pointer is actually in the canvas before showing it
else we end up with mouse pointers drawn on the canvas even when the
mouse itself is nowhere near a window.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-24 13:08:00 -04:00
Chris Michael 3686a8aa89 elementary: Don't try to set pointer edj if there is no pointer
If we don't have the sd->pointer.obj here, then there is no need to
try and set the edje theme for it.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-24 13:08:00 -04:00
Stefan Schmidt cc49d3e1de docs: fileselector: improve docs for enum, events and keyword usage 2016-10-24 17:41:52 +02:00
Stefan Schmidt f52dc97927 docs: atspi: add docs for events in accessible 2016-10-24 13:28:52 +02:00
Stefan Schmidt cba20188f6 docs: atspi: add docs for atspi accessible enums 2016-10-24 13:19:18 +02:00
Marcel Hollerbach 2866e2f980 elementary: check if its a wayland window before using ecore_wl2 api
otherwise there is a bunch of error messages from a app running on
x.
2016-10-22 20:22:18 +02:00