Commit Graph

3804 Commits

Author SHA1 Message Date
Cedric BAIL 0d5d832b87 elementary: add internal Efl_Ui_Model_Size.
This model enable View that require to compute the size of their items
to rely on an interface to provide the properties they need to get the object
size. This is the base class for all the sizing logic of the new List/Grid View.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7658
2019-01-30 12:06:13 -08:00
Cedric BAIL c910679917 elementary: update Efl.Ui.Caching_Factory to rely on Efl.Ui.Widget_Factory for Efl.Ui.Widget.
I am not sure we really need Efl.Ui.Caching_Factory after this, but in case we want a Caching_Factory
for non Efl.Ui.Widget, this is supported by this patch (And is the reason why most of the complexity).
The benefit from inheriting from Efl.Ui.Widget_Factory allow to get the style of an Efl.Ui.Widget
defined by an Efl.Model properly done at creation time.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Larry Lira <larry@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7705
2019-01-30 11:29:31 -08:00
Cedric BAIL aa0e89a590 elementary: add Efl.Ui.Widget_Factory.
The Widget_Factory is in charge of creating any object that inherit from Efl.Ui.Widget Class.
If the style property is connected to a model property, it will fetch it and build the widget
with that style. This factory is to be used with every View.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7704
2019-01-30 11:29:29 -08:00
Marcel Hollerbach a4ba9a351a efl_ui: mulibuttonentry is now tags
Summary:
further more it can be just included here, without this warning.
Depends on D7819

Reviewers: zmike, cedric, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7830
2019-01-30 13:44:45 -05:00
Woochanlee fe29a7a06d efl_ui_win: Load config values into gesture manager.
https://phab.enlightenment.org/T7544

The other config values will be added Later.
Differential Revision: https://phab.enlightenment.org/D7540
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz 9aca866fd1 efl.text_markup: move cursor-related methods to efl.text_markup_interactive
many users of the markup property are not interactive text cases, so splitting
off the interactive methods resolves a number of unimplemented method issues

ref T5719

Differential Revision: https://phab.enlightenment.org/D7787
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz b8617843f7 efl_ui_scroll_manager: avoid some safety check errors on deletion
only remove callbacks if pan_obj is still alive

Differential Revision: https://phab.enlightenment.org/D7822
2019-01-30 13:32:04 +01:00
Mike Blumenkrantz 08875e5e42 efl_ui: add proto for efl_ui_focus_relation_free() into header
ref T7667

Differential Revision: https://phab.enlightenment.org/D7826
2019-01-30 13:32:04 +01:00
Xavi Artigas d4ec155399 docs: Improve Efl.Ui.Tags documentation 2019-01-30 12:49:31 +01:00
Mike Blumenkrantz 77b7646d56 efl_ui: include layout header in Efl_Ui.h
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7823
2019-01-30 10:11:38 +01:00
Myoungwoon Roy, Kim 9536204023 efl_ui_list_view: Handling failed memory allocation
Summary: Add a logic for handling failed memory allocation to prevent null pointer exception

Test Plan: Run unit test cases

Reviewers: eagleeye, Jaehyun_Cho, Hermet, zmike, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: SanghyeonLee, cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7829
2019-01-30 09:47:26 +09:00
WooHyun Jung 7f2b26861f elm: prevent from accessing null pointer after memory allocation
Summary: Add null checking code just after allocating memory

Test Plan: make check

Reviewers: jypark, Jaehyun_Cho, zmike

Reviewed By: Jaehyun_Cho, zmike

Subscribers: devilhorns, zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7801
2019-01-29 09:23:44 -05:00
Christopher Michael c69b340f25 efl_ui_grid: Fix return value from macros
The function _grid_item_unpack_internal does not return a value, so
these macros should not be trying to return EINA_FALSE.
2019-01-29 08:43:57 -05:00
SangHyeon Jade Lee 8d3187b82a efl_ui : fix minor defects from converity check.
Summary: This is first coverity defect after efl_ui_grid merged.

Test Plan: build test and check exmaples.

Reviewers: eagleeye

Reviewed By: eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7812
2019-01-29 15:57:45 +09:00
Mike Blumenkrantz 497acc6722 elm_prefs: remove efl.file usage
Summary:
this is a legacy-only api which does not need to drag in unimplemented methods
from interfaces

ref T5719

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7804
2019-01-28 13:08:56 -05:00
Xavi Artigas 37393dddce focus: do not allow focus to exit a popup
Summary:
Popup windows dim the background and do not allow the user
to click outside the popup. However, pressing TAB can take
you to widgets on the background. This didn't happen in
legacy.

Fixes T7432

Test Plan: Instructions in T7432

Reviewers: bu5hm4n, stephenmhouston, Jaehyun_Cho, herb, Blackmole, zmike

Reviewed By: zmike

Subscribers: zmike, felipealmeida, lauromoura, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7432

Differential Revision: https://phab.enlightenment.org/D7171
2019-01-28 12:36:30 -05:00
Marcel Hollerbach 3278e82759 elm_map: convert paused to animation property
Summary:
this commit migrates the paused property over to the property defined by
efl.ui.zoom. This is done in order to implement all APIs in the elm_map
object.

ref T5719

Depends on D7783

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7784
2019-01-28 12:31:55 -05:00
Xavi Artigas c55299ca51 docs: Fix assorted typos in legacy documentation
Samsung reported a long list of typos in our legacy docs, this fixes them.
2019-01-28 13:14:20 +01:00
Taehyub Kim 4704fda84d efl_ui_dnd: fix the wrong parameter passing
Summary: fix the wrong parameter passing

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7797
2019-01-28 17:09:42 +09:00
Lauro Moura 95e31dbc4a elementary: Declare style as a Widget constructor
Summary: Despite being required as a use case for C# constructors, style is not yet listed as a constructing property.

Reviewers: bu5hm4n, Jaehyun_Cho, segfaultxavi, zmike, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7793
2019-01-28 16:19:09 +09:00
Larry Lira f74f0e31a7 efl_ui_list_view_seg_array: remove seg_array from Elementary.h
Summary:
Change seg_array to private

This is a leftover of https://phab.enlightenment.org/D7724

Reviewers: felipealmeida, cedric, SanghyeonLee

Reviewed By: felipealmeida

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7780
2019-01-28 15:44:46 +09:00
Mike Blumenkrantz 25925f0264 elm_photo: implement remaining efl.file methods
ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7788
2019-01-26 12:21:58 +01:00
Mike Blumenkrantz d6992432c8 efl_ui_image: implement efl.file.mmap_get
this returns the current file, though the result is that the "current file"
could be changed asynchronously after this function is called

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7781
2019-01-26 12:21:57 +01:00
Xavi Artigas b42eeb4c95 Implement missing APIs in elm_photo
This widget does not seem to support dragging things on top of it, so implement
the missing property drag_target as a readonly EINA_FALSE.

Ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7779
2019-01-26 11:42:15 +01:00
Marcel Hollerbach 5a37aebc32 efl_ui_tab_page: implement missing api
unset is now implemented, and is mirrored to the main object, just like
in the setter above.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7760
2019-01-26 11:42:09 +01:00
Marcel Hollerbach 37c115542c efl_ui_pan: implement content interface
the last two functions for the content interface have been missing.
Now the pan object can also unset and set new content

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7757
2019-01-26 11:42:08 +01:00
Marcel Hollerbach 2dacf8a69b efl_ui_scroller: support the complete efl.content API
content_get and content_unset was not added.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7756
2019-01-26 11:42:07 +01:00
Marcel Hollerbach 4c44c44e1a efl_ui_slider: this does not use anything from Efl.Content
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7783
2019-01-26 11:42:06 +01:00
Marcel Hollerbach 68d1579faa efl: introduce efl_ui_direction_readonly
the readonly mixin implement the efl_ui_direction interface and prints a
error in case it is written.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7755
2019-01-26 11:42:04 +01:00
Marcel Hollerbach c440ee442d elm_fileselector_entry: resolve missing interface api by composition
this patch will redirect every elm_interface_fileselector call to the
added fileselector button. This resolves the missing fileselector API on
the fileselector entry.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7754
2019-01-26 11:42:03 +01:00
Marcel Hollerbach 1c27529363 elm_fileselector_button: support the whole interface
this adds full support of the full elm_fileselector interface to
elm_fileselector_button.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7753
2019-01-26 11:42:02 +01:00
Marcel Hollerbach 67d9b49c1b elm_fileselector: improve documentation
lets safe up the time of the next one trying to figure out what
current_name is.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7752
2019-01-26 11:42:01 +01:00
Marcel Hollerbach 812543ad00 elm_code: remove the implementation of efl.access.text
its not implementing any of those functions, so better drop it

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7751
2019-01-26 11:42:00 +01:00
Marcel Hollerbach f00ae98a1d elm: add container api for the two objects
this resolves unimplemented API by just mirroring the calls to different
API calls.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7749
2019-01-26 11:41:59 +01:00
Jaeun Choi ee5a59a58d efl_ui_pager: remove unnecessary lines 2019-01-25 14:26:12 +09:00
Jaeun Choi cce9022de7 efl_page_indicator_icon: set size_hint_fill as 0 2019-01-25 14:26:12 +09:00
Jaeun Choi 26ed4c2776 efl_page_indicator_icon: fix update function
pd->adj is NULL if pos equals 0
2019-01-25 14:26:12 +09:00
Jaeun Choi 719b129dde efl_page_indicator_icon: refactor update function 2019-01-25 14:26:12 +09:00
Jaeun Choi 08fa28f341 efl_page_indicator_icon: mark selected item in pack function if necessary 2019-01-25 14:26:12 +09:00
Jaeun Choi c442c0972a efl_page_indicator_icon: refactor if-else statement 2019-01-25 14:26:12 +09:00
Jaeun Choi a91197537c efl_ui_pager: implement unpack function 2019-01-25 14:26:08 +09:00
Jaeun Choi bfce85d163 efl_page_indicator: add unpack function 2019-01-25 13:47:38 +09:00
Jaeun Choi 5fcb50ebb0 efl_page_indicator: add a variable 'curr_idx; in data 2019-01-25 13:47:37 +09:00
Jaeun Choi 92dbe39ba2 efl_page_indicator_icon: remove unnecessary function
invalidate function is not necessary since each item is deleted
when it's parent (box) is deleted.
2019-01-25 13:47:37 +09:00
Jaeun Choi 591f18f2af efl_page_transition_scroll: fix _efl_page_transition_scroll_update() function
% operator should not be used when loop is disabled
2019-01-25 13:47:37 +09:00
Jaeun Choi 4dc8712aba efl_page_transition_scroll: remove _content_show() function
_content_show() function was used in page_info_geometry_change() and
_efl_page_transition_scroll_loop_set() function since they need to
show/hide page info objects in common. but using a common function
made each function inefficient and buggy.
this patch removes _content_show() function.
2019-01-25 13:47:37 +09:00
Jaeun Choi 0b63181113 efl_page_transition_scroll: refactor calculation code for beffer readability 2019-01-25 13:47:37 +09:00
Jaeun Choi 90865582b5 efl_ui_pager: make loop set function to return boolean value
loop mode might not be available if the number of pages is
less than required to make a loop
2019-01-25 13:47:37 +09:00
Jaeun Choi 5aff25dc19 efl_page_transition_scroll: remove unnecessary line 2019-01-25 13:47:37 +09:00
Jaeun Choi 5d1017d104 efl_ui_pager: move page_box when page size is changed 2019-01-25 13:47:37 +09:00
Jaeun Choi d927668b64 efl_ui_pager: add missing cases in pack_at function 2019-01-25 13:47:37 +09:00
Jaeun Choi 716590db50 efl_ui_pager: set current page as -1 when pager is empty
it makes more sense that the current page number is -1 when pager is empty
since numbering starts from 0 when pager actually contains pages.
this patch also fixes a bug in pack_begin function, in which
the current page is increased by 1.
2019-01-25 13:47:37 +09:00
Jaeun Choi 933bc7f6e1 efl_ui_pager: use '++' instead of '+= 1' 2019-01-25 13:47:37 +09:00
Jaeun Choi 86de58676f efl_ui_pager: add missing conditions in pack before/after function
the functions should return if the 'existing' object is not in the content list
2019-01-25 13:47:37 +09:00
Jaeun Choi b2a0db1d1b efl_ui_pager: add missing condition in current page set function 2019-01-25 13:47:37 +09:00
Jaeun Choi bd5ac14411 efl_ui_pager: return some functions if pager is in the middle of animation
after this patch is applied,
if users try to pack a page object or bind a transition object
to a pager while it is in the middle of page changing animation,
related functions do nothing and just return.
2019-01-25 13:47:37 +09:00
Jaeun Choi 6d94eb1165 efl_ui_pager: removed unnecessary lines 2019-01-25 13:47:36 +09:00
Jaeun Choi 737ef183bb efl_ui_pager: add missing NULL checks 2019-01-25 13:47:36 +09:00
Jaeun Choi f2ce776413 efl_page_transition_scroll: removed unnecesary variable 2019-01-25 13:41:52 +09:00
Jaeun Choi 99a55142b5 efl_page_transition_scroll: code refactoring in curr_page_change function
- removed unnecesary codes
- moved codes for better cohesion
2019-01-25 13:41:52 +09:00
Jaeun Choi 1645be2d49 efl_page_transition_scroll: bug fix in curr_page_change function
mark when a page's content is unset so that it can be refilled when necessary
2019-01-25 13:41:52 +09:00
Jaeun Choi aeda5e697f efl_page_transition_scroll: code refactoring in update function 2019-01-25 13:41:52 +09:00
Jaeun Choi 690269e055 efl_page_transition_scroll: bug fix in update function
since page_infos are connected in a circular manner,
one node (head or tail) moves in the opposite direction when scrolled.
there was a bug in hiding such nodes and
this patch fixes it.
2019-01-25 13:41:52 +09:00
Larry Lira 7e0a5a7cf2 efl_ui_list_view: Hide SegArray and PreciseLayouter
Summary:
Changed seg_array eolian class to struct
Changed PreciseLayouter and Relayout to private eolian
Removed relayout set/get in Efl.Ui.List.View

Reviewers: cedric, felipealmeida, SanghyeonLee

Reviewed By: cedric, felipealmeida, SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7724
2019-01-24 22:29:57 +09:00
Marcel Hollerbach 993c843291 efl_ui_layout: use the correct object
the obejct used in D7740 have been false.
Here comes the fix + a few tests.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7746
2019-01-24 10:24:50 +01:00
Michael Bouchaud (yoz) eb10662030 elm_gesture_layer: Allow a negative zoom with scroll wheel
Summary:
In my point of view, we have no reasons to forbid a negative zoom here.
This make gesture_layer more user friendly as we have no more arbitrary
constaint. (A good example is elm_map)

Reviewers: tasn, zmike, raster, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7725
2019-01-24 10:05:35 +01:00
Mike Blumenkrantz d483302a13 efl_ui_image: implement remaining efl.layout.calc methods
this is just proxying the method calls onto the inner edje object if
the image is an edje object

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7741
2019-01-24 08:24:33 +01:00
Mike Blumenkrantz 70827b4d7e efl_ui_layout: implement remaining efl.layout.calc methods
this is just proxying the method calls onto the inner edje object

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7740
2019-01-24 08:24:32 +01:00
Marcel Hollerbach 04c2d313d7 efl_ui_image: implement the last two APIs from edje
Summary:
this just takes the API and redirects it to the internal edje object if
there is any. If there is no edje object, then just default values are
returned.

ref T5719
Depends on D7738

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

Differential Revision: https://phab.enlightenment.org/D7739
2019-01-23 14:55:51 -05:00
Marcel Hollerbach 7c5c93eac0 elm: note down all composite sections for widgets
Summary:

A lot of new widgets are using the new Scrollmanager class, the instance of this class is then attached via composition to the widget. This is providing the implementation for Efl.Ui.Scrollbar & Efl.Ui.Scrollable_Interactive.

In the text widgets the same applies to the internal interactive text widgets.

The tags widget is using the text entry as composite, and thus provides efl.ui.text api.

The addition of those composite { } sections are removing the particular unimplemented APIs from the eolian errors.

ref T7652
Depends on D7737

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7738
2019-01-23 14:55:44 -05:00
Marcel Hollerbach 0c5e2594a8 efl_ui_widget_focus_manager: this uses composition to call focus manager
Summary:
ref T7652
Depends on D7735

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7737
2019-01-23 14:55:37 -05:00
Marcel Hollerbach 116ad5ac70 efl_ui_video: Efl.Player is used from the emotion object.
Summary:
ref T7652

Depends on D7734

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7735
2019-01-23 14:55:23 -05:00
Marcel Hollerbach 83b8862bc4 efl_ui_focus_object: provide empty on_focus_update function.
Summary:
there is no point in forcing users of this to implement on_focus_update.

ref T7652

Depends on D7733

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7734
2019-01-23 14:55:17 -05:00
Marcel Hollerbach 5289bd2e93 efl_ui_win: this object calls composite_attach for efl.config
Summary:
ref T7652

Depends on D7732

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

Differential Revision: https://phab.enlightenment.org/D7733
2019-01-23 14:55:10 -05:00
Mike Blumenkrantz 09a83d2161 efl_ui_win: move base and step size hints here
these hints are not relevant to anything but window objects, so put them
onto the window object

ref T5719

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7729
2019-01-23 16:43:05 +01:00
Marcel Hollerbach a2162b90ca efl: split efl_ui_range into display and interactive
display contains properties that are used to manipulate the display.
Range_step is a interactive property since it manipulates the way the
user interacts with this widget. This resolves a few unimplemented APIs.

ref T5719

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7715
2019-01-23 16:43:02 +01:00
WooHyun Jung 3b35bacc80 efl_ui_widget: set a proper legacy name for widget_parent_set
Previously, legacy name of this property was "elm_widget_parent_set".
But, in efl_ui_widget.eo.legacy.h, it's current name is
"elm_widget_widget_parent_set" which is not matched well with
"elm_widget_parent_get" at all.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7666
2019-01-23 08:11:53 +01:00
Marcel Hollerbach 062bc5f25c efl_access: add free functions to efl_acces_object types
there are owned types in eolian, therefore a free function should be
defined on the types that are owned.

Reviewed-by: Lukasz Stanislawski <l.stanislaws@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7711
2019-01-22 14:02:40 +01:00
Lukasz Stanislawski 256367384a efl_access: add free function to Efl_Access_Text_Range struct
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7717
2019-01-22 14:02:39 +01:00
Marcel Hollerbach d326b3e6e1 efl_ui_list_view_types: add a free function to the struct type
this type is used with @owned, which means, it needs a free function.
So we can ensure everything that is owned also has a free function

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7640
2019-01-22 14:02:38 +01:00
Marcel Hollerbach 5c1fde2c57 efl: add free functions to owned types
this commit is a first step in order to add free functions to all the
types that are owned.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7627
2019-01-22 14:02:37 +01:00
Marcel Hollerbach 7f283f0ece elm: restore old elm_web behaviour
Everything that is owned must have a free function. In commit
1afd3c215f the string was
converted to const(string) it was not const before.
So this is converting back to the old behaviour.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7626
2019-01-22 14:02:36 +01:00
Boris Faure e80918643d elm.hoversel: ensure sd is not NULL
Summary: elm.hoversel: ensure sd is not NULL

Reviewers: cedric, zmike, raster

Subscribers: raster, zmike, #reviewers, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7706
2019-01-21 19:30:12 +01:00
Jaeun Choi dab4d8d8a4 elm_panel: show/hide panel according to hidden status
when panel becomes non-scrollable by elm_panel_scrollable_set() function,
the panel needs to be shown/hidden according to the hidden status.
this patch implements it.
2019-01-21 19:07:51 +09:00
Jaeun Choi 368ab45b26 elm_panel: reset layout theme when scrollable mode is changed
after a panel becomes scrollable, it has two layout objects internally
and only one of them is active. when elm_panel_orient_set() function
is called, only the active layout's theme is changed according to
the orientation. so if scrollable mode is changed after that, it shows
the old theme. this patch fixes it.
2019-01-21 15:01:05 +09:00
Derek Foreman d14c700e9d efl_ui_widget: Save some pointer indirection
We're getting the same widget data twice, as well as testing if the
object is a widget twice.  Let's do these things once.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7698
2019-01-18 13:59:32 -06:00
Derek Foreman 014705c740 elm_code: Pass widget data to _elm_code_widget_fill_line
We already have this looked up in all callers, and the lookup is mind
smashingly heavy.  Just use what we have.

ref T6209

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7694
2019-01-18 13:06:37 -06:00
Derek Foreman ec910c5bb9 elm_code: Don't update selection if it didn't change
Summary:
Mouse motion can cause multiple worthless selection updates with no
change to row or column.  Discard updates that don't really update.

ref T6209
Depends on D7692

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6209

Differential Revision: https://phab.enlightenment.org/D7693
2019-01-18 12:35:26 -05:00
Derek Foreman 965cb9d28d elm_code: Pass data to status_type_get
Summary:
Every single call path has already dearly paid the price of pointer
indirection so let's save a few million extra look-ups and just pass
it along.

ref T6209

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6209

Differential Revision: https://phab.enlightenment.org/D7692
2019-01-18 12:20:59 -05:00
Marcel Hollerbach 95160ab136 efl: convert all interfaces to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7687
2019-01-18 16:31:31 +01:00
Marcel Hollerbach 3b6a9152c1 efl: convert all abstracts to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7686
2019-01-18 16:31:30 +01:00
Marcel Hollerbach 4fc83c9cbb efl: convert all mixins to new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7685
2019-01-18 16:31:28 +01:00
Marcel Hollerbach 34efdfb1b1 efl: convert all classes to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7684
2019-01-18 16:31:26 +01:00
Jaeun Choi 4d0289bb9f elm_panel: fix a bug in elm_scrollable_mode_set() function
when panel becomes scrollable, the function blocked scrolling
assuming that the panel is hidden. this caused an issue case
when panel becomes scrollable while it is open.
this patch fixes the issue.
2019-01-18 16:26:44 +09:00
Marcel Hollerbach 203b841eb9 elementary: make elm.web abstract
Summary:
elm.web is never used directly only as abstract class that gets
implemented in elm.web.none. Thus making it abstract does make sense.
Depends on D7671

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7672
2019-01-17 17:17:40 +01:00
Daniel Kolesa c4f05a0306 elementary: remove leftover header include 2019-01-17 15:56:33 +01:00
Daniel Kolesa 0976e9adf3 elementary: internalize elm_combobox, expose legacy only
This is bad eo API, and won't remain like that, so completely
remove it from being managed by Eolian.
2019-01-17 15:54:24 +01:00
Christopher Michael c98288c20e efl_ui_focus_object: Don't pass NULL to child_focus_set
When starting elementary_test, efl_ui_focus_object_child_focus_set is
getting passed NULL on startup because elm_test window has no parent.
This makes it difficult to debug and fix T7030 issues. In order to fix
the issue, this patch checks for a valid parent before calling
efl_ui_focus_object_child_focus_set so that it no longer gets passed
NULL on elm_test startup and we can set breakpoints on eo.c:637
without getting interrupted at startup.

ref T7030

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7677
2019-01-17 14:45:15 +01:00
Marcel Hollerbach 9fefc35308 Revert "evas: make efl_canvas_group abstract"
This reverts commit ae65c64b8d.

It appears that abstract -> abstract enforcement is not needed anymore,
the other patches are fine. However, this one proposes a new object
which is not needed to exist.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7676
2019-01-17 13:58:08 +01:00
Yeongjong Lee d44c7713cc elm_panel: fix visibility when switching scrollable mode
Summary:
There are two proplem when switching scrollable mode.
1. a previous layout does not disappear.
2. internal evas_box(sd->bx) should set on "elm.swallow.content" part.

This patch hide remained previous layout and set evas_box to "elm.swallow.content"
part directly.

Thanks to arosis for reporting and sample code.

Test Plan: P262

Reviewers: arosis, eunue, Jaehyun_Cho

Reviewed By: eunue

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7667
2019-01-17 17:40:37 +09:00