Commit Graph

59958 Commits

Author SHA1 Message Date
Daniel Hirt 1f5c016900 Ui internal text scroller: move .eo.h to internal usage
This fixes the broken `Elementary.h` header.
2018-11-06 00:10:33 +02:00
Daniel Hirt 3f8504c205 Efl selection: remove cancelled promises
This removes the promises in case multiple selection_set are used and
future_cancel were called.
2018-11-05 18:17:43 +02:00
Daniel Hirt 83c7db7283 Ui scroll: fix update scrollbar arrows on pos change 2018-11-05 18:17:43 +02:00
Daniel Hirt 26c1f2477c Ui text: port widget to new interfaces
This is a big rewrite. In addition to implementing functionality with
the new Efl interfaces, a lot of legacy (Elm) code was removed.

A lot of work is squashed in this patch as the widget would've been
completely broken otherwise.

The major changes are:

Life-cycle:
  - Code was split to have 'finalize'
  - Item anchors (emoticons, images) were rewritten to have proper
  life-cycle

Scrolling logic:
  - Efl.Ui.Internal_Text_Scroller widget was added, and replaces the old
  Elm.Interface_Scrollable implementation. Singe-line and multi-line
  modes were fixed as well as sizing calculations. The object is now
  swallowed inside the Ui.Text widget.

Copy and paste:
  - Code was converted to Efl.Selection logic.

Modified tests:
    elementary_test -to "efl.ui.text"
    elementary_test -to "efl.ui.text label"

Added tests:
    elementary_test -to "efl.ui.text inputfield"

Removed test:
    elementary_test -to "efl.ui.text.async"
2018-11-05 18:17:42 +02:00
Daniel Hirt 581fa91a6b Canvas text: emit text,changed event on markup_insert 2018-11-05 18:17:42 +02:00
Daniel Hirt 9903e7d556 Text: add markup_range_get
This allows to retrieve the markup representation of the current text.

@feature
2018-11-05 17:31:06 +02:00
Daniel Hirt 86a8f832ae Ui text scroller: add scroller for internal usage
This class inherits Efl.Ui.Scroller and has its own sizing_eval logic to
handle the text content sizing as needed.

It's kept internal as it only serves Efl.Ui.Text in a scrollable mode.
2018-11-05 17:31:06 +02:00
Daniel Hirt b5c739acae Ui text interactive: swap cursors on cursors_get if needed 2018-11-05 17:31:06 +02:00
Daniel Hirt f172de86d6 Ui text interactive: don't use freeze when using legacy cursor_copy 2018-11-05 17:31:06 +02:00
Daniel Hirt 91a43cc723 Ui text interactive: emit selection,changed on selection changes, not cursor 2018-11-05 17:31:06 +02:00
Daniel Hirt 5b29de0388 Ui text interactive: add select_none
This is intended for Ui.Text to clear the selection on selection loss.
2018-11-05 17:31:06 +02:00
Daniel Hirt 294040c86e Canvas text: don't emit 'cursor,changed' on legacy cursor_copy 2018-11-05 17:31:06 +02:00
Daniel Hirt 2caa38f166 Canvas text: fix line_jump_by logic
Some cases of line_jump_by did not emit "cursor,changed" when it should
have.

@fix
2018-11-05 17:31:06 +02:00
Xavi Artigas edae5021bc efl-mono: Typos in generated code comments
These comments end up in the API reference docs, so typos look bad.
2018-11-05 11:14:37 +01:00
Xavi Artigas 9ffe9a99cb gendoc: Typos in templates 2018-11-05 10:03:21 +01:00
SangHyeon Jade Lee e97b6b72be efl_ui : change efl_ui_view_list to efl_ui_list_view.
Summary:
  View is not a namespace, but an interface,
  So, View_List cannot be under the view namespace for now.
  it looks more suite to be end as View than List on this widget name.
  Firstly, it follows our common naming rules of class.
  Also, List_View is commonly presentable name on most UI frameworks,
  so it is very easy to understand what this widget can do for the user.

Test Plan:
Make works.
           Example is not works for now til stable model interface.

Reviewers: felipealmeida, woohyun, cedric, Hermet

Reviewed By: Hermet

Subscribers: larryolj, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7234
2018-11-05 14:27:05 +09:00
Hermet Park c4e0d3f69d elementary transit: add a new api - elm_transit_progress_value_set()
Summary:
This API sets current time progression of the animation.

It intervenes current progress instantly when it requires
to jump onto a specific frame position.

@feature

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7211
2018-11-05 14:22:58 +09:00
Hermet Park ad567a15a2 elementary transit: fix wrong pausing time calculation.
Summary:
the logic of computation of pausing time was incorrect.
even it didn't take care of revert_mode at all.

delayed time must be subtracted from elapsed time.

@fix

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7201
2018-11-05 14:22:12 +09:00
Jiyoun Park 98149c4c2b evas_render: fix objects change occured withoout real rendering.
Summary:
: condition of problem
- rectangle object of RECT part(BASE part of below edje)
- mapped
- has clipper and clipper is ed's base clipper.

1. _evas_render_phase1_object_process is called of rect object
if rect is mapped, not changed, it call _evas_render_phase1_object_mapped.

2. _evas_render_phase1_object_mapped
when _evas_render_phase1_object_mapped is called,
condition is
src_changed=0 , is_active=0 , obj_changed=0
hmap=0 => because map of this object is only enabled once and not changed.

in this case, rect object's clipper always changed and it cause useless randering

so only call _evas_render_phase1_object_map_clipper_fix when obj is changed.
first time of map set, evas object always be changed, so it maybe ok we call clipper_fix only obj is chaned.

below is sample of edj.

group { name: "elm/notify/center/default";

   parts {
      part { name: "anim_start";
             scale: 1;
             type: SPACER;
             description {
..
              perspective {
                             zplane: -100;
                             focal: 1000;
                          }
                   }
        }
          part { name: "anim_stop";
             scale: 1;
             type: SPACER;
             description {
..
             perspective {
                             zplane: 0;
                             focal: 1000;
                          }
                   }
        }
      part { name: "base";
             scale: 1;
         type: RECT;
         description { state: "default" 0.0;
..
            map {
                on: 1;
                perspective_on: 1;
                perspective: "anim_stop";
           }
         }
      }

Reviewers: raster, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7219
2018-11-05 14:20:42 +09:00
Daniel Zaoui 84f82be847 Slider: fix callback invocation
Summary:
efl_event_callback_legacy_call already invokes legacy and non-legacy
callbacks. Therefore, there is no reason to call
efl_event_callback_call as well.

Reviewers: eagleeye, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7237
2018-11-05 14:03:15 +09:00
Daniel Kolesa 82688c5ece eolian: expose API to retrieve the class of an event
This information has been stored and used in Eolian until now
but not exposed to the API user. While there are roundabout ways
to retrieve the class for an event, this one is direct and costs
us nothing.
2018-11-04 18:32:05 +01:00
Daniel Kolesa d0c96539f2 eolian: add eolian_implement_implementing_class_get
This will make it easier for generators and utilities to retrieve
the class that implemented a method/property/etc rather than the
class the implement was originally defined for. Thanks to this
it will no longer be necessary to carry the class pointer around
the place.
2018-11-04 16:12:53 +01:00
Vincent Torri 01c756a851 evas - generic loaders - use eina properly so windows build works 2018-11-02 13:54:40 +00:00
Marcel Hollerbach 1c9c8beb40 meson: generate .pc files for efl-core efl-ui efl-net
they simply redirect to the projects of elementary / ecore,efl,emile /
ecore,ecore-con,emile. The resuling flags are the same.

fix T7447
2018-11-02 13:28:28 +01:00
Marcel Hollerbach 4dfaf5729e codegen: ensure we include the filename and not the path
this mirrors the behaviour of eolian & eolian_cxx. Usally a generator
just generates the files side by side, the directory then needs to be
included anyways. thus adding the include with another subdirectory is
unusal.

Differential Revision: https://phab.enlightenment.org/D7235
2018-11-02 12:43:26 +01:00
Marcel Hollerbach 79a5ff6e1e elm_toolbar: fix prio.visible
prio.visible is ignored in case of SHRINK_EXPAND is used. every single
item is just stuffed into a box. Thus in case that the *more flag
indicates that another box is displayed (rather than not fitting items),
then we do not set the visibility flag on the item - as the item is used
anyways.

ref T6806.

Differential Revision: https://phab.enlightenment.org/D7185
2018-11-02 02:22:34 +01:00
Marcel Hollerbach 17b57ba5ac efl_ui_focus_manager: rename a event
In eo there is a difference between legacy events and normal events.
However, when a legacy event, that is called "focused" is emitted, the
event EFL_UI_FOCUS_MANAGER_FOCUSED is emitted on those objects. This
leads to bugs and unexpected results in elm_scroller, and additionally
this problem blocks work that is done right now to add those "focused"
event calls to gengrid.

Differential Revision: https://phab.enlightenment.org/D7099
2018-11-02 02:22:13 +01:00
Daniel Zaoui 1b85d7d12f Elm_Code: check pointer nullity before using it 2018-11-01 23:09:32 +02:00
Marcel Hollerbach 2579733515 meson: allow setting of custom pc variables
this brings the theme directory to the elementary .pc file.

Differential Revision: https://phab.enlightenment.org/D7224
2018-10-31 18:26:24 +01:00
Carsten Haitzler 6eb608b9cc meson - ethumb - fix build and install of service files for ethumb 2018-10-31 15:33:58 +00:00
Vincent Torri 41f7ae6e49 emile - fix windows build
use evil and fix libjpeg boolean re-def.
2018-10-31 14:12:44 +00:00
Marcel Hollerbach 47e6bbb397 evas - fix pending object set tracking to not multi-add the same object
flag if obj in pending array and don't add if already there. fixes
run-away slowness in rendering in some cases
2018-10-31 11:43:55 +00:00
Carsten Haitzler 014bbb888e Revert "build - meson - fix build when legacy is still enabled and gen the code"
This reverts commit 9aeedc5a1c.
2018-10-31 09:42:34 +00:00
Felipe Magno de Almeida 1933735635 eolian: Add @ctor_param parameter to constructors
Summary:
This tagging keyword explicitly asks, for bindings that support it,
that the constructor's parameters are added to the class constructor.

Allowing the user to instantiate the class and call the constructor in
a straightforward way.

Reviewers: q66, woohyun, bu5hm4n, Jaehyun_Cho, segfaultxavi

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers, lauromoura

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7221
2018-10-31 02:47:58 +01:00
Carsten Haitzler 2098f55ba2 evas - remove excess data scope lookup during render when getting changed
getting smart changed meant another scope data get when we already had
the protected data in the caller. don't do that and just pass down.
saves a lot of overhead...

@optimize
2018-10-26 15:35:00 +01:00
Carsten Haitzler 9aeedc5a1c build - meson - fix build when legacy is still enabled and gen the code
meson build was not generating .legacy.h etc. files for a whole host
of classes that were depended on - add it back so the build works again.
2018-10-26 14:58:29 +01:00
Jaehyun Cho 3e7321565d elc_naviframe: Fix to show prev item when top item is deleted
When top item is deleted, previous item should be shown.
2018-10-26 21:15:54 +09:00
Hermet Park 74a695ecf1 evas map: remove unnecessary count comparison.
Our map points is fixed to 4. And no plans to support other cases yet.
2018-10-26 20:33:44 +09:00
Hosang Kim 46cca0febf evas: fix backward compatibility issue.
Summary:
Sometimes mouse_grabbed flag can not be zero.
Before version of EFL, object has just one mouse_grabbed flag.
But now we have a new feature, so object has list of pointer devices
and each pointer device has mouse_grabbed flag.

We need to check all of pointer devices mouse_grabbed flag.
And if all of mouse_grabbed flag are zero, dispatch move event.

Test Plan:
{F3384050}
gcc -o button_example_01 button_example_01.c `pkg-config --cflags --libs elementary`

Reviewers: iscaro, zmike, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7216
2018-10-26 20:28:03 +09:00
Derek Foreman e3a2d0be45 evas_object: Refactor pixels get hack
Summary:
Refactor this so it can be used by another call site in a later commit.

Also, reduce its complexity, as we only need the callback to fire, we
don't care about any of the other machinery in _evas_image_pixels_get.

Depends on D7188

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7189
2018-10-26 20:15:00 +09:00
Derek Foreman bec631aa2c evas_image: Force stacking check on non-video surface
Summary:
We use this code path for native image hardware planes.  Force the
stacking check on those for now so planes don't accidentally occlude
surfaces above them.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7188
2018-10-26 20:09:37 +09:00
Hermet Park 16bad8df79 evas filter: add a commentary for a temporary fix. 2018-10-26 19:33:05 +09:00
Youngbok Shin 4107e7644d evas filter: remove critical messages from Evas Filter
Summary:
When you run filter examples with enabling GL engine support,
you can see critical messages which say don't use efl_unref for buffer object.
So, efl_unref has to be replaced with efl_del.
@fix

Test Plan: Run filter example with GL

Reviewers: cedric, Hermet, raster, woohyun

Reviewed By: Hermet

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7119
2018-10-26 19:30:28 +09:00
Yeongjong Lee 9de082eb83 ecore: remove duplicated conditions
Summary: The macro already checks eina_main_loop_is() when DEBUG_THREADS is enabled.

Test Plan: make

Reviewers: segfaultxavi, ManMower, Hermet, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7183
2018-10-26 19:25:09 +09:00
Shinwoo Kim f802c8f482 evas_image_main: make the cache->usage count eina_file size
Summary:
The image.data is set to null by evas_common_rgba_image_unload_real.
After this point the cache->usage does not count cache_entry.w and h value when
evas_gl_common_image_free calls evas_cache_image_flush.
So the cache->usage increases just around 300. If the cache->limit is 4194304,
then the cache could have around 1398 items. This would be fine.

But each items hold eina_file, and the cache does not count eina_file size.
If the file size is 326352, then a process could use 456527385 bytes.

So this patch set make the cache->usage count eina_file size.
This would be better option than https://phab.enlightenment.org/D7029

Reviewers: Hermet, jypark, cedric

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7030
2018-10-26 19:16:33 +09:00
Hermet Park fa7d83b993 elementary selection: remove unnecesary logs. 2018-10-26 19:08:32 +09:00
Marcel Hollerbach a50a7f35b0 meson: disable luajit & mono by default
Summary:
they are disabled in autotools per default
Depends on D7213

Reviewers: q66, netstar, jeyzu

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7214
2018-10-25 23:50:06 +02:00
Marcel Hollerbach 852dd60cdb meson: do not add cs as required compiler
Summary: its only required when having mono

Reviewers: q66, netstar, jeyzu

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7213
2018-10-25 23:40:31 +02:00
Daniel Kolesa ddce3fc8a7 meson: restore generation of legacy header files in elementary
While this is probably not entirely correct, it restores the
previous behavior. A proper fix would be to move .eo files that
do require header files into the pub_legacy_eo_files section but
that will require more effort and care. So until that is fixed,
just generate legacy as usual.
2018-10-25 14:31:38 +02:00
Hermet Park c7718f564b elementary transit: allow duration change on animatining.
Summary:
Previously, it didn't allow to change duration because of implementation limit.

This time, it turns out it doesn't need to limit the behavior.
More capacity is better for various scenarioes.

Reviewers: #committers, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7205
2018-10-25 14:50:37 +09:00