Commit Graph

198 Commits

Author SHA1 Message Date
Cedric Bail 1aaeaf2b3b elementary: fix callback array declaration to build on Windows. 2016-04-22 14:15:36 -07:00
SangHyeon Lee c5427e875d genlist : arrange focus set in mouse up
Summary :
when mouse up happens, item must be focused, and after that,
select must be called.
current logic, focus is already called inside the select function
and again focus set is called in the end of mouse_up,
so if user new focused widget inside the select callback,
mouse_up forcely take the focus into the item again.
select callback should comes after the focus callback calls
to work properly.

@fix
2016-04-22 16:08:25 +09:00
Cedric BAIL 539d79c0a3 elementary: use Efl.Loop event directly as an API test. 2016-04-21 16:26:25 -07:00
Mike Blumenkrantz 8325b78aed elm_cnp: accept appropriate text types in wl drop handlers
this fixes text dnd

@fix
2016-04-21 13:58:45 -04:00
Mike Blumenkrantz f6f76bf87f elm_cnp: do not send null accepts for every type within wl data offers
once is sufficient
2016-04-21 13:58:45 -04:00
Mike Blumenkrantz c9208871ae elm_cnp: attempt to get all applicable mime types when getting selection
@fix
2016-04-21 13:58:45 -04:00
Carsten Haitzler 5e09d1307b eo base - remove the duplicated key dels and just do eo_key_del() now
this rationalizes all the duplicated key dels (key_data, key_obj and
key_value).
2016-04-21 18:02:31 +09:00
Jean-Philippe Andre 80da5099c1 Elm: Don't install box, table and grid eo files
Box, Table and Grid now belong to legacy land.
Their Evas counterparts are already not installed anymore,
and Efl.Ui.Box and Efl.Ui.Grid are here to replace those
widgets (note: code was initially copy & pasted).

This should fix installed EO files consistency.
2016-04-20 20:39:58 +09:00
Tom Hacohen 5bec0d07b4 Ecore eo: Resolve duplicate Ecore_Cb definition. 2016-04-20 10:11:21 +01:00
Jean-Philippe Andre 2d946d03ae Efl.Pack: Rename methods and properties
- Children are now contents
- Efl.Pack_Layout is now a separate class and
  merges Pack_Engine.
- Removed dumb class Efl.Pack_Item
- Updated docs
- Added pack_ or grid_ prefixes to some methods
2016-04-20 11:15:53 +09:00
Jean-Philippe Andre a0f92d9bef Efl.Ui.Grid: Implement custom layout functions
Untested yet. Will need to add the common 3 classes:
- standard
- homogenous
- homogenous max_size

And then implement a true custom layout function, that
respects weights in a certain manner (need to define it
clearly).
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre e4889ca367 Ui.Box: Fix flow layout
Set align, fix usage with eo_add(EFL_UI_BOX_FLOW_CLASS).
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre f2eff88640 Efl.Ui.Box: Add pack_align property
While at first I wanted to remove the box_align / table_align
properties, it ends up being a necessary value in some cases.
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre 101cb7fe2a Efl.Ui.Grid: Fix new API behaviour
This fixes the linear API usage with a table.
TODO:
- remove internal table (as it doesn't support layout funcs)
- implement multiple layout functions (regular, homogenous, ...)
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre 86a59a3a24 Elm_test/Grid: Add linear API test for Efl.Ui.Grid
At this point, it proves that the grid API does not work.
Some things still need to be implemented or fixed.
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre a84468cf4b Elm_test: Add test case for Ui.Grid
Right now the proper layout functions for Ui.Grid are not
implemented, so most controls don't work. This tests that the
grid works fine as a table.
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre 548efd7fa4 Efl.Ui.Box: Implement flow layouts
This reuses the Evas.Box code, since we are still using the
box internally. The flow layout function is far from perfect
(it works well only with items of same height).

This shows how to use specific layouts provided by EFL.
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre 24eccb6d62 Efl.Ui.Box: Implement way to override layout function
So, since we don't have function pointers, all the solutions
to reimplementing the layout function are quite convoluted:

1. use events
2. reimplement layout func
3. use an extra object
4. use a generic class (non instanciated)

Promises don't apply here (layout will run multiple times).

Problems:

1. Multiple event callbacks will be called, resulting in
   potential performance impact, extra events, etc...
   Also, there is no way to define standard implementations
   that would be provided by the framework.

2. Reimplementation of a function requires extra EO work
   (create an EO class, etc...), doesn't allow on-the-fly
   change of the layout method.

3. Probably the best solution is to have an object implementing
   the layout. But this means creating an extra object along
   with the container.

4. To avoid the extra object, use a class, and reimplement
   a @class function. This unfortunately requires extra
   EO work.

Solution 4. has been selected, but it's not very nice...
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre 11403a4ec4 Elm: Compile in box and grid
Ui.Grid is definitely not complete.
Ui.Box still needs a few adjustments:
- alternative layout
- aspect ratio support
- RTL support
- remove evas box
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre 2343aa7900 Efl.Ui.Grid: Add implementation of a grid/table
This is only a partial implementation, work in progress.

The grid object should be a replacement for evas and elementary's
table and grid. Only the layout of items inside the container
is different, otherwise the API should be the same.

For now, this widget is based on an evas table but the full
layout logic will need to be reimplemented, eventually.

@feature
2016-04-20 10:47:40 +09:00
Jean-Philippe Andre b18a993dc0 Efl.Ui.Box: Add implementation of a simple box
This should be the only linear packing container.
This replaces: evas box and elm box.

Edje box needs to be kept around for compatibility,
but it stays an EDC object only (for apps).

Lots of things are still to be fleshed out in this
box implementation:
- Simplify smart object / elm widget code
- Maybe stop using evas object box altogether
- Implement other layout strategies

@feature
2016-04-20 10:47:40 +09:00
Tom Hacohen 6f4f9bd051 Elm glview: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen fb110d2de8 Elm box: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen bd14c3ffd3 Elm web: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 4264a58a11 Elm app server view: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 7d5bcd1a2c Elm slideshow: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 8b6948fa42 Elm app client view: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 64cb0942d4 Elm app server: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen aa577541e8 Elm gengrid: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 8cfa381452 Elm map: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 86720888fa Elm calendar: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 8425b07fbf Elm eo: Make Eina_Compare_Cb accessible to all widgets. 2016-04-19 17:15:28 +01:00
Tom Hacohen 1bddce0113 Elm sys notify interface: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 5e670d05af Elm prefs: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 22345bd744 Elm app client: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 83b8b6da07 Elm multibutton entry: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 7d45bbcc5e Elm app server: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen b2be0b0506 Elm genlist: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 352a9055b2 Elm view list: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen ff0f41933f Elm naviframe item: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 82591ac46e Elm interface fileselector: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 179395126d Elm slider: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 6989db76c2 Elm toolbar item: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen efcf577efd Elm systray: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 4d026032d0 Elm toolbar: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen e1c1bbbc4a Elm list: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen bb0bcce384 Elm layout: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen f021a858ad Elm atspi text: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 9933362a12 Elm atspi widget action: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 4d89465caf Elm hoversel item: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen f8dbd98e84 Elm win: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 79cbfd7c23 Elm check: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 3cb13c4f83 Elm image: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 42bfde5088 Elm entry: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 8ea5cbb0bf Elm atspi accessible: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 02619820c9 Elm widget: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 4cc81388d6 Elm gesturelayer: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 80310b1cbe Elm photocam: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 452254e5ec Elm general: Ignore more types (callbacks) in eolian. 2016-04-19 17:15:28 +01:00
Tom Hacohen dc05a18731 Elm interface scrollable: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen bb4c14e9cc Elm widget item: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Tom Hacohen 002456f92b Elm gen item: Add missing eolian type definitions. 2016-04-19 17:15:28 +01:00
Tom Hacohen 079003d043 Elm eo files: Add missing include of efl_types. 2016-04-19 17:15:28 +01:00
SangHyeon Lee 81f45c1b90 genlist: call update_job after smart_calculation done
Summary :
if item_update happens before the smart calcuate finished,
item can be delayed updated(next frame).
to prevent this issue, if unsolved job is remaining after
smart calc done, call update_job directly and remove job.

@fix
2016-04-19 18:43:55 +09:00
SangHyeon Lee b48d3eb04e genlist: recalc item size after item content field updated
Summary :
after item content fields updated, item and block should be
recalculated about it's height because content size can be updated.
if do not recaculate, items can be overlapped.

@fix
2016-04-19 14:57:45 +09:00
Jee-Yong Um 87b12327c3 genlist: scroll to item when calc is done
Summary:
If elm_genlist_item_bring_in() is called immediately after appending
item, genlist will not scroll to the last one but stop in the middle.
This patch blocks genlist from scrolling to not calculated item.

Test Plan:
1. Uncompress attached file
2. make
3. ./test

Reviewers: cedric, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3861
2016-04-19 14:00:42 +09:00
Jee-Yong Um 3f17d0d090 elementary: remove redundant reswallow logic in elm_layout
Summary:
When theme is changed by elm_layout_theme/file_set,
_edje_object_file_set_internal will be called internally
and it updates swallowed objects.
Elm.Layout doesn't need to reswallow its child objects.
(with current code, searching cost for real part occurs.)

Reviewers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-04-18 16:33:46 -07:00
Stefan Schmidt 6fc6a9eebe elm_photo: make sure we have a separate variable for the sanitized path
That way we can safely free it again after it got memory allocated from
eina_file_path_sanitize(). Fixes a memory leak.

CID: 1353601
2016-04-18 16:02:30 +02:00
Stefan Schmidt 6b7172d6e3 elm_atspi_bridge: unref eldbus msg before returning to avoid memory leak
If we goto fail here we still have the ret eldbus message referenced. Make
sure we unref so it can be free'd and we do not leak memory.

CID: 1353603
2016-04-18 16:02:07 +02:00
Stefan Schmidt 39eb3004f8 elm_spinner: free string in all cases before returning
If len < max_len was true here we leaked new_str. Make sure we also free it
in this case.

CID: 1353605
2016-04-18 16:01:21 +02:00
Stefan Schmidt ed793bab3b elm_conform: fix memory leak for state variable
Make sure we actually free state here before going out of scope.

CID: 1353606
2016-04-18 16:01:02 +02:00
Tom Hacohen 1d7caffed5 Elm popup: use the correct parent for calculations.
It just so happens that these parents are the same at the moment.
They don't have to be. We should use the correct, popup specific parent for
that.
2016-04-18 10:10:23 +01:00
Tom Hacohen aff4171e73 Elm widget: rename parent to widget_parent and mark as protected.
This removes the conflicts between the different parents and also
indicates that this is to be used internally by widgets and should
not be confused with the normal user visible parent.

It is an internal attribute that should not be used by people
not implementing widgets. Marking it as protected signifies it
as such.
2016-04-18 10:10:23 +01:00
Tom Hacohen a73cdbdb46 Elm: Reparent when swallowing an object.
Make the layout the parent on swallow, and the canvas the parent on
unswallow.
2016-04-18 10:10:23 +01:00
WooHyun Jung 1c6f3fd966 elm_focus: keep all focused states to be consistent when win loses and gets focus
Since focus_clear removed all the focused traces, focus was not reverted well
whenever win lost and got focus repeatedly.
For instance,
1. set focus to button1
2. set focus to button2
3. win focus out and in
4. remove button2
5. focus is on win not on button1

So, focus logic changes to not clear focused states when win loses focus.

@fix
2016-04-16 13:47:13 +09:00
WooHyun Jung f24dce9bc9 elm_win: remove duplicated focused/unfocused event call
These are already called in elm_widget's on_focus.

@fix
2016-04-16 10:37:34 +09:00
Tom Hacohen 6d135944be Elm ctxpopup: Remove useless implementation of sub_object_add.
Was just calling super and nothing more.
2016-04-15 13:45:41 +01:00
Youngbok Shin 726c6171bf Elementary Toolbar: Send order signals when a item is added/removed
Summary:
Send order signals for changing item's state according to its order.
It does not affect to existing themes. It sends the following signals.
	elm,order,first,item
	elm,order,default,item
	elm,order,last,item
@feature

Test Plan: N/A

Reviewers: woohyun, jaehwan, eagleeye, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3883
2016-04-15 15:10:49 +09:00
Cedric BAIL 70cc3677ae elementary: make it possible to build the library alone. 2016-04-14 16:22:23 -07:00
Davide Andreoli c23a61a49c eo: adjust direction of parameters
They are OUT params in real

Side note: the doc for this function miss the x parameter in the generated .eo.h file
...if someone want to look at the doc generation code.
2016-04-13 20:14:14 +02:00
Amitesh Singh bc9bde253a ctxpopup: pass const object ptr as argument in horizontal_get() 2016-04-13 16:11:19 +05:30
Tom Hacohen f14305024e Eo event: rename Eo_Event->event_info to Eo_Event->info.
The previous naming was redundant and too long.
2016-04-12 15:23:55 +01:00
Amitesh Singh 736fb9d498 ctxpopup: implement Efl.Orientation interface functions
Also move horizontal_set/get as legacy APIs.
2016-04-12 17:51:45 +05:30
Hermet Park 5f9e73b966 elementary/scroller: code refactoring.
try to update scroller size when popup layout is updated.
2016-04-12 00:36:12 +09:00
Jinyong Park 33d9bcc551 elc_popup: If popup's parent is resized, popup need to resized, too
Summary:
When window's size is not enough to show popup, popup resize smaller to show it in appropriate size.
But if window resize larger enough to show popup, popup is locked in small size.
On the contrary to this case, if window resize too smaller, popup has still large size, so popup doesn't display properly.

Test Plan:
1. elementary_test popup
2. maximize test list window
3. click 8th item, "popup-center-title + items + 3 buttons"
4. restore window size
5. close popup, resize window to smaller than popup in 3).
6. click 8th item, "popup-center-title + items + 3 buttons"
7. restore window size
popup size of 4. and 7. is different

Reviewers: jaehwan, cedric, raster, id213sin, singh.amitesh, SanghyeonLee

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3854
2016-04-12 00:28:55 +09:00
Jinyong Park edcfc6d036 popup : fix scale calculation in _scroller_size_calc
Summary:
when calculate real size of action area in _scroller_size_calc,
edje base scale is omitted.

Reviewers: jaehwan, id213sin, cedric, raster, singh.amitesh, SanghyeonLee, Hermet

Reviewed By: Hermet

Subscribers: Hermet, herb, jpeg

Differential Revision: https://phab.enlightenment.org/D3857
2016-04-11 23:31:03 +09:00
Ji-Youn Park e561a65c39 Elm_icon: fix build error. --; 2016-04-11 21:48:46 +08:30
Ji-Youn Park 44d6506b8a Elm_icon: move thumb_set API from eo to legacy. 2016-04-11 21:44:31 +08:30
Ji-Youn Park 02a37da0ed Elm_thumb: move all api from eo to legacy
elm_thumb,elm_icon,elm_photo will be removed.
2016-04-11 21:31:42 +08:30
Shuhrat Dehkanov eae53f2218 genlist: do not evaluate against max coord if the value is negative
Summary:
If x is already less than '0', there is no need to check if it is
bigger than pan_max_x. Likewise, if y is already less than '0',
there is no need to check if it is bigger than pan_max_y.

Reviewers: Hermet, cedric, SanghyeonLee, singh.amitesh

Reviewed By: singh.amitesh

Subscribers: seoz, minkyu, sju27, jpeg

Differential Revision: https://phab.enlightenment.org/D3865
2016-04-11 17:44:56 +05:30
Ji-Youn Park 810ebb5db8 Elm_image: remove no_scale and resizable property.
elm image add new API to deal with scale type.
if we use scale type for elm_image, we don't need to use no_scale and resizable property
2016-04-11 20:03:25 +08:30
Ji-Youn Park 7b4c23489d Elm_photo: move api from eo to legacy.
elm_photo will be deprecated in the future.
so move all api from eo to legacy.
2016-04-11 13:21:05 +08:30
Daniel Zaoui 9936b92ce3 CtxPopup: fix auto-hide property setting
Set and get functions are inconsistent one with the other. When set
function is used with a certain value, one expects the get function
to return this value.
2016-04-10 15:23:13 +03:00
Mike Blumenkrantz b6f87499e1 elm_win: force opaque update on maximize state change
enforce csd recalc to ensure accurate maximize sizing

@fix
2016-04-08 15:50:44 -04:00
Youngbok Shin f4f9753c20 Evas: Add API to reinit the language and use it in elementary.
Summary:
evas_common_language_from_locale_* functions kept static pointers
inside of its functions. Once these function was called, it was never reset.
It made big problems for harfbuzz and hyphenation. Also, Elementary
provides elm_language_set() API. Then we need to support it fully.
@fix

Test Plan: Test case for hyphenation is included in Evas test suite.

Reviewers: raster, tasn, herdsman, woohyun, z-wony, Blackmole, minudf

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3864
2016-04-08 11:24:32 +01:00
Jee-Yong Um f7a4a2b2a0 list: fix item highlight geometry correctly
Summary:
Calculation for item highlight geometry is incorrect when item
is larger than viewport geometry.
This patch adjusts highlight geometry to fit visible item size.

Test Plan: enventor (look "Settings-Text Editor-Font Names" list)

Reviewers: Jaehyun_Cho

Subscribers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D3738
2016-04-08 17:47:11 +09:00
Jean-Philippe Andre a6d7efcf73 elm_win: Fix warning (unused variable) 2016-04-08 14:19:58 +09:00
Mike Blumenkrantz 0712218537 wayland: hook engine data from elm_win and update rect with evas size
the only way to accurately calculate the "evas" size in the engine from
window geometry is to have the size of the frame available to subtract from
window geometry

window geometry is NOT framespace--framespace is the entire csd region, possibly
containing a shadow, and window geometry is explicitly the region occupied by the
window, ie. not the shadowed part.

not my ideal solution to the synchronization issue here, but I guess this is a
benefit of the unified tree

fix T3396
2016-04-07 14:19:25 -04:00
Mike Blumenkrantz 6a1c466136 elm_win: handle icon object lifetimes more accurately, use icon_name in csd icon
in the case where an icon existed upon having an icon object set, the previous icon
object would be orphaned while still being visible. the new icon would then never
be set into the csd.

@fix
2016-04-07 14:19:25 -04:00
Mike Blumenkrantz 53f0b89671 elm_win: move frame obj creation/deletion for fullscreen property to state change cb
this was broken if the compositor unset fullscreen without being prompted by
the client (eg. ctrl+alt+f). it also created timing differences for csd calcs based
on when the fullscreen call occurred in the render cycle

@fix
2016-04-07 14:19:25 -04:00