Commit Graph

4251 Commits

Author SHA1 Message Date
Marcel Hollerbach 930f481eee efl_ui_tab_bar: remove Efl.Ui.Clickable
Summary:
nothing here uses this directly, and nothing emits events. For now the
implementation is removed. If this is required later on, it can be
readded.

Depends on D8826

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8827
2019-05-14 15:51:06 -04:00
Marcel Hollerbach 282b76e2bd efl_ui_panes: migrate to efl_ui_clickable
Summary:
the implementation of efl_ui_clickable is now used to tricker the
events. efl,action,click and efl,action,click,double is not needed
anymore from the theme.

Depends on D8824

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8825
2019-05-14 15:50:53 -04:00
Marcel Hollerbach 59dab13bfa efl_ui_text: migrate to efl_ui_clickable
Summary:
This now uses the efl_ui_clickable mixin. It is impossible right now to
test this in the test suite, as every single configuration of the
efl.ui.text object is ending up in an error. Which is not allowed in the
test suite. Additionally, simulating clicks on the objects gets it into
some sort of inifinite recursion when asking for cursor positions.

Depends on D8823

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8824
2019-05-14 15:50:47 -04:00
Marcel Hollerbach 8429ffba9c efl_ui_image: migrate to efl.ui.clickable
Summary:
the mixin is now used to emit the events of the mixins. This is verified
by the testsuite. The testsuite needs a special treatment for the
object, because a missing image-file of the object would result in a 0x0
image size.

Depends on D8822

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8823
2019-05-14 15:50:39 -04:00
Marcel Hollerbach bb1388798b efl_ui_button: port to efl.ui.clickable
Summary: Depends on D8820

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8821
2019-05-14 15:50:25 -04:00
Marcel Hollerbach 64923b8db1 efl_ui: move clickable from efl to efl_ui
Summary:
efl_ui_clickable is now a mixin. The mixin now brings two APIs the press
and unpress API can be used to tell the implementation the state of the
presses. Within the implementation the calls to press / unpress are then
converted to longpress / clicked events.

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8820
2019-05-14 15:50:15 -04:00
Xavi Artigas 7f907ecd9d efl-mono: Use Efl.Ui.Win API instead of Elm.Policy
Summary:
This removes another bit of legacy API from the C# bindings.
This also reverts "elm: Put back Policy and Policy_Quit in EO files"
(a9132a9a66) so that these two Elm enums are
definitely out of the EO files.

Test Plan:
Everything, including mono bindings, continue to build.
At runtime, C# apps still exit when all windows are closed.

Reviewers: lauromoura, vitor.sousa, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8890
2019-05-14 14:33:21 +02:00
Marcel Hollerbach b3d7e9128b elc_fileselector: make a few events again legacy
Summary:
the events changed here should not be used. They should use legacy
events.

Depends on D8816

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8819
2019-05-13 15:14:20 -04:00
Marcel Hollerbach 41e1dadbf1 elementary: do not emit new events in legacy
Summary:
This commits prepares the tree in order to mess with the events in the
Efl.Ui.Clickable event. Events which have been emitted in a none legacy
widget, are now emitted either with evas, when the widget is legacy due
to inheritance. Or via the normal event and normal event functions.

In case the widget is a legacy only widget (not used at all in the new
api), then the events are for now emitted with
evas_object_smart_callback_call.

Cases where event handlers have been added to legacy widgets, smart
events are now used, and not the eo one anymore.

ref T7844

Depends on D8813

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7844

Differential Revision: https://phab.enlightenment.org/D8816
2019-05-13 15:14:13 -04:00
Marcel Hollerbach d29edceade efl_ui_clickable: move repeat event
Summary:
the repeat event is only emitted by the implementations of
efl_ui_autorepeat. Additionally, the event should only be used by those
who implement this interface.

Depends on D8832

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike, segfaultxavi

Subscribers: jpeg, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8813
2019-05-13 15:14:03 -04:00
Marcel Hollerbach 4a7dc32f61 elm_panel: do not use the unfocusable state here
Summary:
the widget itself is a focus_layer which means, the tree is orphaned and
cannot be accessed until the panel is visible. There is not need for us
to manually track this state.

fix T7908
Depends on D8831

Reviewers: marcellus, zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7908

Differential Revision: https://phab.enlightenment.org/D8832
2019-05-13 15:13:54 -04:00
Xavi Artigas a9132a9a66 elm: Put back Policy and Policy_Quit in EO files
In e027ad2626 these enums were moved to header files, which is correct,
since they are legacy and should not be present in EO files.
However, the C# bindings are still using them.
Until nobody is using these two enums, adding them back to EO fixes the build.
2019-05-13 11:27:40 +02:00
Shinwoo Kim 4e6539725e Efl.Ui.Textpath: enhance to support legacy API
Summary:
The legacy API is available after https://phab.enlightenment.org/D7033 but
internal function does not care of it. This change makes textpath work with
the legacy style file(./data/elementary/themes/edc/elm/textpath.edc).

Reviewers: Hermet, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8875
2019-05-13 13:09:24 +09:00
Myoungwoon Roy, Kim fe56c04b59 docs: Fix a wrong ingroup name of textpath.
Summary:
This patch fixes the wrong ingroup name of elm_textpath APIs.
Elm_Textpath had been defined in elm_textpath.h
enum values had been included into Efl_Ui group
So I had modified all APIs and enum values to be inclused in Elm_Textpath_Group.

Test Plan: run unit test cases

Reviewers: segfaultxavi, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8885
2019-05-13 13:06:54 +09:00
Cedric BAIL 5fa78a44d8 elementary: move Fileselector to rely on Efl.FilterModel for filtering instead of custom logic.
This simply a bit the logic of things, but more refactoring would be nice for this widget.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8799
2019-05-10 11:00:35 -07:00
Vincent Torri 7b44b02e10 elementary genlist: fix potential uninitialized variable.
Test Plan: compilation

Reviewers: raster, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8874
2019-05-10 10:01:59 -04:00
Daniel Kolesa 6312cafe20 eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
Daniel Kolesa e027ad2626 elm: (re)move some legacy types/enums back to header
These are legacy-only and not used anywhere in .eo files, so
move them where they belong. They are still used within impls
around the place. The others can't be moved as they are still
used in .eo files in places, that has to be dealt with separately.
2019-05-09 15:03:00 +02:00
Vincent Torri b141c42e3f Evil: remove wrapper around getcwd()
Summary: getcwd() is declared in direct.h

Test Plan: compilation

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8858
2019-05-08 08:39:36 -04:00
Hermet Park 6d78454142 efl_ui_textpath: remove err log in none error case. 2019-05-07 17:35:06 +09:00
Ali Alzyod 9d5456cfbe efl_ui_text: clear selection after cut
Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1

#include <Eina.h>
#include <Elementary.h>
#include <Efl_Ui.h>

static void
_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
   efl_exit(0);
}

static void
_gui_setup()
{
   Eo *win, *box;

   win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                 efl_text_set(efl_added, "Hello World"),
                 efl_ui_win_autodel_set(efl_added, EINA_TRUE));

   // when the user clicks "close" on a window there is a request to delete
   efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);

   box = efl_add(EFL_UI_BOX_CLASS, win,
                efl_content_set(win, efl_added),
                efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));

   efl_add(EFL_UI_TEXT_CLASS, box,
           efl_text_markup_set(efl_added, "Hello World.<ps>This is an <b>Efl.Ui</b> application!"),
           efl_text_interactive_selection_allowed_set(efl_added, EINA_TRUE),
           efl_text_multiline_set(efl_added,EINA_TRUE),
           efl_gfx_hint_weight_set(efl_added, 1.0, 0.9),
           efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
           efl_pack(box, efl_added));

   efl_add(EFL_UI_BUTTON_CLASS, box,
           efl_text_set(efl_added, "Quit"),
           efl_gfx_hint_weight_set(efl_added, 1.0, 0.1),
           efl_pack(box, efl_added),
           efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
                                  _gui_quit_cb, efl_added));
}

EAPI_MAIN void
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
{
   _gui_setup();
}
EFL_MAIN()
```

Reviewers: woohyun, bowonryu, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8833
2019-05-07 10:30:46 +02:00
Ali Alzyod bfaec01987 elm_entry: speed up setting text (check if same text is already set), fix setting same text pointer
This patch deal with two cases:

1- Setting text in Entry (elm_entry_entry_set) , as the one get using (elm_entry_entry_get), caused the entry to become empty.
     * becase entry string was free inside the elm_entry_entry_set function, without checking new passed string.

Now we check if same string was passed to the function, then nothing need to be changed.

```
// Old Behaviour : Entry will become empty
// New Behaviour : Entry will Skip setting same text
elm_entry_entry_set(app->entry, elm_entry_entry_get(app->entry));
```

2- Setting text in Entry (elm_entry_entry_set) , with same content string.
     * internally entry will set empty string then set passed string, which will case recalculation and re-render the entry element.

Now we check if same string data that is passed to the function is the same of the entry content, then nothing need to be changed.

```
// This will be skiped internally since same text is set
elm_entry_entry_set(app->entry, "aaaaa");
elm_entry_entry_set(app->entry, "aaaaa");  //skipped
```

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8572
2019-05-06 17:07:29 +02:00
Mike Blumenkrantz 1ad1ea84fd meson: set HAVE_ELEMENTARY_WIN32 on windows
this enables windows engine selections and other functionality

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8728
2019-05-06 17:00:51 +02:00
Daniel Kolesa 653fddfc1e eolian: add support for marking and checking parts as beta
Fixes T7837.
2019-05-05 17:07:26 +02:00
Marcel Hollerbach 1f7cb3e7c8 efl_ui_navigation_bar: remove Efl.Content implemention
Efl.Content implementation is here quite useless. The default part is
not in the theme, the setting will just error out. And from my POV, a
default content would not make sense.

ref T7817

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8807
2019-05-03 17:16:40 +02:00
Marcel Hollerbach 1baf3ba772 efl_ui_autorepeat: get rid of supported property
the property should not exist. if something is not supported then do not
inherit from this interface. If something wants to use the button
theme, then this can be easily used via API.

In legacy we already have the situation that things inherit from the
button class. To solve this, the enabled call is disabled on those
widgets, and disable every time it is called.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8805
2019-05-03 17:16:38 +02:00
Vincent Torri 7db4714db6 replace strndup with eina_strndup, remove strndup definition in evil and elm_test_dnd
Test Plan: compilation

Reviewers: cedric, zmike, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8814
2019-05-03 13:13:57 +01:00
Yeongjong Lee 2426656fd6 ui.relative_layout: implement Efl.Pack
Now, efl_content_iterate, efl_content_count, efl_pack, efl_pack_unpack,
efl_pack_unpack_all and efl_pack_clear are available for relative_layout.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8631
2019-05-03 11:53:54 +02:00
Lauro Moura c06486ca49 cxx: Fix missing bits from header rename
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8811
2019-05-03 08:47:14 +02:00
Lauro Moura e38fc2264c cxx: Rename Elementary.hh into Efl_Ui.hh
Also include Efl_Ui.h alongside Elementary.h (the latter is still needed
by some widgets).
2019-05-02 21:00:57 +02:00
Radoslaw Cybulski a69392e838 Fix for invalid ATSPI role on naviframe page element
ATSPI role page_tab was set on invalid object and thus ignored.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8789
2019-05-02 18:14:42 +02:00
Xavi Artigas c90d8eb1a5 efl-mono: Add markup support to Efl.Ui.Text
Summary:
Markup support is added to Efl.Ui.Text through runtime composition, but the C#
bindings do not know about it unless Efl.Text_Markup appears in the hierarchy.

Test Plan: The Markup property is available now for Efl.Ui.Text, it can be used and renders the expected results.

Reviewers: lauromoura, bu5hm4n, zmike

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8758
2019-05-02 18:13:13 +02:00
Marcel Hollerbach 6fc04bf6b5 efl_ui_pager: track lifetime of children
when a child is deleted (externally), the widget should be forgotten
internally.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8751
2019-04-30 20:45:53 +02:00
Marcel Hollerbach 3fd16508a6 efl_ui_pager: error when you try to delete something which unavailable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8750
2019-04-30 20:45:52 +02:00
Marcel Hollerbach 79bc6ed244 efl_ui_pager: redirect deleted objects to the top
otherwise we would not give up ownership of the widget

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8749
2019-04-30 20:45:51 +02:00
Marcel Hollerbach 8049d8a255 efl_ui_pager: implement rollover behavior
this behavior is implemented in efl_pack, so this should be in this
implementation.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8748
2019-04-30 20:45:50 +02:00
Marcel Hollerbach ea4b840539 efl_ui_widget: error on NULL passing
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8747
2019-04-30 20:45:49 +02:00
Marcel Hollerbach 7965e2e10f efl_ui_pager: refactor object addition
this reduces LOC and keeps functionality.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8746
2019-04-30 20:45:48 +02:00
Marcel Hollerbach cf05507bee efl_ui_pager: ensure that only valid objects are removed
everything else will just print errors

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8745
2019-04-30 20:45:47 +02:00
Marcel Hollerbach 50a5d6e250 efl_ui_pager: implement content iterator
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8744
2019-04-30 20:45:46 +02:00
Marcel Hollerbach 92b5d969bc efl_ui_pager: ensure deletion behavior
when a object is unpacked, we should ensure that only elements are
deleted from the box when they are added.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8742
2019-04-30 20:45:46 +02:00
Marcel Hollerbach c52dcdac91 efl_ui_pager: ensure objects are added and deduplicated
everything else will make things fall apart

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8741
2019-04-30 20:45:45 +02:00
Marcel Hollerbach 67e4f21c88 efl_ui_pager: refactor registering function for pager
this is a starting point for further function additions. this is esp.
usefull since a few functions need to be executed to every added object.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8740
2019-04-30 20:45:44 +02:00
Marcel Hollerbach 1b6ac14b3f efl_ui_pager: provide a pack( implementation
this is needed in order to make efl_ui_pager complete.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8739
2019-04-30 20:45:43 +02:00
Marcel Hollerbach 14a65b4f67 efl_ui_pager: lets stop returning false when in animation
i don't know why this is here. But undependend from if the widget is in
animation or not. We should ensure that the added content to the pager
is displayed and added. Having this failing is super unexpected to the
user, and basically undebuggable.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8738
2019-04-30 20:45:42 +02:00
Marcel Hollerbach 6acb4585b4 efl_ui_pager: mark box internal
otherwise they will adjust the parent property, and we do not want to
have that.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8737
2019-04-30 20:45:41 +02:00
Marcel Hollerbach 4f0ce2c58c efl_ui: add a internal flag to mark widgets internal
when a widget is marked internal, widgets can use that to behave in
certain ways. Box for example uses this to not alter the widget_parent
property anymore. Which is usefull for when boxes are used internally.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8736
2019-04-30 20:45:40 +02:00
Jaehyun Cho 74135dcc33 Revert "efl.ui.widget: disable parts{} block for now"
This reverts commit 06aabbf8529edd5f09a1ce7c3c59237b2857e98a.

The original commit is reverted after release.
2019-04-30 11:25:09 +09:00
Xavi Artigas 8872867788 docs: Minor adjustments to Efl.Ui.Progressbar 2019-04-29 13:17:02 +02:00
Shilpa Singh 49f22b60e5 elm_scroller: make loop_set/get as generic API
elm_scroller_loop_set cannot be used for other widgets except scroller,
the API should be generic as this functionality can be implemented by other widgets as well.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8686
2019-04-29 09:10:02 +02:00