Summary:
The result of integral division is converted into floating point.
In order to fix this warning, it changes denominator to double from integer.
Reviewers: Jaehyun_Cho, Hermet, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11313
The use of _POSIX_ has lead to a compile problem on old Ubuntu (16.04)
versions. We use PATH_MAX everywhere else so follow suit here.
Fixes T8613
Reviewed-by: Ali Alzyod <ali198724@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11305
Just a few that I spotted when looking over the code.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11290
The init/shutdown handling for efl libraries was a bit sloppy and
unbalanced in the exactness binaries. Switching over to use
ecore_eas_init/shutdown here instead of doing all libs individually.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11289
Either commented out, blank lines or no needed includes.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11288
This has been in place during development and not updated for recent
changes and merge into efl master.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11287
Given a better overview after the wall of text we are seeing from
starting and stopping jobs in parallel.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11286
Exactness has been developed in a separate git repo for many years. This
finally moves it over into efl. Having it in tree allows us for easier
testing with our current main target elementary_test and integration
into our CI system (patches for this are work in progress already).
We are only importing the lib and binary for test execution, not the
full set of test data. This is would be over 500MB and thus it will stay
in a different repo and only made available during the actual testing.
[The original patch was made by Daniel Zaoui. Over the course of review
and testing it got extended with build fixes for API changes and mingw
compilation support from Stefan Schmidt and Michael Blumenkrantz]
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11285
For our exactness testing we are dlopen() the elementary_test
executable. Until glibc 2.30 this was posible with -pie, but it changed
in the glibc version. They no longer allow these executables to be
dlopen()'ed.
As a workaround for now we are building elementary_test also as a shared
object file which we load and use in the exactness testing process.
The code came from Marcel Hollerbach and I only tested it and fixed up a
small detail.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11284
spotlight moved away from layout, this could have also been solved with
setting a edje object as resize object. However, this commit now
contains the spotlight internally.
The resons why containing it internally is better:
- You now only have one way of selecting a page, marking it as selection
via the selectable API
- You cannot build race conditions between selecting a page and setting
the active_element anymore
- The tab_pager is now also just a simple single_selectable implementor,
which makes this whole usage more convinient.
- There is now a event you can listen to if you want to know if
something has changed the selected item
- push and pop would have never worked correctly in the tab_pager, as
the item would have appeared always before the item was "faded" in. This
possibility is not given anymore
Last but not least, this makes tab_pager usable again, the tab bar is
displayed again.
Differential Revision: https://phab.enlightenment.org/D10775
EFL failed to build from source in Fedora Rawhide as a result of the update to GCC 10. GCC 10 enables -fno-common by default, and this found three issues in EFL:
# The eina benchmark code defined int key_size in a header that was included in multiple places.
# The elementary test code defines the "dt1", "dt2", "dt3" vars in two code files which are compiled together (but these variables do not appear to be used globally)
# The eio test code defines the "ee" var in two code files which are compiled together (but this variable does not appear to be used globally)
I've fixed these issues and confirmed locally that the code builds again in Fedora.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11259
Summary: There is no reason that `efl_player_playback_position_get` is in blacklist..
Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11152
Summary:
Move autoplay and playback_loop method from Efl.Ui.Vg_Animation/
and The playback_loop changed from looping
because it conflict with the efl_ui_scrollable's symbol.
Efl.Ui.Image and Efl.Ui.Image_Zoomable is needed implements about this method.
So it temporarily set the @empty marker.
ref T8476
Test Plan:
elementary_test -to "Vector Graphics Animation"
check to 'loop'
Reviewers: Hermet, bu5hm4n, zmike, Jaehyun_Cho, jsuya
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers, woohyun, kimcinoo
Tags: #efl
Maniphest Tasks: T8476
Differential Revision: https://phab.enlightenment.org/D11212
Summary:
Immutable value type is recommeneded for struct type in cs world.
`DO NOT define mutable value types.`
(see, https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/struct)
Also, this patch include refactoring of generated struct types.
1. Change field type to property type that have only getter. it will fix CA1051(ref T8397).
2. Remove internal NativeStruct. there is private field for marshalling struct instead.
3. Fix some test cases that change value inside struct. because struct is immutable.
Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true
Reviewers: woohyun, felipealmeida, Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8397
Differential Revision: https://phab.enlightenment.org/D11146
Summary:
In structs' definition, field `<value>` tags weren't scaping
characters, so characters like "&" would lead to invalid XML errors.
Fixes T8588.
Test Plan: Run ninja test.
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8588
Differential Revision: https://phab.enlightenment.org/D11202
Summary:
Since Stack_Manager displays fade in/out transition effects, the class
name is renamed from Stack_Manager to Fade_Manager.
Depends on D11142
Reviewers: segfaultxavi, bu5hm4n, zmike
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11143
Summary:
In spotlight classes, "Manager" and "Indicator" are used as prefix in
the class names.
e.g. Efl.Ui.Spotlight.Manager_Plain, Efl.Ui.Spotlight.Indicator_Icon
However, those classes are basically manager and indicator classes with
different features. Therefore, "Manager" and "Indicator" should be used
as postfix in the class names.
e.g. Efl.Ui.Spotlight.Plain_Manager, Efl.Ui.Spotlight.Icon_Indicator
However, for the easier usage of C APIs, c_prefix of those classes are
remained to be "efl_ui_spotlight_manager_xxx" and
"efl_ui_spotlight_indicator_xxx".
Reviewers: segfaultxavi, bu5hm4n, zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11142
Summary:
Concrete class is only used to call static member of NativeMethod. they don't
need any inheritance and implementation of c functions.
Depends on D9893
Test Plan: ninja test
Reviewers: lauromoura, felipealmeida
Subscribers: Jaehyun_Cho, woohyun, segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9894
Extension Methods' classes have methods with same names and parameters.
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac)
Although the where clause contains different classes, they cannot be
identified as different methods by C# compiler.
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac) where T : Efl.Ui.Button
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac) where T : Efl.Ui.Check
As a result, to avoid ambiguous methods, ExtensionTag should be used as
a second parameter of each method.
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac, ExtensionTag<Efl.Ui.Button, T>magic = null) where T : Efl.Ui.Button
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac, ExtensionTag<Efl.Ui.Check, T>magic = null) where T : Efl.Ui.Check
This reverts commit 76631f502a.
Summary:
In animation classes, "Animation" is not used as a namespace but it is
used as a prefix in the class names.
e.g. Efl.Canvas.Animation_Alpha
However, those classes are basically animation classes with different
features. Therefore, "Animation" should be used as a postfix in the
class names.
e.g. Efl.Canvas.Animation_Alpha -> Efl.Canvas.Alpha_Animation
However, for the easier usage of C APIs, c_prefix of animation classes
are remained to be "efl_animation_xxx".
Reviewers: segfaultxavi, bu5hm4n, zmike, Hermet, jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11108
Summary:
this is just like elm_separator, just written for unified widgets.
This inherits from item, which has the advantage that this separator can
also be added into item container.
Reviewers: zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11125
Summary:
autoplay and autorepeat look similar and can be confusing.
so change autorepeat to looping.
ref T8476
Depends on D11022
Test Plan: N/A
Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi, zmike
Reviewed By: Hermet, segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8476
Differential Revision: https://phab.enlightenment.org/D11061
Summary:
Since class BindablePart and class BindableProperty use generic type
constraint as "where T : <class name>", class ExtensionTag is no longer
needed.
Reviewers: SanghyeonLee, felipealmeida, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11101
this is something which was never ever working before. However, while
fixing the 24h mode, it also appeared that the theming was applied in
the wrong spot, which resulted in signals beeing called on a not yet
themed object, so the theming was also fixed. (Which is the theme_apply
change).
To sum up:
- The theme is now applied by efl_ui_layout_base
- the range is now correct for 24h mode
- There is a quite major problem with the theme, see T8546
- As a quick fix, am / pm button can be disabled.
ref T8546
Differential Revision: https://phab.enlightenment.org/D11004
Summary:
Also, this patch will fix indentation of enum, struct.
### Before
```
namespace Efl.Ui {
/// <summary>Define the move or resize mode of a window.
///
/// The user can request the display server to start moving or resizing the window by combining these modes. However only limited combinations are allowed.
...
[Efl.Eo.BindingEntity]
public enum WinMoveResizeMode
{
/// <summary>Start moving window<br/>Since EFL 1.22.</summary>
Move = 1,
/// <summary>Start resizing window to the top<br/>Since EFL 1.22.</summary>
Top = 2,
...
}
}
```
### After
```
namespace Efl.Ui {
/// <summary>Define the move or resize mode of a window.
///
/// The user can request the display server to start moving or resizing the window by combining these modes. However only limited combinations are allowed.
...
[Efl.Eo.BindingEntity]
public enum WinMoveResizeMode
{
/// <summary>Start moving window<br/>Since EFL 1.22.</summary>
Move = 1,
/// <summary>Start resizing window to the top<br/>Since EFL 1.22.</summary>
Top = 2,
...
}
}
```
Reviewers: Jaehyun_Cho, felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11032
these were flattened to all be EFL_GESTURE_$MEMBER, which made them
impossible to read and use effectively
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11026
Summary:
This patch will rename `ExtensionMethods` to `Extensions` that is commonly used
in csharp project.
Depends on D10972
Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true
Reviewers: lauromoura, Jaehyun_Cho, felipealmeida
Reviewed By: Jaehyun_Cho, felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10913
Summary:
Like other classes and methods, the classes and methods for extension
methods of ItemFactory are moved inside the namespace.
Consequently, the namespace in the class name for extension methods is
removed to avoid duplicate namespace name.
Reviewers: lauromoura, felipealmeida, YOhoho, woohyun
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10972
Checking null for generated code
ref T8399
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D10970
Summary:
Since "View" is a reserved word for MVVM, change the class name appropriately.
Efl.Ui.Animation_View => Efl.Ui.Vg_Animation
ref T8476
Depends on D10931
Test Plan: elementary_test -> "Vector Graphcis Animation"
Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8476
Differential Revision: https://phab.enlightenment.org/D10939
Entry was added to the same box. This commit fixes this.
You could observe this problem when starting the "Textbox Input Field" demo in elm_test
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10986
Summary:
pulse_mode is now implicit with pulse, if you set the progressbar to
pulse, the state is internally adjusted in a way that the theme is put
into the correct state. Legacy is not impacted by this because of the
previous commit.
ref T8501
Depends on D10941
Reviewers: cedric, woohyun, zmike, segfaultxavi
Reviewed By: zmike, segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8501
Differential Revision: https://phab.enlightenment.org/D10942
this will be common enough to put into elm - there is no way to do a
gimp style "tool palette" where you select one of them (like one from
a set of radio buttons) at all times... but you don't want the "round
circle" but instead want it to look more like a button to fit in with
a palette style look. this calls for styles... so here they are.
@feat
Empty ExtensionMethods class won't be generated.
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D10954
Use Indexers to use brackets, eg [i], syntax.
Keys now can be used as following:
var someVal = obj.SomeProperty[key];
obj.SomeProperty[key] = someNewVal;
And for multiple keys:
var someVal = obj.SomeProperty[(key1, key2)];
obj.SomeProperty[(key1, key2)] = someNewVal;
T8384
Reviewed-by: WooHyun Jung <wh0705.jung@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10791
Summary:
currently select is verb and mono name is exposed SelectAll
but unselect is non-verb and mono name is exposed AllUnselect.
to fix this differencies, add unselect in the verb list.
Reviewers: segfaultxavi, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10952
Summary:
Since Constants class contains static readonly values only, the
Constants class is actually a static class.
Therefore, Constants class is changed from public partial class to
public static partial class.
ref T8398
Reviewers: YOhoho, lauromoura
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10929
a accessor is never delivering a value, only the pointer to a value.
This makes format working with accessors for list array carray.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10909
Summary:
Included commits in devs/lauromoura/remove_eina_mono-rebased
```
commit ed6679db19
Author: Lauro Moura <lauromoura@expertisesolutions.com.br>
Date: Mon Dec 2 13:58:04 2019 -0300
csharp: add move information to EnumerableToAccessor
Still need to fix the converted accessor ownership, maybe by creating a
custom accessor class that released the pinned memory when is freed.
```
ref T8486
Depends On D10878
Co-authored-by: Lauro Moura <lauromoura@expertisesolutions.com.br>
Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true
Reviewers: YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8486
Differential Revision: https://phab.enlightenment.org/D10879
The horizontally scrollable single-line text input box does not currently visible.
This patch turns it into a vertically scrollable multiline input box, with an
arbitrary minsize.
Also, make the label unselectable.
Summary:
The documentation tokenizer relies on proper separation of paragraphs,
and we were not doing that. This fixes detection of Note:, Warning:,
Remark: and TODO: tags.
Additionally, we were removing the blank line between the summary and
the description, artificially joining them.
Test Plan: Everything builds and passes tests, and docs with `Note:` tags are correctly rendered (like `Efl.Loop_Consumer.new_promise`, for example)
Reviewers: lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10868
Summary:
Usage example:
```
var (x, y) = somePos2D;
```
Not available on Mono environment due to [`mcs` not implementing
it](a3de0304a1/mcs/mcs/tuples.cs (L590)).
To keep tests from breaking because of it, a `MONO` preprocessor variable is
defined and checked during test compilation.
Ref T8489.
Reviewers: brunobelo, lauromoura, segfaultxavi
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8489
Differential Revision: https://phab.enlightenment.org/D10809
Fix this error message
ERR<15404>:eo ../src/lib/eo/eo_base_class.c:710 efl_del()
Calling efl_del on object Efl.Ui.Win@0x400000a4b774[2]:hidden:children=0:'(null)':'(null)' with
no parent is not advised any more.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10863
Summary:
Also generates implicit conversion for 1-field structs.
Usage examples:
```
// With tuples
Point2D p = (1, 2);
obj.SetPoint((1, 2));
// With 1-field structs
StringWrapper sw = "Must be handled by wrapper.";
```
Due to limitations of MSC compiler, implicit conversions are generated
only if struct has 4 fields or less.
Ref T8489.
Reviewers: brunobelo, cedric, lauromoura, segfaultxavi
Reviewed By: lauromoura
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8489
Differential Revision: https://phab.enlightenment.org/D10801
This has never been tested because so far EO "Note:" tags are only recognized
when they appear at the beginning of a comment block.
It turns out the note already includes the "Note:" prefix so we were adding it
twice.
This patch removes one of the prefixes and used a nicer formatting.
Also works for "Warning:", "Remark:" and "TODO:".
When an EO property had multiple values or keys the C# generator
didn't generate a wrapping C# property. Therefore property references
in the documentation were changed to references to the getter.
Now multiple values are handled through tuples so the wrapping properties
ARE generated.
This patch removes the restriction for multiple values to doc refs
can more naturally reference the property instead of the getter method.
Properties with keys still reference the getter, since these are not wrapped.
Summary:
Container can have three configuration over `Own` and `OwnContent`:
`Own = true` and `OwnContent = true`;
`Own = true` and `OwnContent = false`;
`Own = false`and `OwnContent = false;
If someone try to instanciate the container with `Own = false` and `OwnContent = true`, a exception raises.
There is two Ownerships' behaviours in c#, where `IsReadOnly` is responsible and `IsReadOnly = !OwnContent`:
Full Ownership: User can use modify/Add/Remove operations over the container, this is implemented with `OwnContent = true`.
No Ownership: User **cannot** use modify/Add/Remove operations, this is implemented with `OwnContent = false`.
For the memory, `Own` frees the node, while `OwnContent` frees the data portion.
ref T8487
Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi, jptiz
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8487
Differential Revision: https://phab.enlightenment.org/D10742
This test accepts a style string (as defined in the style_apply method)
and continuously applies it to a sample text block.
Useful for debugging Efl.Canvas.Textblock styles.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10853
Summary:
Small refactor. Keep it in a single header that other files could use.
Ref T8515
Reviewers: brunobelo, felipealmeida, jptiz
Reviewed By: jptiz
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8515
Differential Revision: https://phab.enlightenment.org/D10852
Summary:
Better names to convey their intent and formatting.
Removing the hardcoded `return` from them will also free the return list
to be used for `@out` parameters as they have similar semantics to
`return`, different from regular `@in` parameters. This change in
behavior will come in a future commit, and explains why are are keeping
both lists for now despite being essentially the same.
Ref T8515
Test Plan: Run existing tests
Reviewers: felipealmeida, brunobelo, jptiz, YOhoho
Reviewed By: jptiz
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8515
Differential Revision: https://phab.enlightenment.org/D10827
Summary:
Change summary:
Removed :
- efl_ui_text_selectable.eo and add it functionality into efl_text_interactive.eo
- efl_ui_text_editable.eo because it is same as efl_ui_text.eo (just set one property by default)
Modifications:
- Move all Text Input enums and functionality from efl_ui_text class into its own interface, this interface will be implemented at efl_ui_internal_text_interactive class.
- Rename selection_allowed property to selectable (same as other "editable" property) in efl_text_interactive
- Add select_all function into efl_text_interactive interface
- Add have_selection property into efl_text_interactive interface
- Move user_change , selection_start/change/clear and undo/redo events into efl_text_interactive interface.
- Move methods and events of copy/paste/cut into efl_ui_text
- Fix password-related functionality
- Remove context menu clear and add_item methods. (these should be added later with better design)
- Remove Validation event from EFL_UI_TEXT. (these should be added later with better design)
Reviewers: woohyun, tasn, segfaultxavi, zmike, bu5hm4n
Subscribers: stefan_schmidt, a.srour, q66, zmike, segfaultxavi, cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10711
This seems to have been gone a long time ago and only references left
that have not been disturbing the build. Time to clean up!
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10793
Summary:
playing backwards is also working, this is simply shown here, the
handcrafted backwards animation wasnt showing the correct animation
either.
Depends on D10799
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10802
Summary:
play_count is a tad simpler to understand, since it means the TOTAL number of
times the animation will play.
The default value is now 1, and 0 means INFINITE (instead of -1). This allows
removing yet another constant from header files.
Depends on D10799
Test Plan: Everything builds and passes tests. Elm_test Animation.Repeat has been adjusted accordingly.
Reviewers: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10800
This file is identical with test_naviframe.c and has no reference in our
build system. Found by the use of the Duplo duplicated code checker
tool.
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10777
They are just helpers, so a user does not need to handcreate spotlight
managers. This also leaves us the possibility of letting
spotlight_managers beeing @beta.
ref T7991
Differential Revision: https://phab.enlightenment.org/D10773
the spotlight now is setting the overall correct min and max size on
itself. Additionally, the page size is now clamped to the size of the
container.
Correct min size of the container is defined to the MAX min size of all
the content.
The correct max size of the container is defined to the MIN max size of
all the content.
ref T7991
Differential Revision: https://phab.enlightenment.org/D10766
Summary:
This patch defines the way style property will work at canvas_text object
1- Changing canvas_text style property using Font/Format/Style interfaces or with efl_canvas_text style property are the same.
Example:
```
efl_text_font_set(tb, "Arial", 30);
//is same as
efl_canvas_text_style_set(tb, "font=Arial font_size=30");
//which means calling
char * font;
int size;
int font_size;
efl_text_font_get(tb, &font, &size);
// calling this after any of the top two functions will return same result
```
2- style_get_property
Will return string that contains full details about all the current applied style at canvas_text level.
3- style_set_property
Will only override passed styles and leave everything else as it is
```
efl_canvas_text_style_set(tb, "font=Arial"); // overrider font name to Arial and leave everthing else
efl_canvas_text_style_set(tb, "font_size=30"); // overrider font size to 30 and leave everthing else (font name will stay arial)
```
Reviewers: ali.alzyod, woohyun, tasn, segfaultxavi, bu5hm4n, zmike
Reviewed By: woohyun
Subscribers: zmike, bu5hm4n, segfaultxavi, a.srour, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10607
when we refactored check boxes, cases that used unified events on legacy
obejcts broke, which is okay. So the usage needed fixing.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10703
Summary:
Implementation of new Efl.Text.Attribute_Factory class which replace the annotation interface.
Currently, we have two public methods:
```
void efl_text_attribute_factory_attribute_insert(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end, const char *format)
unsigned int efl_text_attribute_factory_attribute_clear(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end);
```
Other methods will be internal methods, for the time being, we will redesign internal methods
Reviewers: woohyun, tasn, segfaultxavi, bu5hm4n, zmike
Subscribers: zmike, q66, cedric, segfaultxavi, bu5hm4n, a.srour, #committers, #reviewers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10646
Summary:
Using the naive approach of checking if the name ends with `Flags`.
Ref T8411
Depends on D10708
Reviewers: brunobelo, segfaultxavi, felipealmeida, YOhoho
Reviewed By: felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8411
Differential Revision: https://phab.enlightenment.org/D10709
this commit merges common functions from efl_ui_multi_selectable and
efl_ui_multi_selectable_async. Additionally, the two different aspects
of accessing the elements in a multi_selectable widget (numerical or
object based) are now abstracted into interfaces called range_numeric and
range_object. numeric APIs are also prefixed with id's, so its possible
for one widget to implement both (if there will ever be the demand to do
that in future).
The main reason for this split is:
- there is no good common path between mvvm based multi_selectable and
object based multi_Selectable, so there is no way that both sides would
benefit, without the other one suffering.
- If we find later on the demand to implement both on one widget, we now
can fully do that
- Common API is available for both types, so its less API and less
confusion for the API user.
ref T7871
ref T8265
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10675
Summary: Was failing if the suffix were equal to the source string
Reviewers: felipealmeida, segfaultxavi, YOhoho, brunobelo
Reviewed By: brunobelo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10708
Summary:
Implementation of new cursor text object.
This Patch Contains :
1- Remove Efl.Text.Cursor & Efl.Text_Markup_Interactive interfaces and replace them with one Class Efl.Text.Cursor
=> there are some modifications on cursor methods
2- Update all related classes to use Efl.Text.Cursor object instead of the old interfaces
3- If class uses Efl.Text_Cursor_Cursor (handle), mainly annotation it will stay as it is until we update other annotations into attribute_factory
4- Add main cursor property into efl.text.interactive
5- Add cursor_new method in efl.ui.text (I think we may move it into efl.text.interactive interface)
There still some parts that need discussion: especially cursor movement functionality, I prefer to move function with Enum, instead of special function for each movement.
```
enum @beta Efl.Text.Cursor_Move_Type
{
[[Text cursor movement types]]
char_next, [[Advances to the next character]]
char_prev, [[Advances to the previous character]]
cluster_next, [[Advances to the next grapheme cluster]]
cluster_prev, [[Advances to the previous grapheme cluster]]
paragraph_start, [[Advances to the first character in this paragraph]]
paragraph_end, [[Advances to the last character in this paragraph]]
word_start, [[Advance to current word start]]
word_end, [[Advance to current word end]]
line_start, [[Advance to current line first character]]
line_end, [[Advance to current line last character]]
paragraph_first, [[Advance to current paragraph first character]]
paragraph_last, [[Advance to current paragraph last character]]
paragraph_next, [[Advances to the start of the next text node]]
paragraph_prev [[Advances to the end of the previous text node]]
}
move {
[[Move the cursor]]
params {
@in type: Efl.Text.Cursor_Move_Type; [[The type of movement]]
}
return: bool; [[True if actually moved]]
}
```
or old way:
```
char_next {
[[Advances to the next character]]
// FIXME: Make the number of characters we moved by? Useful for all the other functions
return: bool; [[True if actually moved]]
}
char_prev {
[[Advances to the previous character]]
return: bool; [[True if actually moved]]
}
char_delete {
[[Deletes a single character from position pointed by given cursor.]]
}
cluster_next {
[[Advances to the next grapheme cluster]]
return: bool; [[True if actually moved]]
}
cluster_prev {
[[Advances to the previous grapheme cluster]]
return: bool; [[True if actually moved]]
}
// FIXME: paragraph_end is inconsistent with word_end. The one goes to the last character and the other after the last character.
paragraph_start {
[[Advances to the first character in this paragraph]]
return: bool; [[True if actually moved]]
}
paragraph_end {
[[Advances to the last character in this paragraph]]
return: bool; [[True if actually moved]]
}
word_start {
[[Advance to current word start]]
return: bool; [[True if actually moved]]
}
word_end {
[[Advance to current word end]]
return: bool; [[True if actually moved]]
}
line_start {
[[Advance to current line first character]]
return: bool; [[True if actually moved]]
}
line_end {
[[Advance to current line last character]]
return: bool; [[True if actually moved]]
}
paragraph_first {
[[Advance to current paragraph first character]]
return: bool; [[True if actually moved]]
}
paragraph_last {
[[Advance to current paragraph last character]]
return: bool; [[True if actually moved]]
}
paragraph_next {
[[Advances to the start of the next text node]]
return: bool; [[True if actually moved]]
}
paragraph_prev {
[[Advances to the end of the previous text node]]
return: bool; [[True if actually moved]]
}
```
Reviewers: woohyun, tasn, segfaultxavi
Reviewed By: woohyun
Subscribers: a.srour, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10542
the mixin can handle the same things as the player. Additionally, the
usage of the mixin simplifies the animation usage alot.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10636
There exist several flags to indicate whether an object should be animated, with inconsistent names:
Efl.Canvas.Layout.animation: bool indicating if Edje animations should be played
Efl.Ui.Spotlight_Manager.animation_enabled: bool indicating if page transitions should be animated
Efl.Canvas.Animation_Player.animation: Efl.Canvas.Animation object
This commit unifies all of them: "animated" is now a flag, and "animation" is an object.
Note: Animation_Player is in the process of being replaced by an "animation" property in the
Efl.Canvas.Object, hence the need for non-clashing animation flags.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10645
some distros do odd things with source desktop files and set their
mtime timestamps to 0... thus we can't tell that there is a change.
thier ctimes do change, so consider the newer of either of these as
the modification time to not miss updates
@fix
Summary:
They don't actually store unmanaged memory and we already rely on the GC
to free them (not calling Dispose() directly through the managedCb
closure, so we don't need IDisposable.
Just making sure we release the Function Pointer data in the main loop
as the GC runs in a different thread.
Ref T8423
Depends on D10672
Reviewers: brunobelo, felipealmeida, YOhoho
Reviewed By: brunobelo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8423
Differential Revision: https://phab.enlightenment.org/D10673
Summary:
These methods may instantiate `IDisposable` classes like `Array`,
`Iterator` to pass to user-overriden C# methods. As we can't
guarantee the user stored the object or not, we can't call Dispose
directly on them.
Ref T8423
Depends on D10670
Reviewers: brunobelo, felipealmeida, YOhoho
Reviewed By: brunobelo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8423
Differential Revision: https://phab.enlightenment.org/D10671
Summary:
This also adds a helper method to convert from a value type name to the
reference type name. (e.g. int to Int32).
Ref T8430
Reviewers: felipealmeida, brunobelo, YOhoho
Reviewed By: brunobelo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8430
Differential Revision: https://phab.enlightenment.org/D10653
Summary:
```
private static void relation_left_get(System.IntPtr obj, System.IntPtr pd, Efl.Gfx.IEntity child, out Efl.Gfx.IEntity kw_base, out Efl.Gfx.Align relative_position)
{
Eina.Log.Debug("function efl_ui_relative_container_relation_left_get was called");
var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);
if (ws != null)
{
base = default(Efl.Gfx.IEntity);relative_position = default(Efl.Gfx.Align);
```
Parameter name is replaced with `kw_base` but `base` is not changed in assignment expression (`base = default(Efl.Gfx.IEntity...`).
This patch will fix following compiler error.
```
src/bindings/mono/efl_ui_relative_container.eo.cs(544,21): error CS1525: Unexpected symbol `=', expecting `.' or `['
```
Test Plan: ninja with D10640
Reviewers: lauromoura
Reviewed By: lauromoura
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10639
Summary:
`efl_part_get` is protected in C due to the presence of `efl_part`,
which does automatic refcount management in single method calls.
The C# binding has no limitation on this as it already handles the
lifetime for all objects.
Fixes T8462
Reviewers: brunobelo, segfaultxavi, SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8462
Differential Revision: https://phab.enlightenment.org/D10594
This reverts commit 2f676a6591.
This causes segv's in edje_cc - i suspect the eet changes (or in combo
to how they are used in edje):
AddressSanitizer:DEADLYSIGNAL
=================================================================
==8991==ERROR: AddressSanitizer: SEGV on unknown address 0x000001010000 (pc 0xffff9f002604 bp 0xfffffa747700 sp 0xfffffa747700 T0)
==8991==The signal is caused by a READ memory access.
#0 0xffff9f002600 in _eet_hash_gen ../src/lib/eet/eet_utils.c:25
#1 0xffff9efdd024 in eet_dictionary_string_add ../src/lib/eet/eet_dictionary.c:103
#2 0xffff9efbe324 in eet_data_put_string ../src/lib/eet/eet_data.c:849
#3 0xffff9efc1c4c in eet_data_put_type ../src/lib/eet/eet_data.c:1427
#4 0xffff9efd9128 in eet_data_put_unknown ../src/lib/eet/eet_data.c:4730
#5 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
#6 0xffff9efd5958 in eet_data_put_variant ../src/lib/eet/eet_data.c:4309
#7 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
#8 0xffff9efd9270 in eet_data_put_unknown ../src/lib/eet/eet_data.c:4739
#9 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
#10 0xffff9efd8ca0 in eet_data_put_array ../src/lib/eet/eet_data.c:4692
#11 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
#12 0xffff9efc7768 in eet_data_write_cipher ../src/lib/eet/eet_data.c:2403
#13 0xffff9efc78a4 in eet_data_write ../src/lib/eet/eet_data.c:2420
#14 0xaaaabb151dcc in data_thread_group ../src/bin/edje/edje_cc_out.c:2045
#15 0xaaaabb152130 in data_write_groups ../src/bin/edje/edje_cc_out.c:2086
#16 0xaaaabb157734 in data_write ../src/bin/edje/edje_cc_out.c:2866
#17 0xaaaabb14122c in main ../src/bin/edje/edje_cc.c:456
#18 0xffff9dbd92a0 in __libc_start_main (/usr/lib/aarch64-linux-gnu/libc.so.6+0x242a0)
#19 0xaaaabb13ea00 (/home/raster/C/git/efl/build/src/bin/edje/edje_cc+0x38a00)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../src/lib/eet/eet_utils.c:25 in _eet_hash_gen
==8991==ABORTING
Aborted (core dumped)
When compiling breaks... it's certainly time to revert ASAP :(
Summary:
OK, so, ALL interpolator parameters were called "factor" and the docs
literally said "First factor, Second factor, ..."
After diving into the actual implementation, proper names (and types) for the
parameters were found and proper docs written.
I am afraid I could not make any sense of the Divisor interpolator code. Those
docs still need writing.
Test Plan: Everything still builds and passes tests. No functional changes.
Reviewers: zmike, cedric, bu5hm4n, Jaehyun_Cho
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10603
Summary:
This makes sure the user is warned if it ignores a return value that
could potentially be a memory leak.
This also makes possible to use `value {}` blocks with `@move` instead
of value-less properties with `@no_unused`.
Also removed the `@move` from canvas_text_async_layout as it is ignored
in the only place it is used.
Reviewers: q66
Reviewed By: q66
Subscribers: #reviewers, #committers, bu5hm4n, felipealmeida, cedric, segfaultxavi
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10601
Summary:
with this the passing of positions is getting more easy. Additionally,
Reading the API call gets easier, as parameters are semantically
grouped.
Depends on D10558
Reviewers: segfaultxavi, Jaehyun_Cho
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8288
Differential Revision: https://phab.enlightenment.org/D10559
Summary:
in task T8288 we concluded that a few APIs need to be adjusted in order
to stabelize animation classes at some point. This also adds a new macro
to eina in order to create EINA_VECTOR2 values more easily.
ref T8288
Reviewers: Jaehyun_Cho, segfaultxavi, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8288
Differential Revision: https://phab.enlightenment.org/D10350
Summary:
`efl_event_callback_forwarder_priority_del`
=> It can be replaced with `obj.XXXEvent -= callback;`.
Furthermore, `efl_event_callback_forwarder_priority_add` is already in blacklist.
`efl_ui_widget_input_event_handler`
=> It can be replaced with `obj.DownEvent`, `obj.UpEvent` and `obj.PointerWhellEvent`.
`efl_access_object_event_handler_add`
`efl_access_object_event_handler_del`
`efl_access_object_event_emit`
=> They are functions to handle global event related to access(E.g. `elm_atspi_bridge`).
It should be generated to `static event` in C#.
Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true
Reviewers: lauromoura, Jaehyun_Cho
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10585
Summary:
Instead of using the empty interface as tag, split MarshalOwn into two
marshalers that can be used directly.
Fixes T8395 (CA1040)
Test Plan: no new functionality. Use existing tests
Reviewers: felipealmeida, brunobelo, segfaultxavi, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8395
Differential Revision: https://phab.enlightenment.org/D10457
Summary:
The internal and the API we would like is mostly a canvas API. A lot of the code
in evas is working around the fact that efl_input_device is not defined inside Evas.
This patch is the first step to try to clean this up.
Depends on D10487
Reviewers: zmike, raster, bu5hm4n, Hermet
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10488
This code is filled with out of bounds accesses now after the reverted
patch. All those base_char+1, itr+1 etc. in
evas_common_font_query_run_font_end_get() are accessing BEYOND
the end of the run. textgrid shows this instantly to fall over as it
uses single unicode codepoint chars with no nul terminator. As this
api takes an explicit run_len we should never access beyond the end of
the run_len.
Please revisit this code and keep in mind proper memory/bounds
accessing. If there was ano run_len and it assumed strings were
regular strings that had to be nul terminated... then it might be ok,
but not here.
of course if i put in guards for these +1's then it ends up in
infintie loops, so enough debugging and send it back for a rethink. :)
....
Revert "evas_object_textblock: add support for variation sequences"
This reverts commit 46f2d8acdc.
if you want to build a edje theme without building all of efl, you can
do that now. Before embryo was missing and no scripts could be compiled.
Now this is possible and works.
Summary:
Like C#, it will also be Apache 2.0
Depends on D9414
Reviewers: vitor.sousa, woohyun, jpeg, lauromoura
Reviewed By: lauromoura
Subscribers: jpeg, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9418
Summary:
C# bindings will be lincensed under Apache Sofware License 2.0.
This commit adds the license text to the licenses folder and a copyright
notice to the binding files.
Fixes T8039
Reviewers: woohyun, felipealmeida, vitor.sousa
Reviewed By: felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8039
Differential Revision: https://phab.enlightenment.org/D9414
Summary:
Instead of accessing them directly, generated code should access them
only through proper managed wrappers.
JIT should take care of inline them.
This would allow D10338 without depending on the friendly assembly feature.
Reviewers: YOhoho, felipealmeida, brunobelo, woohyun, segfaultxavi
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10366