Summary:
first of all, in efl-ui we should probebly ensure that a widget is
always created in a window object. Otherwise we are looking for trouble.
Additionally, calling efl_ui_win_shared_data_get on anything else than a
window object will result in a returned NULL value.
If we are not having a widget parent, there is also not much point in
calling a API that is only defined on the widget base class, so we also
move that away
Reviewers: kimcinoo, raster
Reviewed By: kimcinoo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9762
Summary:
Static methods of eo-interface are generated in c# interface-concrete. there are
4 methods
`efl_access_object_access_root_get`, `efl_access_object_event_emit`,
`efl_access_object_event_handler_add`, `efl_access_object_event_handler_del`
If a class that inherits that interface, static method can't be called via
classname.
This commit changes eolian_mono by removing those static members from the C#
interface-concretes. If a generated class implements the interface, the static
member is generated as static member of the class directly.
Depends on D9800
Test Plan: Check that `Efl.Ui.Widget` has `public static Efl.Object AccessRoot` property.
Reviewers: lauromoura, felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9893
Summary:
Eolian allows non-public members in interfaces and mixins (usually
@protected). As both kinds are converted to C# interfaces, this
causes problem as non-public members are forbidden in C# interfaces.
This commit changes eolian_mono by removing those members from the C#
interfaces. If a generated class implements the interface, the method is
generated as if it were a protected member of the class directly.
For mixed properties like `Efl.Io.Reader.CanRead { get; set @protected; }`,
the interface has only the public getter and the the implementing class has both
the public getter and the protected setter.
With this, C# devs won't be able to directly implement protected Eo
methods from interfaces. (But this really does not make sense from the
C# point of view).
ref T7494
Reviewers: segfaultxavi, felipealmeida, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, brunobelo, Jaehyun_Cho, #reviewers, woohyun, #committers
Tags: #efl
Maniphest Tasks: T7494
Differential Revision: https://phab.enlightenment.org/D9800
we couldn't have multilpe listeners before. now we can. better this
way. have to do this now because i can't mark efl task as @beta
without taking out massive wads of efl with it.
Summary: Remove idle event after running test so it doesn't impact with other tests that run after it
Reviewers: lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9887
Summary:
WIN32 should use a allocator and deallocator different from EFL, sometimes, when
freeing a pointer, it should use win32_free. To stardardize, A custommarshaler
is used to fix this problem.
Fixes T8201
Reviewers: lauromoura, felipealmeida
Reviewed By: lauromoura
Subscribers: cedric, brunobelo, felipealmeida, #reviewers, lauromoura, #committers
Tags: #efl
Maniphest Tasks: T8201
Differential Revision: https://phab.enlightenment.org/D9842
Summary: sealed public is now public sealed and virtual public is public virtual
Reviewers: lauromoura, felipealmeida
Reviewed By: lauromoura
Subscribers: cedric, brunobelo, felipealmeida, #reviewers, lauromoura, #committers
Tags: #refactoring, PHID-PROJ-uhnmnvlvunw6jgoqdnd4, #efl_language_bindings
Maniphest Tasks: T8172
Differential Revision: https://phab.enlightenment.org/D9725
Summary:
the following commits did not correctly add super calls to the destructor,
resulting in a massive number of build errors as well as some unit test failures
ref e51699afbc
ref 38be95b0b6
Reviewers: raster, lauromoura
Reviewed By: lauromoura
Subscribers: lauromoura, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9902
Summary:
this provides full documentation for the class and all properties
ref T7717
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl_docs
Maniphest Tasks: T7717
Differential Revision: https://phab.enlightenment.org/D9882
Summary:
unregsiter shound never call unprotected eo API on the object,
unregister can be called with a object that is dead.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9898
Summary:
`Efl_Ui_Scrollable_On_Show_Region` is only used for legacy EAPI. it moved to
elm_widget.h from eo file. also, it renamed `Elm_Widget_On_Show_Region_Cb`.
Reviewers: Jaehyun_Cho, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9896
We must check all pointerness first, and append NULL as default
when that applies, because @by_ref is not carried in the typedecl
info. Therefore, it would result in a false positive and try to
make a zeroed struct, which we don't want.
This fixes cases such as missing const when having a @by_ref
return type. The const should not be avoided there because it
is not returning the whole type as const, just what the pointer
dereferences to.
Summary:
Vg_entry is shared by different child windows.
When two or more objects load the same file
When resizing, cache_vg_entry_render can delete an active entry
while creating a new entry and deleting an existing entry.
Therefore, use cache data added evas
Test Plan:
[enable json loader]
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -203,7 +203,7 @@ option('evas-loaders-disabler',
type : 'array',
description : 'List of modular image/vector load .....
choices : ['gst', 'pdf', 'ps', 'raw', 'svg', 'rs .....
- value : ['webp', 'json']
+ value : ['webp']
[Test]
elementary_test -> Animation View click -> play -> Animation View click again -> ...
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9740
Summary:
expand the description for the class a bit
ref T7717
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl_docs
Maniphest Tasks: T7717
Differential Revision: https://phab.enlightenment.org/D9885
prior to this commit, we just passed the start_id and the end_id the
end_id was the start_id plus the size of the memory buffer. However,
making this depending on the size of the memory buffer is a bad idea, as
changing it based on our needs is rather painfull.
With this commit we have explicit passing of the start_id, end_id and
memory len. This is kind of redundant, however, its very convenient, and
easy to write. The buffer will be filled with the maximum size that is
possible with length of the buffer, however, the end_id will not be
filled anymore.
Differential Revision: https://phab.enlightenment.org/D9756
item_container was the wrong name here. this fixes this to use the
correct name in the theme. Additionally the file name in the file is
adjusted.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9849
this was simply forgotten, but was part of the previous widget, so this
fixes the missing widget.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9846
Summary:
It will coexist with `eolian_type_is_ptr` while we phase out the latter.
Fixes: T8211
Depends on D9866
Reviewers: q66, felipealmeida
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9867
Without this, the prefix would get pointed to something like
/path/to/efl/build/share/evas, which is not a valid path when
building. That would cause the docs build to fail.
Summary:
we also need to return here when the position is not the same, or we are
going to place items in the wrong spot.
Reviewers: segfaultxavi, zmike, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9869
The result of integral division is converted into floating point.
To fix the warning by assigning the result to Evas_Coord variable, type
cast is done.
Summary:
Duplicated interface's NativeMethods code will be removed. they are called in
`GetInterfaces`.
Size of efl_mono.dll
6,587,392 bytes(6.6MB) -> 4,112,384 bytes (4.1MB)
Test Plan: ninja test
Reviewers: felipealmeida, lauromoura, vitor.sousa
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, woohyun, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9752
we should check that if existing is not added before, that we do not
perform reparenting, and that we return false.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9863
same as the previous commit, just for efl_ui_tab_bar.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9862
same as the previous commit, just for spotlight.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9861
this was brought up recently and it is true that this should be fixed.
If existing is not registered in the container, then we should not
perform the operation at all.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9860
after playing arround with the widget, we found out that it feels quite
weird to have a index, where most of the time you work with widgets.
We might want to add syntax suger in the future to make it easier to
just jump to the next element, or to the previous, but that still is to
be decided.
The event and the communication to the spotlight manager are still left
to be used with the index, reason for this is, that we might need to
fill there an invalid pointer, if a deletion is triggering an animation,
which seems quite weird. That needs further discussing.
Docx have been updated, the sitemarks about the shifting of the
active_index can be removed, as the element is not subject of change
during content adds/deletes.
ref T7991
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9813
fixes ylee's xpm loading issue... it really is just that xpm's didn't
load if you preload/load from a thread... because it wass the only
loader that claimed it couldnt be threaded... which it can be.
@fix
Current vector drawing requires several methods for compositing,
it's shouldnt have only masking but other blending functions
such as matte in lottie, porter&duff in android, etc.
Previously we didn't specify this method name,
just reserved the options and now we started to define the methods
with ector_renderer_composite_method() with Efl.Gfx.VG_Composite_Method
instead of mask_set().
Summary:
is_owned is being replaced with the is_move family of functions.
This commit changes only the libeolian usage inside libeolian_cxx,
keeping the has_own naming in the generators for a simpler patch
during this freeze period.
Fixes T8199
Reviewers: q66, felipealmeida
Reviewed By: q66
Subscribers: cedric, #reviewers, brunobelo, #committers
Tags: #efl
Maniphest Tasks: T8199
Differential Revision: https://phab.enlightenment.org/D9843
We can't blindly unload here - this loses swallowed content (in swallows,
boxes, tables etc.) ... this here along with an actual implementation of file
unload broke the pager in E for starters as shading then unshading (double
click titlebar) a window would lose the mini preview image obj swallowed in.
also fullscreening would do it. this also broke gadget bar, the xkb gadget in
it too and more... so this is a particularly bad thing break.
@fix
this patch finishes to remove Evil public headers
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9847
-Add a callback to ui_text for event EFL_UI_EVENT_SELECTION_CLEARED
-Select any text in the ui_text
-Clear selection by clicking any area by mouse or pressing arrows in keyboard
-The selection get cleared but the callback will never be called.
Reviewed-by: Tom Hacohen <tom@stosb.com>
Differential Revision: https://phab.enlightenment.org/D9771
{F3752242}Select part of a text and past a smaller text on it the selection will still there.
Reviewed-by: Tom Hacohen <tom@stosb.com>
Differential Revision: https://phab.enlightenment.org/D9766
there are not enough size hints, we should add more!
I mixed up which size hints i should have used here, after some back and
forth it turns out that i should use the combined. This fixes the list
example.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9779
this is needed for some cases and there isn't a specific reason to keep
it proected
fix T8100
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9803
Summary:
Cluster consist of one glyph, expected to be removed on backspace or delete key.
Cluster consist of multible glyph, expectd to remove part of on backspace or delete key.
This is behaviour founded in Android. (our current way of handling similar to Qt)
**New Behaviour**
{F3750386}
**Old Behaviour**
{F3750387}
Test Plan:
Auto Testing is challenging because there are no easy way to emulate keyboard down on elm_entry
```
#include <Elementary.h>
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *win,*box,*entry;
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("", "");
elm_win_autodel_set(win, EINA_TRUE);
box = elm_box_add(win);
entry = elm_entry_add(box);
evas_object_size_hint_weight_set(box,EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(box,EVAS_HINT_FILL,EVAS_HINT_FILL);
elm_entry_entry_set(entry,"<font=NotoColorEmoji wrap=mixed >🇧🇬อั🇧🇬อั😀😀😀😀😀อั</font>");
evas_object_size_hint_weight_set(entry,EVAS_HINT_EXPAND,0.9);
evas_object_size_hint_align_set(entry,EVAS_HINT_FILL,EVAS_HINT_FILL);
evas_object_show(entry);
evas_object_show(box);
elm_box_pack_end(box,entry);
elm_win_resize_object_add(win,box);
evas_object_resize(win,320,480);
evas_object_size_hint_weight_set(entry,EVAS_HINT_EXPAND,0.1);
evas_object_size_hint_align_set(entry,EVAS_HINT_FILL,EVAS_HINT_FILL);
evas_object_show(win);
elm_run();
return 0;
}
ELM_MAIN()
```
Reviewers: tasn, woohyun, bowonryu
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9628
Summary: uri decoding returned a wrong URI when a Windows path is given
Test Plan: rage, which is using efreet_uri is now playing files on Windows
Reviewers: raster, cedric, zmike, stefan_schmidt
Reviewed By: raster
Subscribers: stefan_schmidt, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9839
Summary:
this logic brings a few problems:
- When files are annonced here, without the monitor having the context
of the files, immidiat actions like deletion of the file are resulting
in no deletion event. Which is definitly a bug, so we need to wait here
for the monitor.
- When a new count is annonced before the files are there from the
monitor, we are heading towards the same issue - additionally, we might
already have files available, due to the custom counting that are not
annoncned through the monitor, which means, at a later pointer we are
annoncing a new file which is already available via the API.
Right now i do not see a way to continue with this code, it caused major
issues with our CI and the POLL backend, for now things do work again.
Depends on D9624
Reviewers: zmike, stefan_schmidt, cedric, felipealmeida
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9625
This is unnecessary because for all contexts where type is
relevant the validator already makes sure the type and expression
match correctly, so you don't ever need to re-validate it. If you
are doing a generic case and are not sure, just use MASK_ALL.
Summary: only '/' path separator is used while on Windows it can also be '\\'. Fix rage and emotion_test play of videos
Test Plan: emotion_test plays videos while it didn't before this patch
Reviewers: raster, cedric, zmike
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9837
Summary:
Select and View is ui characteristic features,
so Efl_Select_Model and Efl_View_Model move to elementary from ecore
seems more natural.
namespace also should changed to Efl.Ui as it's right place.
Test Plan: run the test while building it
Reviewers: cedric, felipealmeida, bu5hm4n, zmike, lauromoura
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9820
the target buffer is allocated by backend engine,
The buffer size must be specified with the stride, not the width.
It's real dimension can be different with the our request.