Daniel Kolesa [Mon, 6 Jun 2016 14:22:56 +0000 (15:22 +0100)]
eolian: add a new references system to help replace pointers
It's now possible to mark struct fields and function params as "references",
which causes them to become pointers in C (in bindings, they become whatever
is necessary). They're not a part of the type and are much more restricted
than pointers, allowing bindings to be easier. This system will be gradually
utilized and expanded as required.
@feature
Stefan Schmidt [Mon, 6 Jun 2016 13:18:46 +0000 (15:18 +0200)]
examples: eio: remove unused variable
Stefan Schmidt [Mon, 6 Jun 2016 13:16:36 +0000 (15:16 +0200)]
examples: eio: mark unused parameter as such
Really shutting up warnings here to see what else the compiler has to say.
Stefan Schmidt [Mon, 6 Jun 2016 12:49:33 +0000 (14:49 +0200)]
tests: evas: remove unused variable
We set it but never going to use it afterwards. We already tests the
efl_gfx_buffer_colorspace_get() elsewhere in this tests so we can ignore it
for now until we need it and bring it back together with a user.
Andy Williams [Mon, 6 Jun 2016 13:14:24 +0000 (14:14 +0100)]
elementary_code: Fix test failures post-merge
Looks like some were legitimate failures that were not being caught
in the previous setup
Andy Williams [Sun, 5 Jun 2016 23:01:34 +0000 (00:01 +0100)]
elementary_code: Use correct theme file post-merge
Tom Hacohen [Sun, 5 Jun 2016 10:12:13 +0000 (11:12 +0100)]
Merge elm code, a code editing widget into the efl
It was decided to merge this and mark the code as BETA for now.
It's currently being used by EDI and should also be used by enventor and etc.
Stefan Schmidt [Mon, 6 Jun 2016 12:17:07 +0000 (14:17 +0200)]
benchmark: remove unused variable
Looks like this was forgotten during some re-factoring of the code.
Stefan Schmidt [Mon, 6 Jun 2016 12:16:28 +0000 (14:16 +0200)]
benchmark: mark parameter as unused to ignore compile warning
Stefan Schmidt [Mon, 6 Jun 2016 09:07:51 +0000 (11:07 +0200)]
eolian_cxx: add missing libgen.h include for basename() to fix build on OS X
On Linux this went through and has gone unnoticed. basename() needs libgen.h
though and eolian_cxx was not including it.
Vyacheslav Reutskiy [Mon, 6 Jun 2016 07:42:14 +0000 (10:42 +0300)]
edje_edit: return lost API *_span_row/col_set declaration
I'm lost this declaration while add API for manager part items by
index and mark as deprecated old funcs
Lauro Moura [Mon, 6 Jun 2016 07:26:02 +0000 (04:26 -0300)]
eio: Fix leaks in tests
Vitor Sousa [Mon, 6 Jun 2016 07:16:57 +0000 (04:16 -0300)]
elm: Add support for Efl.Model in Elm.Fileselector
Elm.Interface.Fileselector now supports Efl.Model objects, allowing users
to work with paths from different data models.
Example of model attribution:
ELm_Fileselector *fs = eo_add(EFL_FILESELECTOR_CLASS, NULL);
Efl_Model *model = ...;
elm_interface_fileselector_model_set(fs, model, NULL);
Felipe Magno de Almeida [Mon, 6 Jun 2016 07:09:23 +0000 (04:09 -0300)]
eo-cxx: Remove commented headers
Felipe Magno de Almeida [Mon, 6 Jun 2016 06:49:16 +0000 (03:49 -0300)]
eolian-cxx: Fix compilation error on clang with const UDT initialization
Larry Jr [Mon, 6 Jun 2016 06:28:33 +0000 (03:28 -0300)]
eolian-cxx: fix compilation errors an olders gcc
Larry Jr [Mon, 6 Jun 2016 06:10:24 +0000 (03:10 -0300)]
eio: fix free eina_promises in error_callbacks
Larry Jr [Mon, 6 Jun 2016 05:20:44 +0000 (02:20 -0300)]
eina: eina_promise_all callback cast removed
Lauro Moura [Mon, 6 Jun 2016 05:54:18 +0000 (02:54 -0300)]
eina: Avoid promise early deletion when cancelled.
Cancelling a promise will fulfill it but won't actually free the memory. This
memory is under custody of the owner, who must either call value_set or
error_set to finish it.
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:54:36 +0000 (02:54 -0300)]
eolian-cxx: Rewrite to accomodate new features of the C++ binding
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:50:36 +0000 (02:50 -0300)]
eina-cxx: Add placeholder for futures in C++ binding
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:50:13 +0000 (02:50 -0300)]
eina-cxx: Fix wrongful operator++ for iterator and docs
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:49:47 +0000 (02:49 -0300)]
eina-cxx: Add c_str() to string_view
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:49:28 +0000 (02:49 -0300)]
eina-cxx: Restrict templated constructor
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:49:00 +0000 (02:49 -0300)]
eina-cxx: Add optional specialization for pointer types
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:47:15 +0000 (02:47 -0300)]
elm: Fix wrong use of char instead of string and void out parameter
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:46:39 +0000 (02:46 -0300)]
edje: Fix wrongful uses of char instead of string in Eolian
Larry Jr [Mon, 6 Jun 2016 01:24:52 +0000 (22:24 -0300)]
eio: treat Eina_Accessor NULL as success instead of failure in model
We treated as errors when Eina_Accessor was NULL, which meant
that we could never get an empty range os children. Treat it
as success and pass an empty Eina_Accessor
Larry Jr [Mon, 6 Jun 2016 00:21:43 +0000 (21:21 -0300)]
eio: Add mime_type property in Eio_Model
Larry Jr [Sun, 5 Jun 2016 23:52:52 +0000 (20:52 -0300)]
eio: Eio_Model parent_get return parent model
Larry Jr [Sun, 5 Jun 2016 23:31:21 +0000 (20:31 -0300)]
eio: Fix Eio_Model promise accessor
Lauro Moura [Sun, 5 Jun 2016 23:19:41 +0000 (20:19 -0300)]
ecore: Fix ecore thread promises
Make sure we free the promise memory, set MAGIC numbers and avoid
leaking the underlying eina promise
Lauro Moura [Sun, 5 Jun 2016 19:10:52 +0000 (16:10 -0300)]
eina: Fix promise tests and avoid early deletion
- Progress notify refcount fixes, avoiding early deletion
- Avoid leaking memory on tests
Lauro Moura [Sat, 4 Jun 2016 16:49:51 +0000 (13:49 -0300)]
eina: Fixes on promises benchmark
- Updated after pointer vs value change
- Updated callbacks after removal of promise argument
Lauro Moura [Sat, 4 Jun 2016 16:51:42 +0000 (13:51 -0300)]
eo: Fix compilation of benchmark
- Missing Eo* self in method declarations.
- Gcc complaining about variable-sized object being initialized.
Felipe Magno de Almeida [Sun, 5 Jun 2016 19:50:54 +0000 (16:50 -0300)]
eolian: Fix generating pointer promises for class types
Tom Hacohen [Sun, 5 Jun 2016 14:16:58 +0000 (15:16 +0100)]
Eo: fix reference hack when calling composite objects.
We used to keep a reference to the parent object and have it in the call
structure although we were actually calling the function on the embedded
object. This was needed because we wanted to unref the parent correctly.
This was incorrect (and marked as a hack) and now I finally gotten
around to implementing the (amazingly simple) fix to remove this
workaround.
Essentially we just ref the comp object, unref the parent, and let the
normal eo call flow to unref the comp object correctly later on, like it
would have unreffed the extra ref we had for the parent.
Dave Andreoli [Sun, 5 Jun 2016 14:12:01 +0000 (16:12 +0200)]
FDO icons: and finally install the icons in fdo format
After this commit you will find a new icon theme in your system,
it is called Enlightenment-X and is build using the same icons used
in the elm theme. Using this theme you can have non-efl
and efl apps to use the same icons.
#StupidAutotools that require me to list each icon and each folder
to be able to install them
Tom Hacohen [Sun, 5 Jun 2016 12:51:15 +0000 (13:51 +0100)]
Eeze scanner: Fix setting of SUID.
I guess eeze scanner was not operational at all because the SUID bit was
never set. The reason for that was that where it was put in the makefile
made it not be a make rule (where @ would have worked) but used by a special
autofoo rule.
Dave Andreoli [Sun, 5 Jun 2016 10:37:08 +0000 (12:37 +0200)]
gitignore++
Jean Guyomarc'h [Sun, 5 Jun 2016 09:47:59 +0000 (11:47 +0200)]
ecore_evas_cocoa: better handling of resize callback
Jean Guyomarc'h [Sun, 5 Jun 2016 09:38:49 +0000 (11:38 +0200)]
evas-gl_cocoa: resize the gl context before resizing the window
This order seems more right. It does not have a visible
impact though...
Jean Guyomarc'h [Sun, 5 Jun 2016 09:29:25 +0000 (11:29 +0200)]
ecore_cocoa: fix main loop handling
Pffff... another tricky one...
-windowDidResize is actually also called when the window is not
resize by the user, leading to multiple event posting, and of
course the infamous call of ecore_main_loop_iterate() when it
was not paused at all, leading to messy events handling... the
most visible being the initial resizing of the window going rogue.
We now ensure with -windowWillStartLiveResize and -windowDidEndLiveResize
that we only send an event when the user requested it. Since the main
loop is paused at this point, calling ecore_main_loop_iterate()
becomes safe.
Fixes T3648
Jean Guyomarc'h [Sun, 5 Jun 2016 07:26:29 +0000 (09:26 +0200)]
ecore_audio: remove useless eo data in core audio
Tom Hacohen [Sun, 5 Jun 2016 10:00:47 +0000 (11:00 +0100)]
Eina promise: Fix broken return value.
I broke it in
dc73f6644e0ed8fdbd2c6c8187591fb7eb8027c7.
Excuse of the day: I'm not working from my usual spot and there's screen glare
here that made me not see the *. Good excuse?
Tom Hacohen [Sun, 5 Jun 2016 09:40:02 +0000 (10:40 +0100)]
Generic modules: Fix out of source build.
Autotools really really really sucks.
Because of the above, we need to manually list both source dirs and
build dirs, because some of the include files are in the source dirs and
some are in the build dir (generated).
Tom Hacohen [Sun, 5 Jun 2016 09:39:13 +0000 (10:39 +0100)]
Eina promise: Simplify code and remove shadow variable.
There was no need for the extra variable. This also fixes a shadow
warning.
Tom Hacohen [Sun, 5 Jun 2016 08:58:19 +0000 (09:58 +0100)]
Eo: remove strict class checking for composite objects.
When compositing objects, we were checking that class_of(B) is in A's
inheritance tree before allowing attaching B as a composite object of A.
This is wrong and breaks a few cases, for example: B extends a class that
is in A's inheritance tree or B implements an interface that is in A's
inheritance tree.
Thanks to Marcel for reporting.
Dave Andreoli [Sat, 4 Jun 2016 19:45:28 +0000 (21:45 +0200)]
Enable evas loaders by default, if dependencies are found
I really cannot see why we should require to use --enable-feature on those, they should be safe.
Dave Andreoli [Sat, 4 Jun 2016 18:19:54 +0000 (20:19 +0200)]
Fix report for image loaders
In the final report we want to show if the loader is enabled, not if it's wanted
Dave Andreoli [Sat, 4 Jun 2016 18:10:04 +0000 (20:10 +0200)]
Fix building of librsvg if requested
This typo was preventing the svg loader to be built in every cases
Jean Guyomarc'h [Sat, 4 Jun 2016 14:34:30 +0000 (16:34 +0200)]
ecore_cocoa: fix broken scrolling
Evas events recently changed, and involved the use
of the 'multi' field within a mouse mouve event.
It was used afterwards for mouse scrolling, but since
it was never set by ecore_cocoa, scrolling went
broken...
Fixes T3789
Jean Guyomarc'h [Sat, 4 Jun 2016 14:19:00 +0000 (16:19 +0200)]
elementary: remove redundant code
The same checks are performed later on.
There is no use doing it twice.
Only affects Cocoa windows.
Jean Guyomarc'h [Sat, 4 Jun 2016 14:00:50 +0000 (16:00 +0200)]
ecore_cocoa: fix window hiding logic
Jean Guyomarc'h [Sat, 4 Jun 2016 13:58:27 +0000 (15:58 +0200)]
ecore_cocoa: remove extra whitespaces
Jean Guyomarc'h [Sat, 4 Jun 2016 14:51:38 +0000 (16:51 +0200)]
edje: don't return a boolean when a pointer is expected
Fix a warning thrown by Apple-llvm.
Dave Andreoli [Sat, 4 Jun 2016 09:42:42 +0000 (11:42 +0200)]
elm_config: force icons in preview to keep aspect ratio
#SizeHintsMess... I really cannot understand why aspect_fixed is not respected :(
Dave Andreoli [Sat, 4 Jun 2016 08:54:40 +0000 (10:54 +0200)]
Configure: 2 small in-string quote changes
This should be harmless and just fix syntax hilighting is some editors (geany at least)
Felipe Magno de Almeida [Sat, 4 Jun 2016 00:53:29 +0000 (21:53 -0300)]
eina: Fix magic check for eina_promise_owner_buffer_get
Felipe Magno de Almeida [Sat, 4 Jun 2016 00:42:23 +0000 (21:42 -0300)]
eina: Fix EINA_MAGIC and eina_promise_then NULL check
Cedric BAIL [Fri, 3 Jun 2016 23:59:55 +0000 (16:59 -0700)]
ecore: add a test for detecting the double free problem.
Cedric BAIL [Fri, 3 Jun 2016 23:57:53 +0000 (16:57 -0700)]
ecore: properly handle double free case of timeout promise.
The bug came from the fact we need to handle the destruction of the
main loop which destroy the underlying timer. The event handler that
catch the destruction of the timer can not make the difference between
eo_del call from the timeout code and eo_del from the main loop
destruction. By removing the event handler, the double free is properly
avoided.
Cedric BAIL [Fri, 3 Jun 2016 23:57:30 +0000 (16:57 -0700)]
ecore: use EINA_ERROR_PROMISE_CANCEL instead of a custom Ecore one.
Cedric BAIL [Fri, 3 Jun 2016 23:55:56 +0000 (16:55 -0700)]
ecore: do not generate error while rescheduling the last timer.
Cedric BAIL [Fri, 3 Jun 2016 23:54:38 +0000 (16:54 -0700)]
eina: protect promise death during callbacks cancel.
Cedric BAIL [Fri, 3 Jun 2016 23:45:12 +0000 (16:45 -0700)]
ecore: Ecore_Cb is used by elm_box.eo.
Cedric BAIL [Fri, 3 Jun 2016 23:01:08 +0000 (16:01 -0700)]
ecore: Efl.Timer should be Efl.Loop.Timer for coherence.
As we add more object in the main loop, they can't live in the top
namespace as they make little sense there (Efl.Fd !). For coherence,
everyone should in the loop namespace, so move timer there.
Cedric BAIL [Fri, 3 Jun 2016 22:44:40 +0000 (15:44 -0700)]
ecore: remove Ecore_Animator Eo object.
This is only a legacy API.
Felipe Magno de Almeida [Fri, 3 Jun 2016 23:03:13 +0000 (20:03 -0300)]
eina: Remove Eina_Promise* parameter to callbacks to promises in examples
Felipe Magno de Almeida [Fri, 3 Jun 2016 23:02:02 +0000 (20:02 -0300)]
eina: Add NULL checks and EINA_MAGIC checks to promises
Add NULL checks and EINA_MAGIC checks that avoid crashing when it
shouldn't.
Felipe Magno de Almeida [Fri, 3 Jun 2016 21:34:42 +0000 (18:34 -0300)]
eina: Remove more Eina_Promise* parameter in promise callback
Remove not very useful parameter to eina_promise_then callbacks.
Derek Foreman [Fri, 3 Jun 2016 21:27:14 +0000 (16:27 -0500)]
wayland_shm: Fix more dmabuf failure corner cases
With the exynos allocator a failure can happen during a resize, and the
resize path wasn't properly falling back to wl_shm buffering.
Derek Foreman [Fri, 3 Jun 2016 21:25:50 +0000 (16:25 -0500)]
psd_loader: Fix bad assumption about signedness of chars
Whether "char" is signed or unsigned is architecture dependent, so if we
know we need a -1 in a char type we must declared it to be signed.
Derek Foreman [Fri, 3 Jun 2016 21:24:26 +0000 (16:24 -0500)]
ecore_anim: Fix bad assumption about signedness of chars
Whether "char" is signed or unsigned is architecture dependent, so if we
know we need a -1 in a char type we must declared it to be signed.
Cedric BAIL [Fri, 3 Jun 2016 21:17:27 +0000 (14:17 -0700)]
elementary: merge in elm_code example.
Felipe Magno de Almeida [Fri, 3 Jun 2016 21:15:57 +0000 (18:15 -0300)]
eina: Remove Eina_Promise* parameter in promise callback
Remove not very useful parameter to eina_promise_then callbacks.
Cedric BAIL [Fri, 3 Jun 2016 21:04:36 +0000 (14:04 -0700)]
elementary: make elm_code a BETA API.
Cedric BAIL [Fri, 3 Jun 2016 20:55:24 +0000 (13:55 -0700)]
elementary: integrate elm_code theme.
Felipe Magno de Almeida [Fri, 3 Jun 2016 19:54:16 +0000 (16:54 -0300)]
eolian-cxx: Fix C++ example compilation
Felipe Magno de Almeida [Fri, 3 Jun 2016 19:53:54 +0000 (16:53 -0300)]
eina: Fix examples using new Eina_Promise semantics
Felipe Magno de Almeida [Fri, 3 Jun 2016 19:52:03 +0000 (16:52 -0300)]
eina: Remove unnecessary indirection to promises
Now when dealing with pointer types, we will not get pointer to
pointer semantics in callbacks and eina_promise_owner_value_set
for Eina_Promise.
It will work as expected:
Eina_Promise_Owner* promise = eina_promise_add();
void* p = malloc(sizeof(T));
eina_promise_owner_value_set(promise, p, &free);
Cedric BAIL [Fri, 3 Jun 2016 18:11:05 +0000 (11:11 -0700)]
autotools: use DISTCLEAN rules to properly destroy files.
Cedric BAIL [Fri, 3 Jun 2016 18:10:27 +0000 (11:10 -0700)]
ector: variable in _SOURCES do not work.
This fix the left over etc .deps during make distcheck.
Derek Foreman [Thu, 2 Jun 2016 12:06:26 +0000 (07:06 -0500)]
wayland_shm: Add exynos allocator for dmabuf
Allows clients on exynos hardware to allocate GEM buffer objects
to back DMAbuf buffers.
Derek Foreman [Wed, 1 Jun 2016 20:52:05 +0000 (15:52 -0500)]
wayland_shm: Abstract out dmabuf management
Split out the intel specific stuff into an abstraction in preparation for
adding exynos support.
Larry Jr [Thu, 2 Jun 2016 16:59:23 +0000 (13:59 -0300)]
Eina: Fix eina_promise_all refcount ordering problem
The call to eina_promise_then steals the first ref'count, so it is
possible that the promise is freed after the eina_promise_then,
so we need to eina_promise_ref before eina_promise_then.
Oleksandr Shcherbina [Fri, 3 Jun 2016 11:22:33 +0000 (14:22 +0300)]
evas: Get pixels from rendered 3D scene
Summary:
Implemented interface Efl.Gfx.Buffer functions bufer_map/unmap for Efl.Canvas3D.Scene.
Added function e3d_drawable_texture_rendered_pixels_get to module evas_gl_3d
to getting pixels from FBO. Added wrappers for functions
e3d_drawable_texture_rendered_pixels_get and e3d_drawable_texture_id_get
to have possibility call it through engine functions.
Reviewers: cedric, Hermet, raster, jpeg
Reviewed By: jpeg
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3978
Jean Guyomarc'h [Fri, 3 Jun 2016 10:08:40 +0000 (12:08 +0200)]
evas: fix huge memory leak for non-async rendering
So... I had issues with evas-fb engine which was massively leaking,
one image per frame.
After investigating a bit with @cedric on IRC, the reference count
of the cache entries was always 2 before the engine dropped.
So, for each frame with an animation, we could never drop a cache
entry, leading to a trumendous amount of memory leaking.
Now for non-async rendering, we copy the behaviour of
evas_render_pipe_wakeup() which is called in async-mode,
and actually drops a reference in the cache entry.
Fixes T3763
Vyacheslav Reutskiy [Fri, 3 Jun 2016 09:26:57 +0000 (12:26 +0300)]
edje_edit: add API for set/get part item
Carsten Haitzler (Rasterman) [Fri, 3 Jun 2016 08:57:58 +0000 (17:57 +0900)]
ecore timeouts - dont crash on cancel
this fixes a nasty double deletion on cancel of timeouts. at least for
now as long as we have promises.
Carsten Haitzler (Rasterman) [Fri, 3 Jun 2016 09:07:22 +0000 (18:07 +0900)]
fix warning in build with uninit variable in generic loaders for xcf
Ji-Youn Park [Fri, 3 Jun 2016 08:44:37 +0000 (17:14 +0830)]
elm_image: fix break related with elm image error enum
Jean-Philippe Andre [Fri, 3 Jun 2016 06:55:29 +0000 (15:55 +0900)]
Efl.Pack: Replace pack_direction with Efl.Orientation
Since I first made the pack_direction before orientation
existed, the names didn't match. This should improve API
consistency.
Dave Andreoli [Fri, 3 Jun 2016 06:50:58 +0000 (08:50 +0200)]
Fix legacy name of elm_win_efl_screen_dpi_get()
...spank again goes to Ji-Youn Park, that insist to not even try his work
Ji-Youn Park [Fri, 3 Jun 2016 06:36:13 +0000 (15:06 +0830)]
elm_win: remove main_menu, window_id, fake_canvas property from eo
Jean-Philippe Andre [Fri, 3 Jun 2016 02:56:57 +0000 (11:56 +0900)]
elm_test: Add test case for event refeed
Not sure if this test case is really good, but it was
necessary to prove that input event refeed can work from
application side. This is a feature that should work
but shouldn't be used :)
Jean-Philippe Andre [Thu, 2 Jun 2016 05:36:55 +0000 (14:36 +0900)]
elm_win: Forward events between window and evas
This does:
1. Forward keyboard events from evas to win
2. Allow feeding external input events
Input events can be faked by apps by simply forging
eo objects of the proper type (key or pointer evt) and
calling eo_event_callback_call().
Such events will be forwarded to the internal Evas, and
some bool flags prevent infinite refeeding loops.
efl_event_dup() returns fake events for this to work.
@feature
Jean-Philippe Andre [Fri, 3 Jun 2016 03:01:35 +0000 (12:01 +0900)]
elm: Partially revert "elementary: avoid random memory access."
This reverts commit
ac5a0b7e79d6b32285bd7b794f050826f38cc7c2.
I added assert(pd == sd) in the modified code and couldn't find
anything suspicious. The proper class is used in eo_data_scope_get().
I also can't find a crash or a bug currently in hover. I know there
was a problem earlier, but that was fixed in
3092e08a83f754ba8d49c.
Now, if there is still a problem, we should check it carefully.
Pinging @cedric
Jean-Philippe Andre [Thu, 2 Jun 2016 09:32:47 +0000 (18:32 +0900)]
Efl.Ui.Box: Fix direction set
VERTICAL means UP but UP was ignored...
Vyacheslav Reutskiy [Thu, 2 Jun 2016 14:40:00 +0000 (17:40 +0300)]
edje_edit: add API for get part item attributes by item index
Cedric revert patch
6f7608befd006f8076d237bee5d17c9e9e1e09ac same days
ago.
<quote Cedric>
Your patch
6f7608befd006f8076d237bee5d17c9e9e1e09ac did break elemines
which does relly on the proper index to be given to it. I think
Edje_Edit should be fine and use the index if no name is provided (See
edje_load.c around L1180). In all case this was clearly an ABI break and
needed to be reverted.
</quote Cedric>
So now edje_cc not guarantee name for part items. This is bad, because
edje_edit use item name for access to item attributes. If item have not
name we cann't get it attributes, because edje_edit compare the given
name with part items name from edj-file, strcmp dislake NULL args.
For now I see one way mark all edje_edit_part_item* APIs as deprecated
and add new APIs for manage part items by index.
For clearly and history:
The eason for revert - https://phab.enlightenment.org/D3820
The proposed solution - https://phab.enlightenment.org/D3907