the following functions are now DEPRECATED and will be removed on 5 AUG 2011:
elm_menu_item_object_icon_get -> elm_menu_item_object_content_get
elm_menu_item_icon_get -> elm_menu_item_object_icon_name_get
elm_menu_item_icon_set -> elm_menu_item_object_icon_name_set
added the following NEW functions:
elm_menu_item_object_content_set
elm_menu_item_menu_get (this will probably be replaced by an eventual elm_object_item_owner_get() or whatever it gets named)
SVN revision: 61899
these bad boys are so big and pixelthirsty they can't be constrained by a regular canvas or window, they use OVERRIDE REDIRECT WINDOWS. not only that, they totally exceed the boundaries of what a reasonable function name length could be. 50 character function name limit? puh-leeze. these guys don't care what side of the screen they're even on so long as they get to wade into the thick of the action and block out each and every crappy non-efl application behind them. and that's when they're in good moods. you don't even want to know what happens when you piss these guys off.
SVN revision: 61735
this signal is called whenever an item receives either a double click or selection+(enter/spacebar/return)
this commit also unifies the click/enter/spacebar/etc event api for these widgets, including removing the double click signal from keypress events and removing the 'clicked' signal from double click events
SVN revision: 61720
added elm_menu_item_add_object which allows a user to directly add an arbitrary evas_object to be swallowed as a menu item, added radio item as test
SVN revision: 61717
Because the user can use their' own edj objs and call the signals for the edj objs,
They have a responsibility to reset the status of the edj objs when layout theme is changed.
This "theme,changed" signal provides to user a chance to reset (signal-emit) again.
SVN revision: 61518
This widget is for application's view manager such as elm_pager
But has optional functions more for users convenience.
Not completed yet for decorations. but basic frame is completed.
Need to have a review.
SVN revision: 61313
Gesture layer allows detection of gestures and essentially gives the
user a unified way of getting "complex" input.
It doesn't do (by design) complex gestures like "V" or "S", instead it
does simple and fast interaction gestures like: 2-finger
pinch/rotate/lines or CTRL+Mouse_Wheel zoom and etc.
This lets people to write an application/widget regardless of the input
device used and in a nice consistent way.
Although we consider the API "good", it may change completely. I'm
committing it now so people will be able to start using it, and
hopefully give feedback.
Work by Aharon Hillel with my help.
SVN revision: 61118
Hermet told me this is depercated and Transit should be used instead.
Anyhow, the functions were only marked as deprecated with the warning macro
and not in docs, fixed that.
SVN revision: 61082
example screenshots auto-generated by scripts when we do "make doc"
with those images put in the docs for that widget. some examples of
usage.
SVN revision: 61078
This object should be linked with an elm_video to be
usefull at all. If people have some graphical skill,
the kind of thing I lack, you are welcome to improve
this player !
SVN revision: 61053
NOTE: this introduce an API/ABI incompatibility. You need to think if you need to free the
data you allocated in the callback, if yes, then you need to provide a function to free that
data, if not, you could just set NULL as the third parameter.
SVN revision: 61019
made originally so I've made some changes/ updates to elm_glview
1.) GL Resource Deletion in ELM_GLView
In order to delete GL resources, the current approach simply registered a
delete callback to the GLView object and handled resource deletion there.
Unfortunately, using the delete callback did not guarantee the glview context to be
current. In order to guarantee that the current context was the glview context,
the make_current call needs to be called explicitly. Since we were hiding all the
make current details in elm_glview, i've decided to add an API that registers a
delete callback function. I know that this may seem redundant since there is already
a delete callback that you can register with glview objects. Unfortunately, this is the
only option that we have apart from exposing make_current, which is something that
went again what we are trying to do with elm_glview.
Since adding delete callback alone seemed a little out of place, i've taken the liberty
to add other callback functions to make it seem consistent.
void elm_glview_init_func_set(Evas_Object *obj, Elm_GLView_Func func);
void elm_glview_del_func_set(Evas_Object *obj, Elm_GLView_Func func);
void elm_glview_resize_func_set(Evas_Object *obj, Elm_GLView_Func func);
resize callback can be controversial as well but I want to argue that adding this callback
makes the render function a lot cleaner. To handle resize differently, the user in
render function needs to manually compare and see if the size has changed, and
then handle the cases. Doing all of this internally once makes the developers life
a lot easier in my opinion.
these callback functions do make the render function a lot cleaner. You can check
out the updated test_glview.c or newly added test_glview_simple.
2.) Minor bug fixes/changes
elm_glview_scale_policy_set() was supposed to be elm_glview_resize_policy_set()
but it somehow evaded our reviews. That has been fixed.
Also, in _glview_resize, after updating the surface, it was explicitly calling the
render function. It is actually unnecessary here and calling it here will cause
problems if resize gets called before everything else is setup properly. So that has
been commented out.
3.) test_glview & test_glview_simple
elementary_test case for glview has been updated to reflect the api changes.
when you run the elmentary_test, you need to make sure that you set
ELM_ENGINE=gl as glview currently only runs on gl backend.
test_glview runs the gears example. For testing purposes I've included a simple
glview test case that renders a triangle and changing background color.
SVN revision: 60517
can be scrollable or not. scrolled entry now just calls entry calls
and is marked as dperecated to be killed off in the future so no need
to document it etc. edje external also goes.
SVN revision: 60438
This is very useful when you want to feed an entry from a socket for example
and you don't want to wait until all the information is received
SVN revision: 60267
I think there is no more whitespaces in elementary. So from now on
please check if your code is whitespace-free when you commit it. If so,
no one will suffer from removing whitespaces and merge conflict.
SVN revision: 60223
Subject: Re: [E-devel] [RFC] ELM GLView
Elementary GLview wiedget giving simplified access to do opengl
drawing in a widget in elm so you pretty much do no work to set it up
and just provide a render function to draw the contents when it needs
drawing. Thanks to Sungwoo Park and Samsung
SVN revision: 59909
Subject: [E-devel] [Patch] elm_gengrid - added new feature : gengrid
reorder mode
I added a new feature "reorder mode" of gengrid refer to genlist
reorder mode.
After set this reorder API, if user press an item (long press), the item can
be moved another position.
Then if the user releases the item, the item will be reordered in gengrid.
SVN revision: 59892
1. Added reorder APIs to Elementary.h.in header.
2. Fixed wrong declaration of moved callback.
3. Fixed warnings.
And I think 'moved' function needs to be changed to smartcallback.
This is not related to item class structure.
SVN revision: 59885
Subject: [E-devel] [Patch] elm_genlist - added new feature : genlist
reorder mode
I introduce a new feature "reorder mode" of genlist.
Using this feature, user can reoder genlist items dynamically.
[API]
==================================================================
- EAPI Eina_Bool elm_genlist_item_rename_mode_get(Elm_Genlist_Item *it)
Get the rename mode state of an item. This gets the rename mode state
of an item
- EAPI void elm_genlist_reorder_mode_set(Evas_Object *obj, Eina_Bool reorder_mode)
Set genlist reorder mode. This enables the item is moved to another
item.
==================================================================
After set this reorder api, if user press an item (long press), the item can
be moved another position.
Then if the user releases the item, the item will be reodered in genlist.
When the user releases the holding item, Elm_Genlist_Item_Class.func.moved
callback is also called.
If needed, the application can add some logic in that callback function.
SVN revision: 59883
adding a new API.
1. Virtual Keypad Support.
2. New API "elm_conformant_content_area_get" added.
- Reviewed by Rasterman and I just fixed warnings.
SVN revision: 59528
i removed all custom enum & url callback of elm_map.
(ELM_MAP_SOURCE_CUSTOM_1, ELM_MAP_SOURCE_CUSTOM_2, ..., _custom1_url_cb, _custom2_url_cb, ... etc)
instead of those, i made sources list.
changed APIs are almost internal APIs...
but some APIs were changed for intuitive usage of map source.
user can make map module instead of setting custom APIs.
another change is "elm_module -> eina_module".
the reason of this change, is that elm_module uses environment value (i.e getenv, setenv.. ELM_MODULES)
i don't want to have a environment value dependency.
SVN revision: 59184
Deprecated existing APIs but not removed them. They will be removed
sometime later or when elm 1.0 is released. And added new APIs.
I fixed box, table and toolbar. I will modify other codes in trunk soon.
SVN revision: 59160
<lionel.orry@gmail.com>
From Lionel Orry:
Hi devs,
while working on the ffi-efl Ruby bindings for the EFL, I noticed a
wrong declaration in Elementary.h:
s/elm_table_homogeneous_get/elm_table_homogenous_get/.
The patch can be found here: http://pastie.org/1846490
To apply:
cd <path/to/elementary>
wget -O - http://pastie.org/pastes/1846490/download | patch -p0
Thanks in advance,
Lionel
SVN revision: 59033
I introduce a new concept to genlist.
I named it "genlist mode" after I discussed it with raster.
Using this feature, one can activate/deactivate any mode(effect) to an item.
The mode is defined in genlist item edc.
You can watch a sample video on youtube.
http://www.youtube.com/watch?v=ZPbwpzwwiS8
I created two sample mode: Slide and Rotate.
[Feature Description]
- One can activate a specific mode to an item.
- One item is activated at one time while others are deactivated.
- Genlist handles deactivating other items when one item is activated.
- There are two different view: before activated, after activated.
- Genlist creates the second view when the first view is activated. Usually the first view is animated.
- Genlist destroys the second view when the item finishes deactivating.
- Creating/Destroying the second view on the fly gives performance enhancement because there is no reason to hold all objects in two views all the time.
- Mode is defined in genlist edc so one can easily add it more.
- Mode edc style is separated from normal genlist styles. One can combine any genlist style with mode edc style.
[API]
- EAPI void elm_genlist_item_mode_set(Elm_Genlist_Item *it, const char *mode_type, Eina_Bool mode_set) EINA_ARG_NONNULL(1, 2);
Activate/Deactivate a mode to an item.
- EAPI const char *elm_genlist_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
Get activated mode name.
- EAPI const Elm_Genlist_Item *elm_genlist_mode_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
Get activated item.
[Structure]
- Elm_Genlist_Item
Added const char *mode_item_style;
[Usage]
- Set mode style name to genlist item class.
itc.mode_item_style = "mode";
- Activated mode to an item whenever you want.
elm_genlist_item_mode_set(it, "slide", EINA_TRUE);
SVN revision: 58791
I added some APIs for name to elm_map.c and added some test code to test_map.c
I used nominatim OSM service. (http://http://nominatim.openstreetmap.org/)
as i felt, it's response time was very good to use.
SVN revision: 58703
Mail from Sangho Park.
I added some APIs for route to elm_map.c
There are some route services provided by Open Street Map (yours, open
route service, monav...)
I just added 'yours' url callback and will add ors, monav.
And added some test code to test_map.c
SVN revision: 58474
Segment Control Widget is a horizontal control made of multiple segment items
together, each segment item is set to equal size, functioning similar to
discrete two state button. Only one segment item can be at selected state.
SVN revision: 58461
Subject: Re: [E-devel] [Patch] Display more than 3 items
This is Shinwoo Kim, learned that I could contribute to EFL! :)
I'm pleased to inform you that the patch for the "elm_diskselector".
Until now, the "elm_diskselector" only display 3 items at once,
if you accept this patch, the "elm_diskselector" can display more than 3
items.
For this feature, "elm_diskselector_display_item_num_set(Evas_Object *obj,
int num)" is added.
I would like to know more about your opinion about this feature. Thanks.
SVN revision: 58405
Subject: [E-devel] [Patch] elm_genlist :
elm_genlist_realized_items_update api added
I added elm_genlist_realized_items_update api.
elm_genlist_item_update api already exists.
But If the application want to change all realized items using this api,
application always have to check genlist all realized items and call
elm_genlist_item_update api.
This routine is being used at many functions of application.
So I made elm_genlist_realized_items_update api.
This helps application to update easily all realized items at a time.
SVN revision: 58403
Subject: [E-devel] [PATCH]: keyboard navigation in menus
I was using elementary on a target that only has a keyboard, and I add
to do several modification on the elm_menu to handle keyboard
navigation.
- patch 1: discard a menu from C source code
- patch 2: add accessors for menu items and add the ability to handle
selected item from C source code
SVN revision: 58084
Elementary was missing window types for dropdown_menu, popup_menu,
tooltip, notification, combo, and dnd. This patch adds the missing
types into the enum and elm_win code.
SVN revision: 57992
>>> Hello,
>>>
>>> I was using elementary on a target that only has a keyboard, and I add
>>> to do several modification on the elm_menu to handle keyboard
>>> navigation.
>>> - patch 2: add accessors for menu items and add the ability to handle
>>> selected item from C source code
SVN revision: 57957
Subject: [E-devel] [Patch] elm_map_marker_region_get
This is a patch for elm_map_marker.
I added one api to get the coordinates of the marker.
because marker->longitude and marker->latitude are private data,
app can't access the coordinates of the marker.
SVN revision: 57665
Since these APIs are committed not much days ago, Im modified the API names to make better.
But Im not sure. how many people are using this APIs at this time.
I guess nobody.
SVN revision: 57651
These APIs provide options to user to set the properties of the transit objects will be rest or not when the transition ends.
The properties include geometry, color, evas_map data..
SVN revision: 57498
Subject: Re: [E-devel] [Patch] elm_map_user_agent_set and get
This is a patch for elm_map for setting user-agent.
- Add elm_map_user_agent_set
- Add elm_map_user_agent_get
- modify doxygen
elm_map uses OSM(OpenStreetMap), but we can add custom map provider.
If custom map provider server filters robot out (currently default
user-agent is 'curl'),
we need some APIs to set/get user-agent.
SVN revision: 57353
* Added elm_mirrored_get/set to set the system mirrored mode
* Added elm_widget_mirrored/get/set to set each widget's mirrored mode.
* Added code to set the system mirrored mode from translations to elementary and added translations for all the rtl languages. (a trick to load according to locale).
* Future commits will include specific widgets mirrored mode handling.
Work by Aharon Hillel and Tom Hacohen.
SVN revision: 56673
By default it's text only for single line entries (you can toggle it back on
if you want to). Otherwise images are enabled for multiline entries.
SVN revision: 56078
Subject: [E-devel] [Patch] elm_map downloading progress info & bug fix
I added one new signal, one new API and fixed seg fault bug.
- signal : "download" (this signal is called when map_tile is
downloaded)
- API : elm_map_utils_downloading_status_get(const Evas_Object *obj, int
*try_num, int *finish_num)
- seg fault : if user select custom map provider, seg fault occurs,
because
there is no url_cb in the custom map provider
you can check download progress using these signal & API.
the example is in "test_map.c".
SVN revision: 56039
Subject: [PATCH] elc_ctxpopup
Here code is for the ctxpopup.
Since the functionalities of ctxpopup are somewhat different,
I'm trying to overwrite the ctxpopup code entirely first.
The main reason is,
Original ctxpopup could determine it's size and position by itself.
Of course, upstreamed version supports this. But it can not be reduced
it's
size
And it supposes the arrow position to center of box edje.
Basically,
This version calculates it's box size first then find available space
from
the it's position.
The origin position of the box is not expected, it finds the available
positions.
But if there is not enough space to be shown, then it finds a best
direction
to be shown again.
In this case, it reduces it's size also as to be shown entirely.
Since the ctxpopup supports scroller, the reduced box could show the all
items also.
(The point is ctxpopup should know the size of total items...)
I'm not sure the upstreamed version could cover the above scenario,
If then, I need to modify it first.
(fixed some minor formatting issue too)
SVN revision: 56021
Subject: [E-devel] [PATCH] Change the second parameter type of
elm_slidershow_timeout_set
Most of APIs related to timeout_set / get uses double type as parameter,
but elm_slidershow uses integer type.
For uniformity, the second parameter type of elm_slideshow_timeout_set
is changed into double type.
SVN revision: 56015
Even it looks somewhat alien elm,
I hope EFL supports basic effect by using c and edc.
In some cases, it is useful for app developers.
They want to use effects easily and quickly as Other F/W does
providing.
Here is patch again.
Added two lines for elm_transit_duration_set exception handling.
I guess there are possibilities still to add/modify some functions to
the
transit.
So, currently the exception cases does not defined yet.
But I will try patches soon as perfect things.
Please consider about transit.
And.. if this transit is acceptable,
How about deprecate elm_animator as soon as possible?
SVN revision: 55966
Subject: [E-devel] [Patch] Group index support
I added group index feature.
This feature support to show item indicates group index.
I attached capture images showing group index.
As you can see attached png images, Group index item includes same group
items.
The group index is shown until every items that have same group index
are scrolled. so group index realize/unrealize is not excuteded in
_item_block_position function.
instead of the function, group index is controlled in _pan_calculate
function.
"Genlist Group" and "Genlist Group Tree" menu is added in
elementary_test. you can test group index operations in elementary_test.
This patch is not support elm_genlist_item_insert_before/after
operation of group index. We are now considering the operations in group index.,
This patch assumes that the previous 2 patches are already applied to upstream.
'[E-devel] [Patch] Tree support for elm_genlist_item_prepend() API.'
'[E-devel] [Patch] Tree support for
elm_genlist_item_insert_before/after() APIs',
So this patch does not include the changes of the previous patch.
I separated this patch.
- 004.elm_genlist.c.patch.txt
Patch for src/lib/elm_genlist.c
- 005.test_genlist.c.patch.txt
Patch for src/bin/test_genlist.c
- 006.genlist.patch.txt
Patch for data/theme/default.edc
And you have to add attached group_index.png file into 'data/themes'
'group_index.png' file is group index background image.
Daniel Juyung Seo help make test code and refactoring group index code.
SVN revision: 55925
I fixed a bug for elm_genlist_item_insert_before/after() declarations.
(Thanks glima.)
I should have modified EINA_ARG_NONNULL() when I added a new parameter.
1st and 5th parameter should not be NULL.
Anybody can review and apply this to upstream?
Thanks.
Daniel Juyung Seo (SeoZ)
SVN revision: 55880
Subject: [E-devel] [Patch] elm_actionslider feature patch for
elementary.
This patch is for elementary elm_actionslider.
Mr. Sumanth created this patch. I reviewed it and fixed some.
This patch includes below features.
- Indicator label Set/Get APIs.
- _del_hook fix for wd->drag_button_base.
- Added magnet disable feature. _drag_button_up_cb fix for no magnet
handling. If magnet position is set to ELM_ACTIONSLIDER_NONE, it disables
magnetic. Added a test case to elementary_test.
SVN revision: 55872
Subject: [E-devel] [Patch] Tree support for
elm_genlist_item_insert_before/after() APIs
I added tree feature support to
elm_genlist_item_insert_before/after() APIs.
This patch assumes that the previous patch, '[E-devel] [Patch] Tree
support
for elm_genlist_item_prepend() API.', is already applied to upstream.
So this patch does not include the changes of the previous patch.
This patch includes API break. I added parent parameter.
To support genlist group index feature, it should have a parent
parameter
like elm_genlist_item_append/prepend() do.
Raster already agreed to this API break.
I or my co-worker will introduce genlist group index feature today.
But for the reviewer's convenience, I separated this patch.
- 001.elm_genlist.patch.txt
Patch for src/lib/elm_genlist.c
- 002.elm_genlist.patch.txt
Patch for src/lib/Elementary.h.in, src/bin/test_genlist.c
- 003.elm_genlist.patch.txt
Due to API break, I changes other EFL libraries and applications on SVN.
SVN revision: 55869
Subject: [E-devel] [Patch] elm_map module patch
This is a patch for elm_map module.
when app developers or companies want to use specific license map (i.e
google map), module is needed.
- add new map provider for module "ELM_MAP_SOURCE_MODULE".
- add test_map module.
- add test code for module provider.
- add my name to AUTHORS.
SVN revision: 55684
Subject: Re: [E-devel] elm_label patch(ellipsis, sliding)
It's a elm_label patch.
My previous patch is too big to submit.
So I did split into patch files.
(Thanks for Gastavo and Rasterman)
2. adding label text sliding feature
SVN revision: 55654
Subject: Re: [E-devel] elm_label patch(ellipsis, sliding)
Dear Elementary developers.
It's a elm_label patch.
My previous patch is too big to submit.
So I did split into patch files.
(Thanks for Gastavo and Rasterman)
main changes are
1. refine ellipsis algorithm
- improve to cut string to fit
SVN revision: 55653
Subject: [E-devel] [PATCH] elm scroller, scrolled entry: events
propagation, min size
It's not possible to connect event handler such as
EVAS_CALLBACK_KEY_UP to
elm_scrolled_entry because the scroller inside the scrolled entry does
not
propagate events. So this is the patch for adding events propagation set
function to scroller and setting it to EINA_TRUE in elm scrolled entry.
And one more thing in scrolled entry, while evaluating its size,
scrolled
entry does not consider its min size.
(It just refers to the min size of its scroller object instead of
scrolled
entry object.)
So here in the attached patch, scrolled entry compares its min size to
the
min size of the scroller object and set the bigger one to its min size
to
keep the min size set by intent.
looks good - some mistakes you made. you forgot the patch that adds
elm_scroller_propagate_events_set() to Elementary.h.in .... i added it
for
you. but remember to include it in your patch next time. Also the
documentation could be a LOT better! i fixed that for you too. also -
you
could have added a elm_scroller_propagate_events_get(). i added that
too for
you. oh.. and you didn't use ELM_CHECK_WIDTYPE().
SVN revision: 55609
The Api is very large, probably there is some EINA_ARG_NONNULL that are
missing in some parameters and others that I put that should not be
there, I tried my best to not have these mistakes, if you find
any, please, fix it :).
SVN revision: 55189
Edje caching primitives exposed in Elm, too, now, and stored at
config. Also, there's now a poller running for all Elm apps doing
cache flushing. All these things have configurable values, of course.
Testing config version bumping too, it should work.
SVN revision: 54851
Now working on exposing edje caching too, and having a cache dumping
poller. Patch also replaces some focus_overalay object functions,
too.
SVN revision: 54770
I'm now populating the default theme with text classes, just commit
with one for now. There can be tweakings at Elm config app's UI fonts
page, I know, but that will come later (editable preview field, font
hinting/fallback, blablabla).
WARNING: for users testing elm config, an old "rm -rf
~/.elementary/config" might be needed here, after this commit.
SVN revision: 54681
1. elm_genlist_item_item_class_update() API
It is required to change an item's item class on run-time.
Applications want to change a certain item's style and callbacks
dynamically.
This looks ok because changing one item's style does not affect performance,
And this API uses elm_genlist_item_update internally.
API name follows elementary naming conventions.
I've also added test code to elementary_test, Genlist 7.
2. constant to macro.
I replaced 2 constants for max_item_per_block and longpress_timeout to
macros.
This could be used in other places of the code.
3. duplicated assignment.
In elm_genlist_item_append, it->before = 0 is written in if and else.
I put this statement out of if().
4. fix doxygen typo
I fixed elm_genlist_compress_mode_set doxygen.
By: Daniel Juyung Seo <juyung.seo@samsung.com>
SVN revision: 54639
Actually it would be nice to fix these in the entire API.
Most widgets use homogenous, elm_genlist uses homogeneous,
that looks to be the name adopted on evas.
SVN revision: 54634
ELM_FX is now ELM_TRANSIT_EFFECT
Curve style like in edje
Changing names:
CURVE_IN -> TWEEN_DECELERATE
CURVE_OUT -> TWEEN_ACCELERATE
CURVE_IN_OUT -> TWEEN_SINUSOIDAL
Curve_Style -> Tween_Mode
Now, the calculation is done like in edje.
Changing function of type function() to function(void)
Elm_Transit: Changing calloc(1, to ELM_NEW
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
SVN revision: 54417
Now, if you set a negative number to repeat, it will repeat infinite
times.
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
SVN revision: 54416
"Do you come from the land down under?
Where women glow and men plunder?
Can't you hear, can't you hear the thunder?
You better run, you better take cover."
- Men at Work
commit msg suggested by glima =D
%hua
SVN revision: 54407
Suggested by k-s as part of our
"Beautiful, Consistent ELM API" effort.
colorpicker, diskpicker and flippicker should follow
fileselector name.
SVN revision: 54405
elm_list or in an elm_genlist fire the edge,{top,bottom,left,right}
signals, backporting them to the list object.
The new smart callbacks called are:
· "scroll,edge,top" - the list is scrolled until the top edge
· "scroll,edge,bottom" - the list is scrolled until the bottom edge
· "scroll,edge,left" - the list is scrolled until the left edge
· "scroll,edge,right" - the list is scrolled until the right edge
SVN revision: 3
SVN revision: 54393
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
When functions to change icon or labels are called a signal is sent to
edje that can perform an animation.
By: Otavio Pontes <otavio@profusion.mobi>
SVN revision: 54005
Changes in Elementary Config application's UI now *persist*.
Not doing right now, but should be simple:
- profile deletion
- profile addition
SVN revision: 53977
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Transit is designed to set the various effects for the Evas_Object
such like translation, rotation, etc. For using Effects, Create
transit and insert effects which are interesting.
Once effects are inserted into transit, transit will manage those
effects (ex: deleting).
SVN revision: 53927
Setters can't receive const pointers.
All setter need corresponding getter.
In this patch, i adjust getter in: Bg, Box, Icon, Image, Win and Main.
SVN revision: 53917
And fix the docs related to shrink mode:
SHRINK_HIDE -> hide excess items
SHRINK_NONE -> set toolbar minimun size to fit all the items
SVN revision: 53895
BIG FAT WARNING: lots of changes on toolbar API
Trying to get a lib with easy to use API, I'm changing toolbar API
to be consistent with genlist / gengrid widgets and to be more concise.
Functions select_next, select_first, select_last, unselect, unselect_all
get all are gone.
You can do this calling a combination of the others functions.
This commit changes toolbar to use inlist, and previous items can be
get.
So now we have:
Elm_Toolbar_Item *elm_toolbar_first_item_get(const Evas_Object *obj)
Elm_Toolbar_Item *elm_toolbar_last_item_get(const Evas_Object *obj)
Elm_Toolbar_Item *elm_toolbar_item_next_get(const Elm_Toolbar_Item *it)
Elm_Toolbar_Item *elm_toolbar_item_prev_get(const Elm_Toolbar_Item *it)
Eina_Bool elm_toolbar_item_selected_get(const Elm_Toolbar_Item)
void elm_toolbar_item_selected_set(Elm_Toolbar_Item *item, Eina_Bool selected)
Elm_Toolbar_Item *elm_toolbar_selected_item_get(const Evas_Object *obj)
With these functions you can iterate over the items list getting /
selecting the item you need.
Another big change is that elm_toolbar_item_add is gone. Now you can
insert items in the position you want, with the functions append,
prepend, insert after, insert before (a relative item).
If you don't like any changes or have a case of use for something
that should be different, please ping me.
At last, includes ELM_TOOLBAR_ITEM_CHECK_OR_RETURN on EAPI that
receives items.
SVN revision: 53894
Only two getters continue without const:
* elm_theme_get
Need name review, or comportament.
* elm_toolbar_item_menu_get
Need comportament review, but will be fixed by bdilly.
SVN revision: 53874
Subject: elementary patch
In this elementary patch. type casting is used in elm_colorpicker.
In addition, Elementary.h.in is modified for indentation.
SVN revision: 53708
This breaks the API *and* the ABI, but this should be consistent with
Elm_Toolbar. We'll probably need a tweak here and there, but I really
think Elm_Menu should be rewritten.
SVN revision: 53694
This is one more widget whose idea came from Samsung Electronics. Its
first name was "context popup". There was no common agreement on a
name for it, so... Trator mode, for now (using hoversel as a pattern).
If you have a better name suggestion for it, just change it -- but
soon, due to releasing plans (in a mailbox near in a jiffy).
While for hoversels you populate slots with thingies to later choose
one of them, which will hover up for you, with hoverlists you get a
single hovering list. It will smartly place this -- unique -- list
onto a fitting place inside its parent widget view. Just call
evas_object_show() on it, anytime you want (like for notifies).
SVN revision: 53644
This injects some inteligence into hovers which can then be shared
between other composed hover widgets. Also introducing four new
swallow slots one can place content at: the diagonal corners. Just
gotta fill all the styles with those, but no time right now.
SVN revision: 53642
I'm not implementing the default list themes WRT to it right now,
though, I get back to it soon (just implementing it for a new widget).
SVN revision: 53641
Now one can set lists to dispose its items horizontally, too.
elm_list_horizontal_mode_set(), whose name was bogus and would
conflict with the new methods, got renamed to elm_mode_set(), along
with the getters.
This is coming along to help a widget using lists which has a
horizontal mode. The default theme for horizontal items is kinda ugly
for default lists, but one can always improve it :) (in a hurry
now).
Also, I'm introducing a new mode for Elementary lists: expand.
SVN revision: 53640
With these changes, Elm_Icon will also look up icons from the chosen
Freedesktop (fd.o) icon theme. Since this might incur in some performance
penalties if you're sure only theme icons will be used, icon lookup order
may be specified with the elm_icon_order_lookup_set() function call; using
the lookup parameter as follows:
- ELM_ICON_ORDER_FDO_THEME (default) will look up first fd.o, then the theme;
- ELM_ICON_ORDER_THEME_FDO will look up first the theme, then fd.o;
- ELM_ICON_ORDER_FDO will look up only fd.o; and
- ELM_ICON_ORDER_THEME (old behaviour) will lookup only from the theme.
Elm_Icon will also try to use a different resolution image if the widget is
resized and the image source is fd.o.
fd.o support requires Efreet, but it should work nicely (falling back to the
old behaviour) if it isn't available.
SVN revision: 53433
Revised the parent, icon, end and content setter and getters of
elementary objects.
Review to smart objects and widgets items will be the next steps.
SVN revision: 53425
This allows having themeable icons for toolbar items -- inclusing lower
resolution ones for the More menu button. Changes to Elm_Menu_Item in the
same spirit will follow.
SVN revision: 53407
Toolbars can now be scrollable, non-scrollable, or hide icons selectively
according to a priority. This changed the API slightly, thus
elm_toolbar_scrollable_set(obj, 1)
Should be
elm_toolbar_mode_expand_set(obj, ELM_TOOLBAR_EXPAND_SCROLL)
Values for non-scrollable and scrollable remain the same, so if constants
aren't being used, just the function name should be changed.
The new mode, ELM_TOOLBAR_EXPAND_MENU, will create a menu of items when the
space isn't large enough to hold all the items. Which items will be kept on
the toolbar or which items will be added to the menu is controlled by the
priority of each item: higher ones will be kept if possible, lower ones will
be tratored on the first opportunity.
SVN revision: 53406
Don't need Ecore.h here, Elementary.h already includes it
Fix formatting.
Use #define for signal name rather than const char
Initialize integer's with a value.
Add 'changed' signal to Elementary.h so people know it emits changed
also.
SVN revision: 53314
Add a new Test for BG Options.
Add a new 'bg_overlay' in objects/test.edc for testing bg overlay stuff.
NB: There is an issue here that I cannot seem to get straight (perhaps
pebkac, not sure)...but basically it seems that showing/hiding the
overlay causes the other swallows of the edc to get recalc'd and makes
the 'image' not work well w/ Center.
SVN revision: 53307
Add ability for elm_bg to have 'overlays' such as animated fog, etc.
Normalize elm_bg internal object names:
Rename wd->img to the more generic wd->base.
Remove erroneous evas_object_resize(wd->base, 0, 0) (not needed).
Fix typo in doxy comment.
Add doxy for new functions (color_set, overlay_set)
Add swallow part in edc for bg color rectangle.
Fix overlay swallow part offsets.
SVN revision: 53299
use inlist so we don't have to find stuff to operate on.
export more methods, like elm_gengrid_item_next_get(),
elm_gengrid_item_prev_get() and elm_gengrid_first_item_get() and elm_gengrid_last_item_get()... so we don't expose elm_gengrid_items_get().
People using the old elm_gengrid_items_get() should move to
elm_gengrid_first_item_get() and then next variant.
SVN revision: 53248
Gengrid now has modes append, prepend, insert_before and insert_after. To see
them working check the Gengrid 2 test on elementary_test.
SVN revision: 53242
also missing are elm_gengrid_item_prepend(),
elm_gengrid_item_insert_before() and elm_gengrid_item_insert_after()!
I can't do them right now, so any help is appreciated.
SVN revision: 53236
I'll commit this to bring some attention to the topic, it is harmless
for people that do not use it, but for users it may be slow on list
resize.
SVN revision: 53160
Subject: [EFL] Small Patch for Genlist : elm_genlist_item_expanded_depth_get() API
I added one API to genlist : elm_genlist_item_expanded_depth_get(). This is
used to get an item's expanded depth. I tested this with latest SVN revision
53090.
Can you review this patch and apply this to upstream?
SVN revision: 53134
Added set, get, unset, prepend and append (relative or not).
Set - overwrite the custom chain
Unset - Delete the custom chain
Get- Return the custom chain
Append - append after the relative object or in the end
Prepend - prepend before the relative object or in the start
SVN revision: 53115
This is one more widget whose idea come from Samsung set of
contributions to Elementary.
There is a known bug involving embryo + string functions, which will,
if in "stress", appear at the labels of the widget. Not time to attack
it right now, though.
SVN revision: 53109
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Up, Down, Left and Right to navigate without multi selection.
Hold shift + up/down/left/right to multi select.
SVN revision: 53074
This Debug search all subobjects from one object and put in file all
sub-tree of elementary objects as dot language in file. After you can
use dot(from graphviz) to generate PNG, SVG,... diagram of objects.
SVN revision: 53035
EAPI void elm_slider_end_set(Evas_Object *obj, Evas_Object *end);
will set a *right* aligned sub-object relative to the slider.
EAPI const Evas_Object *elm_slider_end_get(const Evas_Object *obj);
Getter for that object.
EAPI Evas_Object *elm_slider_end_unset(Evas_Object *obj);
Unparent a previously set end object.
EAPI Evas_Object *elm_slider_icon_unset(Evas_Object *obj);
The same for the icon sub-object.
EAPI void elm_slider_indicator_show_set(Evas_Object *obj, Eina_Bool show);
EAPI Eina_Bool elm_slider_indicator_show_get(const Evas_Object *obj);
Set/get whether the slider should display the augmented knob (indicator) at
mouse drag at all.
SVN revision: 52852
yeah, i should do the tooltips one as well, but it's boring so I'll
leave the implementation as the exercise for someone else :-)
and yeah, we should have that inside edje, like a nice description {
cursor: "xterm"; }, but that's not going to happen in Edje 1.0.
SVN revision: 52793
With this commit is now possible to not use theme's cursor (default behevior)
that could be overriding cursors defined by the engine.
SVN revision: 52761
Basically, get the group from widget theme, using the string passed to
elm_object_cursor_set, get hot spots x and y from the theme (keeps the object
and these two integers on cursor struct).
Cursor is set with ecore_evas_object_cursor_set()
Some functions to change style were added to the api.
SVN revision: 52760
Most of the errors referred to the cast from int to void* in x86_64.
This need conversion to long, as intermediate.
Some calls to elm_widget not exposed API were changed to their similar
at elm_object API.
Elm_Photo never call "drop" smart callback, but i leave the callback
in tests.
And others API methods are included in Elementary.h
Now elementary build with -Wall -Werror in x86_64.
SVN revision: 52691
it's simple. only allows 1 level of theme. would need an advanced
dialog to allow:
theme1:theme2:theme3:theme4... etc.
also no browsing for themes - just whats instaleld n system and user
dirs atm.
SVN revision: 52667
These two functions mimic what is already done in gengrid object.
* elm_gengrid_item_show : scroll immediatly to the item
* elm_gengrid_item_bring : scroll with an animation to the item
SVN revision: 52620
Subject: Re: [E-devel] Transition Layout for elm_box
There are 2 simple problems with the committed code. First, it would
be better to locate the struct _Elm_Box_Transition in elm_box.c
instead of Elementary.h.in, because users should create it with
elm_box_transition_new and changing its contents can be dangerous. And
second, in struct _Transition_Animation_Data, I declared 4 coordinate
variables as int, instead of using Evas_Coords.
I am sending both patches attached.
SVN revision: 52560
There's still work to do here, particularly in the theme, but it has
something nice and fun to see the code working.
The idea behind this:
Window tracks focused object and sends the highlight object(s) to it. These
are simple edje objects, one on top, one below the focused widget for nice
effects. Widgets can choose to ignore the highlight and this will be sent to
the parent object, if it doesn't ignore it as well.
About the bottom object, it doesn't work now. For the most part, focused
widget will always be a member of some smart object, so stacking won't work
and the desired effect is nowhere to be seen. This will be worked out later.
To be done now:
- Let the theme for a widget define its own highlight, disabling if needed
the standard one for those objects.
- Needed base in code to allow animations when switching focus. All in theme.
- Properly test all widgets and fix some things that will most likely work
in weird ways, given the nature of Evas/Edje and how Elementary makes use
of them.
- Forgot the rest, stay tuned, test, report, give ideas, plant a tree.
Work started by glima, continued with some refactors by me when he
decided he needed vacations.
SVN revision: 52524
Subject: patch for indentation and using enum in elementary
I send the patch for elementary.
In this patch, I fixed the indentation of Elementary.h.in.
In addition, I use EINA_TRUE or EINA_FALSE instead of 1 or 0.
EVAS_HINT_EXPAND and EVA_HINT_FILL is used instead of 1.0 and -1.0.
Thanks.
SVN revision: 52447
Widgets can have customized cursors setting it with elm_object_cursor_set.
Widget's item can use elm_X_item_cursor_set to set a different cursor
for each item.
It will work only if HAVE_ELEMENTARY_X for now, but support for themeable
cursors is planned.
SVN revision: 52382
Now owner widget (elm_widget) is just used to listen for theme changes
and create/destroy the tooltip data. The actual mouse events operates
on all Evas_Object and is the one where tooltip data is actually
stored.
The public API is basically the same, just the event_info is now NULL
to avoid confusion.
The internal API introduces elm_object_sub_tooltip_content_cb_set()
and as the first parameter the eventarea. While this may be confusing,
as the second parameter is the actual elementary object, it is the one
that all other calls receive, like elm_object_tooltip_hide() or
elm_object_tooltip_unset(), thus it does make sense to have such order.
Also internal API, elm_widget_item_tooltip_* functions were
added. They are a variation of the widget API to handle its items, as
such the func() gets one more parameter: item, and the del_cb() gets
the item as event_info (that's why the public widget version got
event_info always NULL, to not confuse with this one!)
Widgets with items that makes sense to have tooltips got extra API:
* toolbar
* list
* gengrid
* genlist
SVN revision: 52173
The Elm_Object_Layer is a convenience enumeration to help standardize
values so we don't ride into problems in future.
Tooltip has now its own layer, so set it there and avoid newly created
objects being created on top of them (usually they show on top of
everything as they are the last created, thus the topmost on the
default layer)
SVN revision: 52158
Tooltips are set using elm_object_tooltip_content_cb_set(), that
returns the desired Evas_Object to use as contents, or using the
helper function elm_object_tooltip_text_set() that uses that
underneath.
The behavior is controlled part on elm_config, theme and user
application. In elm_config one defines the tooltip timeout. The theme
defines the padding around cursor x/y and window border x/y, as well
as the look and feel. Last but not least, the user application may
want to change the tooltip style with elm_object_tooltip_style_set().
Have fun!
This code was initially written by Tiago Falcao and Fabiano Fidencio,
I did some API review and changed some bits.
TODO: elm widget item support, like with toolbar items.
SVN revision: 52150
This patch changes all Elm_*_Item to use new infrastructure of
Elm_Widget_Item. This patch is basically a find-and-replace, but even
that was a bit tricky since every code had different names for the
same things, particularly for "view" and "widget" the names ranged
from "o"/"obj" to "base"/"o", quite confusing!
It is worth noting that Genlist and variants that adopted its "item
class" style such as Gengrid and Slideshow already provide a "del()"
callback there and I'm keeping them, however we should reconsider if
it is good to remove them and use elm_widget_item_del_cb_set()
instead. The drawback is that onde would have to set it, while the
other is done automatically when you create the object with the
class. Nonetheless this patch already introduces support to use
elm_widget_item_pre_notify_del(), but it will be void in such code as
nobody ever sets it.
Some new setters and getters were introduced to normalize code... and
they would be required once people write python-bindings for them,
like index and carousel.
SVN revision: 52118
A calendar is a widget that allows the user to select a date. It has
support to adding marks (holidays and checks by default). The calendar
is displayed month at a time.
Weekdays names and the function used to format month and year to
be displayed can be set, giving more flexibility to this widget.
SVN revision: 51584