Commit Graph

672 Commits

Author SHA1 Message Date
Cedric BAIL 76fa50f58b ecore: remove use of efl_main_loop_get from example. 2018-01-08 10:08:43 -08:00
Jean-Philippe Andre e3068274e6 csharp: Fix an example
Event name changed.
The definition of the type BUTTON_CLICKED_Args seems odd as it's in
efl.ui namespace directly.
2018-01-08 21:24:25 +09:00
Vincent Torri fcb093473a elm example : on some OS (windows...) struct tm has 9 fields and not 11. Fix warning.
Test Plan: compilation

Reviewers: raster, jpeg

Reviewed By: raster, jpeg

Subscribers: jpeg, cedric, raster

Differential Revision: https://phab.enlightenment.org/D5723
2018-01-08 21:10:22 +09:00
Vincent Torri afcca1584a evas: NEAR AND FAR are already defined on Windows 2018-01-04 12:57:33 -08:00
Carsten Haitzler ddf7587449 efl loop - rename ecore_main_loop_get to efl_main_loop_get
ecore_main_loop_get() is really a new "eo api" but it's using our old
ecore_* namespace, so move to the new efl namespace.
2018-01-02 16:13:54 +09:00
Lauro Moura b2abcd9d6f eolian-mono: Add documentation generation support
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.
2017-12-20 19:57:17 -02:00
Lauro Moura a4876097ab examples: Add C# buttons/popup example. 2017-12-19 17:51:51 -02:00
Jean-Philippe Andre 3d38ae0a90 examples: Fix compilation (cxx bg & table)
See 25136ddf8ccbf384b21d89a7ce3939c1d4db00a6
See 0f16a0671008a324d8e1b523fb16ce7b5c1acd6c

Note: This only fixes compilation, not runtime!
2017-12-19 14:36:54 +09:00
Lauro Moura cf43867da1 eolian_cxx: Fix cxx build after evt changes
Summary: Examples and libeolian_cxx api changes

Reviewers: jpeg, felipealmeida

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5673
2017-12-19 14:25:08 +09:00
SangHyeon Lee c19ca6fa53 interface : change efl_pack_grid and efl_ui_grid to efl_pack_table and efl_ui_table
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
2017-12-19 14:25:08 +09:00
Wonki Kim 17fb2d3c7a scroller: Introducing Efl.Ui.Scroller
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.
2017-12-19 10:26:25 +09:00
Sungtaek Hong 00745cda1d efl_ui_bg: add Efl.Ui.Bg interface
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
2017-12-18 20:49:45 +09:00
Cedric Bail 740bbffae8 ecore_con: update efl_net_control_access_point_connect to use Eina_Future. 2017-12-14 16:42:44 -08:00
Amitesh Singh bde43ac97c efl.image.load: fix eolian redefine warnings for load_error{}
load_error{} was defined in efl.file as well.
remove load_error{} from efl.image.load intf and implement
Efl.File.load_error{} instead.

Ref T6514
2017-12-14 14:16:13 +09:00
Ross Vandegrift 7123d23fd5 efl: drop deprecated Encoding key from desktop files
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>
2017-12-13 10:27:48 -08:00
Felipe Magno de Almeida 3afb93d043 elementary: Add efl_ui_list widget 2017-12-13 14:13:09 -02:00
Cedric BAIL 7b2a1435c0 ecore_con: use Eina_Future for Efl.Net.Control.Technology. 2017-12-11 15:03:11 -08:00
Lauro Moura 098aa67a47 examples: Fix after edje_obj canvas_layout change
Summary:
Edje.Object was renamed Efl.Canvas.Layout in

54ae9cc18b6c0fdb9a10f03ad2681587ca062c6c

Reviewers: jpeg, marcelhollerbach, felipealmeida

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5610
2017-12-06 18:52:13 -03:00
Jean-Philippe Andre 1455d7bc1a cxx: Fix compilation after merge
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.
2017-12-05 15:01:45 +09:00
Jean-Philippe Andre 1e9082c003 cxx: Update slider example 2017-12-05 15:01:45 +09:00
Jean-Philippe Andre 646746cb85 cxx: Implement support for parts
This generates methods like this:

  Part_Class part_name() const;

Which can then be used like:

  slider.indicator().format_string_set("%1.1f");
2017-12-05 10:15:40 +09:00
Jean-Philippe Andre d6d0b77e79 cxx: Fix bg examples
One uses the Bg widget and the other one uses the part.
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre 0ba74a084b cxx: Implement proper part support (wrt. refs)
It's VERY hacky, but works as expected: no leak, no extra unref. This is
a lucky case of simply overriding efl_part() implementation in C++,
without having to modify the declaration.
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre f3e3e21f9c cxx: Add implicit conversion to Eo* pointer
This is part of the experimental stuff.

Allows calling C functions without using ._eo_ptr() explicitly. Probably
not super useful, assuming the interfaces are done :)
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre d9d619bdd4 cxx: Add define EFL_CXXPERIMENTAL for testing
I'll hide some controversial features behind this, until we come to an
agreement with @felipealmeida and people who actually know C++ (iow: not
just me^^).

Features protected:
 - easy wref (using -> without locking)
 - xxx_event_cb_add() functions in object classes
 - instantiate(obj) to create a new object
 - add as a synonym for instantiate (both in efl::eo)
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre 779aca8bb1 cxx: Showcase function pointer in calendar example
This is just a work-in-progress example.
2017-12-05 10:14:03 +09:00
Jean-Philippe Andre 154a9e9297 cxx: Some code style in examples
Use the common form
  Class a(instantiate);
instead of
  auto a = Class(instantiate);

Also modify bg example to not use an policy.
2017-12-05 10:09:58 +09:00
Lauro Moura 06b582e6e8 efl_mono: Add examples code.
Buildsystem support will be enabled in a future commit
2017-12-04 15:47:51 -03:00
Jaehyun Cho 379d7cc128 examples: Add popup cxx example 2017-11-28 17:15:42 +09:00
Jean-Philippe Andre 015a1eb27e cxx: Fix slider example (bad downcast) 2017-11-20 20:42:39 +09:00
Jean-Philippe Andre 7a8880cda4 cxx: Disable spinner example (broken)
A new API for spinner is coming soon. This example code is now broken
since my change on Efl.Content vs. Efl.Container.
2017-11-20 20:31:07 +09:00
Jean-Philippe Andre 133b49be57 efl: Split Efl.Container and Efl.Content
When I first implemented the Efl.Container interface I made a mistake of
mixing "single slot" content API's with "multiple children" content
API's.  This should fix that, by separating API's that are for a single
part and those that deal with a list of children.

  Efl.Content: Single slot. This will be used a lot by efl_part()
objects, and for the default content of widgets (eg. the window
content).

  Efl.Container: Multiple children. Used by lists, boxes, layouts
(edje/elm), etc...

I didn't see any class that implemented both interfaces (note: Layout
implements Container and Button implements Content, so technically
Button implements both through inheritance).

For now the eo_prefix is not changed in Efl.Container. I wonder if it
should be reset (to efl_container) or not. This would only affect the C
API.

Ref T5328
2017-11-20 19:02:09 +09:00
Jean-Philippe Andre d267a3beaa win: Rename specific APIs to avoid clashes
This renames 3 basic APIs specific to Win:
 - name
 - type
 - role

Ref T5322
2017-11-16 19:11:51 +09:00
Jean-Philippe Andre 51c316ab5f win: Move autodel to C only
Note: this is C only, not legacy only.
The problem is that bindings will hold a strong reference to the window,
which will then die "under the rug" if autodel is enabled. This then
leads to at least ERR if not crashes.

Note:
elm_policy needs to support autodel and quit on last del only for C
applications. Bindings will require some other mechanism that doesn't
break all assumptions wrt. references.
2017-11-14 12:18:39 +09:00
Jean-Philippe Andre 0c3f518ccf cxx: Fix example for GCC
clang has no problem, but GCC complains with "support not implemented"
Discovered with distcheck
2017-11-10 12:20:27 +09:00
Jean-Philippe Andre 58536262cc cxx: Fix slider example
The fix is not complete. We need to make efl_part() work nicely in C++:
 - Get the refs work properly (maybe without auto-del)
 - Generate the parts from the EO file as methods on the object

Final form should be close to:
  slider.indicator().format_string_set("%1.2f");

Where everything autocompletes nicely :)
2017-11-07 22:21:13 +09:00
Jean-Philippe Andre dfb4cc3296 cxx: Fix some examples, disable or remove others
make examples now builds all c++ examples but some of them are in fact
empty skeletons. Those either need some c++ love or the final eo api to
be ready (eg. menu, popup, ...).

I removed some examples that don't have an exact equivalent in EO since
the widget is legacy only.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 668fae61d9 cxx: Modify button example with wref
This is more of an experiment than anything else.
@felipealmeida I would like to know what you think.

Notes:
 - events still need a better API (event_add isn't part of the object
   definition...).
 - references are an issue, when you want to actually delete an object.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 3843cd1367 cxx: Completely rewrite box example
This was showing off box transitions, which don't exist in EO API.
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 5f7c9a708b cxx: Fix a few examples
- Calendar: Some examples can't be ported. Not good.
 - Toolbar: Needs the new API to be completed.
 - Clock: Crashes at runtime.

Ping @felipealmeida
2017-11-07 09:57:24 +09:00
Jean-Philippe Andre 1d402a967f evas: Move evas_canvas.eo to legacy-only
This isn't meant to be installed. The canvas API in EO is based around
the interfaces Efl.Canvas and the widget Efl.Ui.Win. Anything else is
not EO (eg: ecore_evas, evas, ...)

Note: evas_canvas3d is the last remaining thing that is installed along
EO files, but those are all beta APIs.
2017-11-01 11:22:33 +09:00
Amitesh Singh a106fc6161 eina example: fix eina_value examples 2017-10-30 16:17:16 +09:00
Amitesh Singh 5ac948caba eina: eina_value - Add "struct tm" support
Ref T6204

@feature
2017-10-30 16:04:53 +09:00
Amitesh Singh b232994075 examples: eina strbuf - fix the example 2017-10-24 22:48:01 +09:00
Prince Kumar Dubey 2d1734409f example: improve location example, fix crash
Summary: Printing Address detail with Position. Label added to show the
detail of address.

Test Plan:
Compiled with cmd:
  gcc -o location_example_01 \
  location_example_01.c -g `pkg-config --cflags --libs elementary \
  elocation`

Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5356
2017-10-24 15:44:16 +09:00
subhransu mohanty aff7dd32b6 evas: add set function for root_node property.
Summary:
Currently user ask for the root_node from the evas_vg object and then attach its tree by setting the root node as parent.
With this change this process will be explicit. user has to set the root node to the evas_vg object and the object will take the ownership
of the tree. User can query the current vg_tree by root_node_get api.

Test Plan:
        Fixed the test app to reflects this change.

Reviewers: jpeg, cedric

Reviewed By: jpeg, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5347

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-23 11:05:38 -07:00
Prince Kumar Dubey c5f4087302 example: print format correction to avoid warning.
Reviewers: raster, cedric, jpeg

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5312
2017-10-17 17:31:38 +09:00
Prince Kumar Dubey 77ceead6e1 efl: unsigned int/long never be less than zero. Fixed.
Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D5300

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:07:28 -07:00
Prince Kumar Dubey 99951747be eina: uninitialization of array leads to unwanted outcome of "eina_strlcat"
Reviewers: raster, cedric, rajeshps

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5297

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2017-10-13 12:03:55 -07:00
Amitesh Singh c60c732e34 eina: strbuf - Add strftime related functions
eina_strbuf_append_strftime()
eina_strbuf_insert_strftime()
eina_strbuf_prepend_strftime() - macro

We need these functions for implementing generic format function
interface especially for calander.

Ref T6204
2017-10-13 16:04:24 +09:00