Summary:
It was missing setting the 'is_ref' parameter to 1 to mirror the
internal_start call.
Test Plan: make check
Reviewers: cedric
Subscribers: #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6193
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
This reverts commit 2fb5cc3ad0.
Most of this change where wrong as they didn't affect the destruction
of the object. efl_add_ref allow for manual handling of the lifecycle
of the object and make sure it is still alive during destructor. efl_add
will not allow you to access an object after invalidate also efl.parent.get
will always return NULL once the object is invalidated.
Differential Revision: https://phab.enlightenment.org/D6062
Summary:
efl_ui_format_string_set was not working well.
Changed default format text. ("++++ %d" text for test only.)
@fix
Reviewers: Jaehyun_Cho, cedric, woohyun
Reviewed By: Jaehyun_Cho
Subscribers: zmike, cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6044
Summary:
User may want to set as meanignful words for the value instead of numberic value.
@feature
Test Plan: elementary_test->test_ui_spin_button.
Reviewers: cedric, woohyun, Jaehyun_Cho, herb
Reviewed By: Jaehyun_Cho
Subscribers: zmike, felipealmeida, cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5969
Summary:
Besides the normal methods returning Futures, we now generate
a wrapper with the "Async" suffix. This wrapper returns a
Systems.Threading.Tasks.Task which can be awaited on and reflect the
status of the Future.
When an eina.Future fails with ECANCELED, TaskCanceledException is
raised in the Task. Otherwise, an efl.FutureException(eina.Error) is
raised.
Depends on D6174
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6175
Summary:
Promise/Future cleanup:
In the promises, we use a wrapper Eina_Promise_Cancel_Cb to
invalidate the wrapper if it ever gets cancelled from outside. When
invalidating from C#, we can do it directly.
For the futures, likewise, in order to be able to invalidate the
wrapper when the chain it belongs to gets resolved we then() an
internal future with a callback to invalidate the wrapper we return to
C#. The return of this intermediate then() is the future we actually
return to the user.
Also added ECANCELED to the list of default eina.Errors
Depends on D6173
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6174
Summary:
eina.Value.Empty now means that we have an zeroed (empty) eina value.
For optional values that are empty use eina.Value.OptionalEmpty.
This was required to support the empty values passed with
EINA_VALUE_EMPTY in some Ecore futures.
Also, returning an eina_value by value is not supported in eolian
for safety reasons, so we removed some tests that tried to use this
behavior.
Depends on D6171
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6172
Summary:
Event argument was getting its type name from another path, different
from the type_generator.
In later commits the other functions from name_helpers should use the
type_generator too.
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6170
we have a limited number of filedescriptors available, a theme can
consist out of a number of groups with scripts, keeping the fd for later
use is going above the maximum number of open files, thus use the path
of the file, not the fd to access the file.
fix T6922
Differential Revision: https://phab.enlightenment.org/D6159
Summary:
Due to the absence of typedef from C#, we generate thin structs with
implicit operators to allow reference the data from their typedef'd name
from C#.
The other alternatives would be always converting to the lowest base on
the alias stack (losing the meaningfulness of the typedef name) or using
the 'using' directive. The latter has the restriction that it makes an
alias visible only in the file they are declared.
Reviewers: felipealmeida, cedric, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6157
yes. in theory it can exist, so add a test for it. because for flat
theme i actually have an idea where vrtical vs horizontal do look
different and the theme already procvided both via an alias and code
would use them if needed... so... why not?
Summary:
Now the generated classes use an approach more familiar to C#
developers:
Interfaces: efl.Object -> efl.IObject
Concrete (implementation) classes: efl.ObjectConcrete -> efl.Object.
During this change, some methods that could clash with the
implementation class name (CS0542) had the prefix "Do" added (like in
efl.Duplicate.Duplicate() and efl.Pack.Pack()).
Depends on D6049
Reviewers: felipealmeida, vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6050
Summary:
Uses a common helper to open and close namespaces, to get the managed
and unmanaged name of things, the interface, concrete and inherit class
names, etc.
eolian_cxx: Add namespace information to func_def, as it'll avoid
eolian-cxx clients dealing with the eolian C api directly when trying
to access a function pointer namespace.
Depends on D6048
Reviewers: felipealmeida, vitor.sousa
Reviewed By: vitor.sousa
Subscribers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6049
Summary:
This includes test cases for the Genlist Item Show Changes ( D5428 )
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Test Plan: Elementary Test -> Genlist Item Show
Reviewers: SanghyeonLee, cedric, raster, prince.dubey
Subscribers: shilpasingh, rajeshps, jpeg
Differential Revision: https://phab.enlightenment.org/D5499
This reverts commit d83ebb6980.
Had to revert this as it break backward compatibility with what theme
expect to be the default value. We could reintroduce this with a version
check if necessary.
T6885
Summary:
the basic concept of Efl.Ui.Tab_Pager is similar to elm_toolbar.
user can attach Efl.Ui.Tab_Bar to the tab_pager.
user can create an Efl.Ui.Tab_Page to add tab label, tab icon and set the content of the page.
user can pack Efl.Ui.Tab_Page into tab_pager.
The tab and page match one to one.
user can controls tab and page through tab_pager.
See T5317
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: cedric, woohyun, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: eunue
Differential Revision: https://phab.enlightenment.org/D5988
Summary:
Using a type visitor scheme similar to type and marshall_type, to ease
increasing coverage for other types if needed.
Also, changed the filter functions for those selections to check for the
full name of the regular_type_def, allowing a better specificity of the
name selections. This fixes things like "Eina.Error", which was
conflicting with Efl.Image.Load.Error when we compared only the last
name. It didn't appear before as Load.Error only appears in a
Efl.Image.Load event.
Depends on D5996
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5997
Summary:
Making it easier to share code between self and inherited events.
During this move, the namespace and keyword headers were merged into the
name_helpers header.
Also added the first seed of a generic namespace reducer function,
to be used by other functions in later commits.
Depends on D5994
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: segfaultxavi, cedric
Differential Revision: https://phab.enlightenment.org/D5995
Summary:
Blacklist functions are all in the header/namespace blacklist.
Helper functions returning strings (names) are in the name_helpers
header. They act somewhat like "mini-generators".
Helpers.hh was left with other kind of helper functions (checks, etc)
that do not return strings.
Depends on D5992
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5993
Summary:
To deal with events with the same name as some methods (Del, Invalidate,
etc), the suffix Evt was added.
Thus, now we use
obj.ButtonClickedEvt += callback;
Instead of
obj.BUTTON_CLICKED += cal
The argument classes use the same scheme, being called <Evt name>_Args.
Depends on D5991
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5992
Summary: It was a reminiscing bit from the c++ generator.
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5991
Added 4 buttons to the "genlist group tree" to perform
item next/prev/first/last.
This test works correctly by reverting fd82c2521e but it
still in contrast with the item_next() docs, that say item_next
should not descend in item childs.
I think that the docs is also wrong, as I never saw the behaviour
that is explained there.
Add test using Efl.Ui.Stack, Efl.Ui.Navigation_Layout, and
Efl.Ui.Navigation_Bar classes.
Navigation_Bar widget is set into Navigation_Layout widget and
Navigation_Layout widget is pushed into Stack widget.
Summary:
Revert e02b2f04c2945ad60fab5612af1e02b0838b7ff5.
I couldnt make a revert commit for many commit has been related with above commit.
I will create a new MBE eo class ASAP. (https://phab.enlightenment.org/T5358)
Reviewers: cedric, woohyun, Jaehyun_Cho, SanghyeonLee, herb
Reviewed By: Jaehyun_Cho
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5954
Doc refs no longer introduce new dependencies into files. Instead,
they're parsed globally, and any doc ref lookup is also made
globally. This allows unit based dependencies to correspond more
to what files actually really need at compile time/runtime, with
docs being irrelevant to that; it also simplifies the API.
The doc resolution API now takes Eolian_State instead of
Eolian_Unit, too.
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.
Ref T6859.
Summary:
Legacy menu toolbar and ctxpopup are not new efl interface widget,
but it have efl interfaces, efl_ui_item and efl_ui_menu.
if we plan to implement this two, it should be a class not a interface,
so I remove it on legacy widget.
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5939
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Previously, class methods were implemented as regular instance methods.
This commits generates C# static methods for @class methods on the
*Concrete classes (and their childs).
To synchronize other types of event info,
Efl_Canvas_Animation_Player_Running_Event_Info is changed to
Efl_Canvas_Animation_Player_Event_Running.
Remove unused struct.
Function pointers now go through the same argument marshalling pipeline
as normal functions.
This will enable interfaces like Efl.Ui.Format to work properly.
The highlight should start on the second genlist item,
instead nothing is highlighted on first run.
The highlight come back to normal if you press up/down,
or if you give/remove the focus to the window 2 times.
Instead of
var bg = efl.ui.Background.static_cast(myobj.Part("background"));
Now do
var bg = myobj.Background;
Also a couple helper functions were added.
In general, ptr(struct) parameters behavior depends whether the
parameter has the @owned modifier or not.
If there is no @owned parameter (meaning no transfer of ownership
happens) and it is a "complex" struct, with reference type fields
(like strings), the struct is converted to the respective
<Struct>Internal struct and passed with "ref" to the DllImport'd
function. For @in parameters, after the function it returns, this
intermediate struct is converted to the public struct type and
assigned to the original parameter, updating it to the external
world.
When we have ownership transfers, the structure is copied to unmanaged
memory and given to the callee. We can't send managed memory directly as
the callee may try to free it. On the managed side, the original struct
is left to be garbage collected normally.
Summary:
C# does not have a literal form for structs (like C++'s {} aggregate
initialization). Before this commit the user would need to explicitly
instantiate a struct and assign the required values to it, like:
eina.Size2D size;
size.W = width;
size.H = height;
widget.SetSize(size);
As a workaround, this commit generates helper constructor with
parameters corresponding to the struct fields in the order they are
declared. These parameters have default values if one does not want to
explicitly initialize all fields directly. With these constructs, the
above code could be translated to:
widget.SetSize(new eina.Size2D(width, height));
It should be noted that the constructed struct will live on the managed
memory (GC) instead of the stack.
Test Plan: run "make check"
Reviewers: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5838
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
I did it wrong.
The "Elm_Multibuttonentry_Format_Cb" should be maintain for legacy.
efl_ui_XXX has to use efl_format interface.
@fix
Test Plan: elementary_test->multibuttonentry sample.
Reviewers: cedric, woohyun, Jaehyun
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5824
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Increasing offset as 2 for next map points is wrong.
If evas tries to draw for wrong combination of map points,
it can cause wrong results. Actually, every drawing code for
map points use and increase offset as 4.
@fix
Test Plan:
A test case for textpach is modified for testing this issue.
1. Run elementary_test with sync render mode.
ex) ECORE_EVAS_FORCE_SYNC_RENDER=1 elementary_test
2. Open textpath test.
3. Set a short text by clicking newly added check box.
4. (It will show another issues... So,) change slice number to update textpath properly.
5. See some noises at top-left side of text.
It is drawn from the two of end map points to the two of empty(not used) map points.
Reviewers: raster, cedric, jpeg, jypark
Differential Revision: https://phab.enlightenment.org/D5833
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
This reverts commit 135154303b.
Revert "efl: move signal events from efl.loop to efl.app"
This reverts commit 3dbca39f98.
Revert "efl: add test suite for efl_app"
This reverts commit 3e94be5d73.
Revert "efl: create Efl.App class, the parent of Efl.Loop"
This reverts commit 28fe00b94e.
Go back to before efl.app because I think this should be done with
superclassing here not a parent object. reasons?
1. multiple loops per single thread make no sense. so if multilpe loop
objects they wont be contained in a single app object and then deleted
like this.
2. the app object is not really sharable in this design so it cant be
accessed from other threads
3. it makes it harder to get the main loop or app object (well 2 func
calls one calling the other and more typing. it is longer to type and
more work where it is not necessary, and again it can't work from
other threads unless we go duplicating efl.app per thread and then
what is the point of splittyign out the signal events from efl.loop
then?)
etc.
this uses the just-added "id" property to allow referencing images
by name from that theme. example:
=FILE1=
id: "myfile";
images.image: "someimage.png" COMP;
=FILE2=
requires: "myfile";
images.image: "someimage.png" EXTERNAL "myfile";
FILE2 will now load someimage.png from FILE1 at runtime if FILE1 is
currently opened in edje, and FILE1 will be kept open until FILE2 is
closed
@feature
Summary: see also 73f8b3b78f
Test Plan:
1. elementary_test -to progressbar
and elementary_test -to efl.ui.progressbar
2. check that icon and text are visible
Reviewers: cedric, woohyun, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5818
Summary:
See also 73f8b3b78f
because slider use "elm.swallow.icon" part name, it don't need to edit .c file.
Test Plan:
1. elementary_test -to efl.ui.slider
2. check that icon and text are visible
Reviewers: cedric, woohyun, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5822
use sizeof the buffer rather than constant in snprint and 0.5 rather
than .50 which almost looks like a typo... :) also use correct escape
for % (%%%% so it becoems %% which is correct for a fmt string yto
produce %)
this option was broken due to immediately triggering EMFILE errors
during thread initialization and then attempting to exit while threads
were still ongoing
some work is still needed to make this an improvement over the current
default of not using threads
@fix
This interface has a simple 'create' method to create Efl.Canvas.Object
given a key.
This is used higher-up in Ui.Text in the next commit.
Ui text: add ability to set item factories
Added API to set an item factory object.
This is similar to the previous item providers (that worked with
callbacks).
You instantiate a factory object and set it on the Ui.Text object.
Each factory implements the "create" method from
Efl.Canvas.Text.Item_Factory.
This also includes 3 public factories (Image, Emoticon and Fallback):
- Image factory: creates images from added entries (key strings)
- Emoticon factory: creates emoticons by querying the theme
- Fallback: creates image, then falls back to emoticon
If no factory is set, then the fallback (internal) factory is used.
See the added "Ui.text Item Factory" test in elementary_test for an
example of usage.
@feature
As it is no longer necessary to pass unit when evaluating exprs,
it is not necessary to pass it here either. Convert all the APIs
to the new style and update all instances in our tree.
Summary:
Efl.Player interface simply provides play functions,
but another interface which indicates Efl.Player will play is also
needed.
Test Plan: Run elementary_test->Efl.Animation tests
Reviewers: woohyun, conr2d, Jaehyun_Cho, jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D5662
Summary:
Short/middle term: use UTF-16 on Windows.
So I plan to remove most of external API (like dirent in Evil) and use only EFL to have less work later
Test Plan: compile and run elm_test
Reviewers: jpeg
Subscribers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D5731
Added a new test "Focus 6", it's an not very
complex elm layout: a swallowed genlist and three
buttons in an edje box.
You should be able to navigate the layout with
just the keyboard, that is currently impossible.
With the help of the mouse click you can randomly
make the key navigation work again... this is
mostly random.
...should help to make progress on T6453
Summary:
clicked event will be called when alert popup's button is clicked.
But usually, clicked event means when object is clicked, not sub object is clicked.
So it is so ambiguous, event name change.
Test Plan:
1. elementary_test -to efl.ui.popup.alert
2. click button.
Reviewers: Jaehyun_Cho, herb, jpeg, cedric
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5722
This commit adds the "documentation" generator, which gets the
documentation_def attribute of the given item and generates xml comments
to be exported by MCS.
For items requiring some customization of the generated comments (e.g.
functions and its parameters), the helpers to generate the preamble
(summary), body (paragraphs) and epilogue (currently just the @since
tag) were added.
Currently we do not support converting Eolian references into xmldoc
references.
As we explicitly generate Get/Set methods for properties, for now the
generator tries to get the get/set specific documentation first. If it
is not present, fallback to the common docs.
Later this could be changed to generate the common one as paragraphs of
the Get/Set.
Also some generated code like the wrappers for calling C# methods
from C can be private. This will cleanup the introspection results
and warnings when generating documentation.
Due to this visibility change, the binbuf tests had to be changed
to add redirect calls to the native methods instead of directly
calling the DllImport'd methods.
Summary:
Change name of 'grid' to 'table' for matching on common ui naming
and avoiding confusion with 'gengrid' and 'grid view'.
grid will be introduced as grid image view after.
Test Plan:
checked make & make install
checked make check - there are errors but not related with these changes.
checked make examples - there are errors in cxx but not related with these changes.
checked make discheck - failed
test in elementary_test with Efl.Ui.Table and Table_static.
Reviewers: raster, cedric, jpeg, felipealmeida
Differential Revision: https://phab.enlightenment.org/D5668
Summary:
scrollable widgets had a interface_scrollable as a mixin so that the
widgets had a 'is-a' relation with interface_scrollabe. however, new
scroller concept don't have 'is-a' relationship, but 'has-a'
relationship. scrollable widgets should have a scroll manager inside
them, then scroll manager handles event from user and api
implementations. and also we cut the features such as paging because
there will be aka 'elm_pager'.
we are expecting that the new concept make us to maintain the scroller
easier. please excuse for many unorganized code and logics. : (
[contained commit]
scrollable: add efl_ui_scroller example
scrollable: refactoring for behavior in case of multiple scroller
scrollable: remove repetitive scrollbar code.
scrollable: combine calculating bounce distance code.
scroll_manager: mouse up function refactoring
scroll_manager: mouse move function refactoring
scroll_manager: warp animator wip
scroll_manager: fix denominator value when calculating flicking behavior.
Fix to disconnect bounce animator once animation is done
gather duplicated animator drop logics
gather duplicated conditions
Rearrange prototypes and append comment
Add manipulate functions for animators
scroll_manager: change member_add function.
scroll_manger: apply mirroring logic
scroll_manager: apply scrollbar
apply API to scroller widget
scroll_manager: apply scroll event callback
Change logics for all about scroll animating
efl_ui_pan: add efl_ui_pan
scrollable: change content_min_limit to match_content
scroll theme: apply overlapped scrollbar
+ many others!
Reviewers: akanad, woohyun, cedric, jpeg
Subscribers: jenkins, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5222
Note by @jpeg:
Unfortunately this patch comes in a massive single blob, after too many
rebase operations. It has now come to a point where I think the API is
nice and it works as I'd expect.
Now I only wonder how applicable this will be for Efl.Ui.List. As we can
see Photocam (legacy and unified API) could be transformed to use this
new API.
Summary:
when efl_image_load_size_set() is called, image only sets
internal variable and not apply to the internal image.
elm_image_prescale_set() is also affected.
Test Plan: Run elementary_test->Image Prescale
Reviewers: jpeg, eunue, woohyun
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5645
Summary:
- Previous class efl_ui_bg moved to efl_ui_bg_widget.
- Scale_type moved to efl_image from efl_ui_image.
- Previous enum Efl_Ui_Image_Scale_Type moved to Efl_Image_Scale_Type.
Test Plan:
Run elementary_test
1.Image Scale Type
2.Efl.Ui.Bg
3.Efl.Ui.Win
4.Part Background
Reviewers: jpeg, woohyun, cedric
Differential Revision: https://phab.enlightenment.org/D5616
Fix several integer binding type deduction based in its size on C.
Generation for function pointers no longer use modified argument name
which is different from the parameter name.
New generation context for structs.
bool from UnmanagedType.I1 to UnmanagedType.U1 (correct use
inside structs according to mono documentation).
byte (signed char) and int8 now is correctly represented by
sbyte in C#.
Check parameter direction in some out generators in parameter.hh.
Add efl_libs.csv to gitignore.
Make eina.Value pointer constructor public.
Add missing fields to efl.kw_event.Description struct.
Remove eina.File workaround (let struct gen handle it).
Remove is_function_ptr bool from regular_type_def and
add a typedecl_type enum to it. Also add some helper
methods for easier comparison.
Left some test cases commented for when pointer parameters
are properly working.
Summary:
Size and align calculation in Efl.Ui.Popup was advanced using group calculate,
so Efl.Ui.Popup.Anchor apply it also.
Test Plan: elementary_test -to efl.ui.popup.anchor
Reviewers: Jaehyun_Cho, herb, jpeg, woohyun, cedric
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5655
Efl_Ui_List doesn't properly define, as it should, the class Efl_Ui_List_SegArray. This workaround allows the mono binding compilation in spite of this.
Summary:
The Encoding key is no longer required, all desktop files are assumed to
be UTF-8 encoded. See details at:
https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html
Fix various typos and misspellings
lintian, Debian's package checker, uses strings to check for common typos
in compiled binaries. This change fixes the ones it identified in 1.20.6.
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5584
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: add expandable feature for text popup
Test Plan:
1. run elementary_text -to Ui.Popup.Alert.Text
2. check the cases of the sample
Reviewers: Jaehyun_Cho, jpeg, woohyun, thiepha, Blackmole, cedric
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5547
I added convenience macros for check and radio, easing discoverability
in C.
This will avoid C# issues such as:
lib/elementary/elm_pan.eo.cs(14,23): warning CS0108: `elm.Pan.CHANGED'
hides inherited member `efl.Gfx.CHANGED'. Use the new keyword if hiding
was intended
lib/efl/interfaces/efl_gfx.eo.cs(24,23): (Location of the symbol related
to previous warning)
Since nstate is not a legacy widget, I can safely change the event name
and the test case.
Summary:
The name 'loop' is already there in efl canvas.
loop -> circulate.
Test Plan: elementary_test -> efl_ui_spin_button test.
Reviewers: jpeg, Jaehyun_Cho, woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5639
Summary: add more test caces for efl.ui.popup.alert.scroll popup
Test Plan:
1. run elementary_test -to efl.ui.popup.alert.scroll
2. check the test cases
Reviewers: Jaehyun_Cho, jpeg, woohyun, thiepha, cedric, Blackmole
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5631
Summary: Applied new theme group name. Moved logic in finalize to constructor.
Test Plan: Run elementary_test->Efl.Ui.Spin, Efl.Ui.Spin.Button, Part_Background
Reviewers: jpeg, woohyun, CHAN
Reviewed By: CHAN
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5592
Summary:
eolian_cxx was segfaulting due to a null unit being passed to
class_get_by_file.
Reviewers: felipealmeida, jpeg, q66
Differential Revision: https://phab.enlightenment.org/D5611
This resolves a few issues and brings back the experimental features.
Also, disable some of the ugliest experiments:
- manual function overrides,
- define APIs only in eo_cxx namespace
Some APIs are generated behind EFL_CXXPERIMENT (eg. event_name_cb_add or
some weak pointer stuff). I believe they are useful but would like to
make sure there are no serious drawbacks with generating those.
Mono's JIT fails to generate function pointer for delegates with empty
structs in the signature, leading to those mini-amd64.c crashes on empty
fields.
This commit generates a placeholder IntPtr field in empty structs.
A few classes allow their objects to be duplicated, so they should all
use the same interface.
Also, rename VG's dup to copy_from as it's not conforming to the
definition of dup.
This removes the internal function pointer for scale_update. This makes
all relevant classes implement the scale API in EO.
This removes the duplicate function in Efl.Canvas.Object and only uses
the one from Efl.Ui.Base interface.
This *seems* to be working as expected. Fingers crossed!
PS: I don't like the name Efl.Ui.Base. It's an interface for a few
common API's between Gfx, Canvas and UI levels... Maybe scale simply
doesn't belong there.
Summary:
Enable value change using wheel.
(Up, Down key value change will be supported after D4933 dicussing.)
Test Plan: elementary_test efl_ui_spin test sample.
Reviewers: Jaehyun_Cho, jpeg, woohyun
Reviewed By: Jaehyun_Cho
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5546
Summary: make Efl.Ui.Popup sample codes simpler
Test Plan:
1. run elementary_test -to efluipopup
2. test various options of efluipopup by clicking each button
Reviewers: Jaehyun_Cho, Blackmole, jpeg, cedric, woohyun
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5366
Summary: Replace Efl.Ui.Popup.Alert's title set method to using efl_text_set with efl_part
Test Plan: elementary_test -to efluipopupalert
Reviewers: jpeg, Jaehyun_Cho, woohyun, herb
Reviewed By: Jaehyun_Cho
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5359
Summary:
Add initial code for Efl.Ui.Popup.Alert class.
It supports setting title and buttons.
Test Plan: 1. run elementary_test -to efluipopupalert
Reviewers: Jaehyun_Cho, jpeg, cedric, thiepha, Blackmole, woohyun
Differential Revision: https://phab.enlightenment.org/D5108
Summary:
add align feature and position properties (center, left, right, top, bottom)
efl_ui_popup_position_set should be seperated from evas_object_move
since evas_object_move can be called internally.
Test Plan: 1. run elementary_test -to efluipopup
Reviewers: Jaehyun_Cho, jpeg, cedric, thiepha, Blackmole, woohyun
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5105
Summary:
https://phab.enlightenment.org/T5900
Creating base class(efl_ui_spin) to support various shape of spinner.
Added button interaction widget efl_ui_spin_button inherited from efl_ui_spin.
Test Plan: Add tests in elementary_test.
Reviewers: Jaehyun_Cho, woohyun, jpeg, singh.amitesh
Subscribers: jenkins, id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5424
Summary:
since legacy elm_bg_color_set/get is changed to efl_gfx_color_set/get,
efl_gfx_color_get also should get color of inner rect.
@fix
Test Plan:
1) run elementary test.
2) run Bg EO API(Efl.Ui.Bg)
3) set/unset "Bg color" check.
4) observe printed color values.
Reviewers: jpeg, woohyun, cedric
Differential Revision: https://phab.enlightenment.org/D5429
See previous commit :)
Note: right now the background part has a small 3d indent which comes
from the legacy theme being used. This will be fixed soon.
If group inherits after setting "inherit_script: 1;", inherit_script
is overwritten by the value of parent group. However, inherit_script
indicates user wants to inherit script in this context, it should not
be initialized as false.
If checked, it will list only the EO test cases.
Also add some stupid icons, and try to make the test case names more
uniform.
Test cases marked as EO are not necessarily 100% EO code, but it would
be good to make them so.
If you want to have EFL application behave in a more efficient way. Like dropping
memory usage or stopping unecessary network operation, this option should be on
and the application should listen on PAUSE/RESUME event on the main loop.
When using reusable content, genlist preserves old object's state and is
expecting reusable_content_get callback to change all needed properties.
But there was an inconsistency: it was silently re-enabling the old content.
@fix
Summary:
When ctxpopup's content is removed,
ctxpopup doesn't recalculate its size, so empty space is remaind.
To fix this problem, ctxpopup recalculate its size when content is removed.
This patch is about T6327
@fix
Test Plan:
1. run elementary_test -to ctxpopup
2. select 10st item
3. click button in ctxpopup
Reviewers: jpeg, Jaehyun_Cho, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5462
This commit add the event "circular,dependency" for edje object. Given
event is called when edje found the circular dependency between parts
in object. This event will be usefull and informative paired with
Edje_Edit API.
There are use cases where you would want to align by a value.
The wordy alignment values are thus removed.
This commit also separates auto-modes (none, normal, locale) for
horizontal alignment to its own API.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Previously the output base name used to include extension, now
you don't need to specify an extension and it's determined from
the input file name instead.
Also, implementation boilerplate used to merge with .eo.c before,
which made no sense. Now it's merged with .c instead when it
exists or makes a new .c file when it doesn't.
indicator_format_set/get & indicator_format_function_set are
now legacy APIs.
indicator format can be set by using generic Ui.Format function
e.g.
efl_ui_format_string_set(efl_part(sliderObj, "indicator"), "1.0%f");
elm_colorselector is legacy only (for now, unfortunately).
This means that elm_colorselector_class_get() crashes with weak linking.
Strong linking would make the compilation fail.
Apparently this isn't well supported by dash, which will print an
error and return a 2, where zsh and bash will return 255.
Explicitly returning 255 seems least surprising.
see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772322
#IHaveNoIdeaWhatThisScriptDoes
This prevents legacy EO classes from being exposed through .eo.h headers
or .eo in share/eolian/includes. Also removes a slew of useless xxx_eo.h
intermediate headers.
Notes:
- elm_systray has no proper API: it's not clear if the EO API should be
released (in which case it needs to be renamed to efl_something) and
there is no legacy API to create a systray object.
- Some files have been placed in a "FIXME" section, as I believe they
are necessary within EO land, but at the same time still don't
conform to the interfaces (eg. name starts with elm_).
- elm_interface_scrollable is required by photocam. This means photocam
needs to be adapted to fit the EO scroller API (still to be
completed, I believe).
Bugs:
- This breaks most C++ examples. I KNOW. And I'm working on it.
Ref T5301
Summary:
**@feature** T6241
This feature enables genlist to pin an item to viewport which will
be available always for user to view/select.
**Use Case**:
In a big list of music, most times when user finds a song which they
like, before playing that they may want to go through the entire list
to check whether there is some other good songs, but
after seeing the entire list user have to again scroll back to the
position of item which they liked to play it then.
In this case item pinning can be used, so that the item
which they want to keep for future selection can be pinned
and then it will remain in viewport, finally when user want to do
operation on item, it will be readily available in viewport.
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Test Plan: Elementary Test -> Genlist -> Double click on items to enable/disable pinning
Reviewers: raster, cedric, prince.dubey, SanghyeonLee
Subscribers: rajeshps, jpeg, shilpasingh
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5340