Commit Graph

237 Commits

Author SHA1 Message Date
Mike Blumenkrantz 51e86a4c0d elm_genlist: throw CRI when group item insertion fails
this really needs a better solution since it results in a blank genlist
item space, with the item itself typically located somewhere offscreen due
to caching
2016-04-30 14:31:29 -04:00
Mike Blumenkrantz 43d82e567a elm_genlist: when appending items to the parent, prepend to the parent
the parent/group item is located after its child items in the list of items,
so if an item is appended to the parent's list of items then it must be
prepended to the parent or else it will end up being in the wrong group

@fix
2016-04-30 14:26:51 -04:00
Mike Blumenkrantz 5c933b0176 elm_genlist: accurately handle contents for cached items
more fixes for the comically unreviewed revision from elm which continues
to cause bugs months after it was pushed

ref 4c86a66f28876b68e92a90c8f741eed1130dd034 (elm)
ref e88423e994
2016-04-30 13:53:46 -04:00
Mike Blumenkrantz 673f703bb0 elm_genlist: outdent _item_content_realize() harder
no functional changes
2016-04-30 13:53:41 -04:00
Yeshwanth Reddivari f7e1be2062 spin interface: common interface for flipselector and spinner
Summary:
Added common interface for flipselector and spinner.
Implemented APIs of spinner like min_max_set, step_set, value_set etc in flipselector.

Test Plan: elementary_test

Reviewers: raster, jpeg, singh.amitesh, woohyun, SanghyeonLee, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-29 18:56:51 -07:00
Larry Jr 0c76f82a31 Efl, Eio, Eldbus, Elementary: new model API use eina_promise
Efl - efl_model_base changed to use eina_promise
Eio - eio_model use efl_model_base with promise
Eldbus - elddbus models use promise now
Elementary - elm_view_list and elm_view_form use new models with promise

updated all related examples and tests
2016-04-29 13:21:24 -03:00
Jaeun Choi a5a44b0104 Elm_Image: add and remove eo properties related to image scaling
This patch adds scale_type and scalalable property
and removes fill_inside and aspect_fixed property
2016-04-29 14:06:52 +09:00
Tom Hacohen 46ac246a31 Elm combobox: composite attach objects after reparenting.
This fixes the segfault reported by Jack.

The problem was that the object was being reparented and thus
removed from the composition and never added back.
2016-04-28 15:54:49 +01:00
Andy Williams fd422c48d1 elementary: remove fdo caching and fallback code
The hicolor fallback requirement is handled by efreet
and the usage of fdo is user specified now not by code.
This means the only (theoretical) way this could be a
problem is if the user removes a theme.
This seems like a good tradeoff to remove the overhead
and enable the apps to switch icons based on config change.
2016-04-28 15:31:55 +01:00
Andy Williams 3d0eff2199 elementary: Don't force elm theme over fdo icons
Make sure we don't mmap icons if we're using external sources
2016-04-28 15:00:08 +01:00
SangHyeon Lee 0181a940f1 Revert "genlist: recalc item size after item content field updated"
This reverts commit b48d3eb04e.

This patch can be occurred performance issue.
update is needed for only non-homogeneous case.
I'll revert patch and update new patch in phabricator for check.
2016-04-28 16:04:54 +09:00
SangHyeon Lee 5f7f59b3d8 Revert "genlist: scroll to item when calc is done"
This reverts commit 87b12327c3.

This patch occurred some side effect.
Need to fix the code without any side effect.
2016-04-28 16:04:54 +09:00
Hermet Park df96735657 elementary/elm_prefs: preserve compatibility.
C++ doens't allow empty size structure, empty structure looks harmful.

I've thought about the solution and this patch is my conclusion.

Because I'm not a big fan of elm_prefs,
if you have any better idea then please fix it on your way.
2016-04-28 14:12:16 +09:00
Stefan Schmidt 086bd74da9 docs: enhance the calendar eo widget documentation
A lot of cleanup on the parameter docs and filling some gaps. This one still
needs more work.
2016-04-27 17:37:08 +02:00
Stefan Schmidt f236bde0a5 docs: enhance button documentation for eo widget
Class description and setter and getter cleanup and also filling up some
doc gaps.
2016-04-27 17:37:08 +02:00
Stefan Schmidt 71a16c27ba docs: enahnce elm bubble widget documentation 2016-04-27 17:37:08 +02:00
Stefan Schmidt f37e535d81 docs: enhance documentation for elm background EO class
Class description and cleanuing up getters and setters.
2016-04-27 17:37:08 +02:00
Stefan Schmidt 935e3c9419 docs: elm_access: add class description 2016-04-27 17:37:08 +02:00
Stefan Schmidt 7d0dd857ce docs: enhance docs for elm actionslider
Class description and some cleanup for getter and setter.
2016-04-27 17:37:08 +02:00
Ji-Youn Park 3f82fd1658 elm_image: add new method elm_image_icon_set to replace elm_icon_standard_set
we will remove elm_icon in the future.(only remain it in legacy)
for this, I added elm_image_icon_set API to the elm_image.
it is same as elm_icon_standard_set.
2016-04-27 22:05:23 +08:30
Andy Williams 636a1ae3de elementary: Update icon name docs
Trying to make it clear what's a FDO standard name
and which names that work should be avoided
2016-04-27 00:37:58 +01:00
Andy Williams 36113b1535 elementary: fix a few non-standard icon names
moving the widgets away from non-standard names.
Tidy the icon sets to clarify what's standard.
2016-04-27 00:01:08 +01:00
Andrii Kroitor 802e671cda elementary: fix genlist tree filters
Summary:
In tree mode if parent item is hidden all its subitems should also be hidden.
@fix

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: jpeg, reutskiy.v.v

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-26 14:54:39 -07:00
Youngbok Shin 9e2b06cf98 elementary interface/scrollable: remove duplicated function calls for bars
Summary:
 *_visibility_apply() functions are called from each *_visibility_adjust()
function. And it is also called from _elm_scroll_scroll_bar_size_adjust().
So, calling *_visibility_apply() functions after calling
_elm_scroll_scroll_bar_size_adjust() is unnecessary.
@fix

Test Plan: N/A

Reviewers: raster, jaehwan, eagleeye, woohyun, cedric

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-26 14:54:39 -07:00
Vyacheslav Reutskiy 287f84baaf elm_genlist: fix the sorted insert after expanded tree item
Insert a new item after subitem of ELM_GENLIST_ITEM_TREE item, if
it expanded.

@fix
2016-04-26 15:16:09 +03:00
Ji-Youn Park 3279d4fae8 elm_icon: move lookup_order and standard feature from eo to legacy 2016-04-26 17:24:51 +08:30
Jean-Philippe Andre ff8ee01432 Efl: Rename some packing functions and return bool
This renames some APIs from Efl.Pack in order to try and
make them more sensible. Feedback welcome.

Also, most APIs now return bool, where false is quite unlikely
to happen.
2016-04-26 16:48:55 +09:00
Jean-Philippe Andre e7f0b64860 Elm.Layout: Replace box & table part API by fake object
This moves the part_box and part_table APIs to a fake object
like was done in Edje Object.

This also adds support a few new APIs to those containers,
so they behave exactly like Edje.Object.

This is another implementation bit of "eo_part".
2016-04-26 14:16:32 +09:00
Jean-Philippe Andre 62caefdf0e Elm.Layout: Implement content_remove 2016-04-26 14:09:36 +09:00
Jean-Philippe Andre f7f1862489 Elm.Win: Implement container & pack APIs
This replaces resize_object APIs.
2016-04-26 14:09:36 +09:00
Jean-Philippe Andre 32b622f08d Efl.Pack: Add content_at_remove
This will match Edje Box remove_at
2016-04-26 11:36:23 +09:00
Jean-Philippe Andre d962705e41 Elm.Layout: Protect some functions 2016-04-26 11:36:23 +09:00
Jean-Philippe Andre 902950018b Efl: Introduce Efl.Container and unify APIs
This removes Efl.Pack_Named which had a terrible name,
removes Elm.Container which should have been renamed
Efl.Ui.Container anyway, and introduces an interface
Efl.Container instead.

The hierarchy tree is now changed as objects don't inherit
from Efl.Container (it's an interface, not a regular class)
but only implement it. Obviously it is very easy to
reintroduce an Efl.Ui.Container parent class if we need it,
but I guess it should have some actual logic. It's basically
part of what Elm.Widget already does.

Some function names have been modified to look better in C
with the efl_content prefix.

@feature
2016-04-26 11:36:23 +09:00
Andy Williams 8c02bf5be6 elementary: Move icon lookup order to user specified theme.
As discussed on the mailing list we're taming the icon_standard code.
This means that icon themes are set by the user not the app.
Deprecate all the icon_lookup calls etc and remove the behaviour.
Add a config panel to elementary_config where the theme can be selected.
2016-04-26 00:00:33 +01:00
Andy Williams 9a3a8a1eb2 elementary: Provide the user an icon config gui
This allows users to specify the theme (elm or fdo)
to use in elm apps.
I'll hook this into E as well...
2016-04-25 23:39:58 +01:00
Andy Williams 339e572171 elementary: clean code and tests of order_lookup
User configuration has replaced the code based setting of lookup
2016-04-25 19:30:23 +01:00
Andy Williams 5bb29101a9 elementary: Replace icon lookup_order with icon_theme.
The definition of where to load icons is now up to the user
(through the configuration of the icon_theme config value)
rather than being defined in code per-app or even per-component
2016-04-25 16:57:13 +01:00
Andy Williams 4c0fc7559c elementary: Add user setting for icon theme
Beginning of the icon lookup rework.
The library will now store user preference for
the icon theme to use.
2016-04-25 14:56:55 +01:00
Youngbok Shin c0fa31d6f4 Elementary toolbar: Fix flickering issue from resizing the box multiple times
Summary:
The toolbar's box was resized in _sizing_eval(), _resize_job().
In _sizing_eval(), the box was resized according to its minimum size.
And in _resize_job(), toolbar would recalculate it and resize the box again.
If _sizing_eval() was called after resizing the box properly from _resize_job(),
the box was shrank before calling the next job.
If the box's minimum size is needed for calculation in the job callback,
it shouldn't change box's size before the job callback.
@fix

Test Plan: N/A

Reviewers: jaehwan, eagleeye, woohyun, cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3911
2016-04-25 19:38:03 +09:00
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