Commit Graph

241 Commits

Author SHA1 Message Date
Gustavo Lima Chaves bbeb7cfcc5 Elm caching settings exposed, part II.
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
2010-11-23 06:10:58 +00:00
Gustavo Lima Chaves 4633eb92d8 Elm caching settings exposed, part I.
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
2010-11-22 06:56:06 +00:00
Gustavo Lima Chaves f9172244ac Elementary welcomes text classes support.
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
2010-11-18 10:01:24 +00:00
Davide Andreoli 2abf567a5f Make the scroller more "weighted" (or hard-to-drag) while you drag it
out of bounds, that is when the content is finished. In this way
 the user note that the content is at the end.

 All the others finger-scroll implementation (iphone,android) works this way ;)

 This is configurable by the 'thumbscroll_border_friction' config value,
 and by the 'ELM_THUMBSCROLL_BORDER_FRICTION' var.
 0.0 means: disable the friction
 0.5 is the default
 1.0 means: maximum friction

 I have tested this with every scroller in elm_test and seems to work
 well in all the occurence, if you see somthing strange in some scroller
 please let me know.

 DaveMDS
  



SVN revision: 54170
2010-11-05 09:31:51 +00:00
Carsten Haitzler 5400a9a7f1 elm theme can be copied, referenced and theme flush tries to ONLY
flush a specific theme if told so (and only those widgets and their
children).



SVN revision: 54169
2010-11-05 08:37:31 +00:00
Gustavo Lima Chaves e5ddc241f4 New elm config app's option: engine setting.
SVN revision: 54082
2010-11-01 21:10:14 +00:00
Gustavo Lima Chaves e667a17bc8 Switching elm config's engine variable from enum to string ptr.
SVN revision: 54081
2010-11-01 21:10:07 +00:00
Gustavo Lima Chaves 5113b69035 Elementary profiles managing revamped. Most importantly:
Changes in Elementary Config application's UI now *persist*.
Not doing right now, but should be simple:
- profile deletion
- profile addition



SVN revision: 53977
2010-10-28 20:57:44 +00:00
Gustavo Lima Chaves b02dd546a4 Profile selection at Elementary config app.
New heading for persistent profile changes/editions.



SVN revision: 53868
2010-10-25 13:08:19 +00:00
Iván Briano 3ec77727cc Bring focused object into the visible area
There's still a little bugger that can be noticed with the Scroller 2 test
and elm_conform still needs to handle this as scroller does.


SVN revision: 53778
2010-10-22 18:29:51 +00:00
Rafael Fonseca dd5b3ae608 Misspelling threshhold -> threshold as pointed out by glima.
SVN revision: 53740
2010-10-21 19:35:12 +00:00
Tiago Rezende Campos Falcao 0fd89213af Review elm_theme. int -> Eina_Bool
SVN revision: 53731
2010-10-21 18:58:37 +00:00
Rafael Fonseca 99191cda20 Improve Elementary's profiles.
This is still a work in progress. The idea is to have two different profiles:
one to be used on desktops and another for mobiles. To make it possible, I've
added some fields to the config struct and in the following commits the widgets
will start using that configuration so when they are created the default
configuration of the profile is applied.



SVN revision: 53726
2010-10-21 18:26:14 +00:00
Leandro Pereira a8b171115c [Elementary] Add menu buttons as submenus in Elm_Toolbar "More" button.
Previously, if there were buttons with menus in the toolbar, they would be
added but not its menu items.  Even though this is working fine, this is a
hack, since Elm_Menu should really offer reparenting or something like that
-- and this will destroy and recreate the whole menu structure on every
toolbar resize.

SVN revision: 53695
2010-10-20 21:30:03 +00:00
Iván Briano e8ef45befb Focus highlight kinda configurable. More to come when discomfitor feels like implementing it
SVN revision: 53031
2010-10-04 16:55:32 +00:00
Carsten Haitzler b1a68bdb5f at least support software-x11-8 engine - in theory.
SVN revision: 52868
2010-09-28 22:43:48 +00:00
Bruno Dilly b7ae7c772a Add cursor engine only usage to elm config
Only use engine cursors by default



SVN revision: 52762
2010-09-25 22:04:51 +00:00
Bruno Dilly 816c77b3fa Add cursor support on Elm using ecore_evas
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
2010-09-25 22:01:19 +00:00
Leandro Pereira 8c4df25efe [Elementary] For icon/end elements, use swallow parts in the scroller theme instead of an Elm_Box.
This defines a new theme group for elm_scrolled_entry:
"elm/scroller/entry/$THEME".  Themes that wants to support the icon/end
feature in scrolled entry should implement parts "elm.swallow.icon" and
"elm.swallow.end".  Black&White theme has been changed, Effeniht changes
to come on a later commit.



SVN revision: 52657
2010-09-23 22:30:47 +00:00
Brett Nash 9b8e54d3b1 Move cnp/dnd -> elm_widget. Officially Experimental for apps.
Expect to see changes in the very short term future for the CNP/DND code.
It will break etc etc etc.

SVN revision: 52359
2010-09-17 05:39:04 +00:00
Brett Nash c382b4339a Vcard support for dnd.
SVN revision: 52358
2010-09-17 05:39:00 +00:00
Brett Nash c6684b49ec Elm DND/Sel: Update typenames to be more consistent.
SVN revision: 52286
2010-09-15 06:29:49 +00:00
Carsten Haitzler 68f5b4119b oooh big cleanup. internal elm widget api cleaned up a bit.
SVN revision: 52178
2010-09-13 07:56:23 +00:00
Gustavo Sverzut Barbieri 494c1a6dca Tooltips: split owner/eventarea, allow subitems to have indepentent tooltips.
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
2010-09-12 21:05:13 +00:00
Gustavo Sverzut Barbieri 5c61931bd1 Welcome Tooltips.
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
2010-09-11 00:52:33 +00:00
Brett Nash 8a74d9c272 Elm; drag_start now has a donecb.
SVN revision: 52127
2010-09-10 08:24:21 +00:00
Gustavo Sverzut Barbieri 5e7dfe1c8c Introducing Elm_Widget_Item: common ground for widget sub items.
Lots of widgets have items that are not Evas_Object of type elm_widget
per se, like Elm_List_Item or Elm_Toolbar_Item. They all have, or
should have, some common attributes and functions such as data,
del_cb, a view object and a parent/owner widget. Thus this is being
provided and will be later used in future patches.

Right now I opted to hide elm_widget_item_del_cb_set(),
elm_widget_item_data_get(), elm_widget_item_data_set() inside
elm_priv.h and keep the old functions as wrappers to the new. But
maybe in future we can remove them and have the user to call the
common function.

Future extensions will use this base, such as tooltip support.




SVN revision: 52116
2010-09-10 01:54:05 +00:00
Brett Nash 67c9425063 Hooks for dragging: not working, just so I can push.
SVN revision: 52036
2010-09-09 08:59:42 +00:00
Brett Nash 952b0925dc Start cleaning cnp/dnd code for elm.
SVN revision: 51969
2010-09-08 04:55:05 +00:00
Brett Nash 0d492dcdaf Merge branch 'elmdnd'
Conflicts:
	trunk/TMP/st/elementary/.gitignore

SVN revision: 51935
2010-09-07 06:56:16 +00:00
Iván Briano f2c8ba0fe6 Versioned config for Elementary.
This is not doing much now, just the version field in the struct,
some stuff stolen from E and a base to use when new things are added.
There are some comments in the code about what to do in certain cases
that E does not have, like a system update, new config and apps linked
to the old version still running when the config Atoms are updated. These
things we'll probably be addressed as they are needed, as well as come
clean up in quick code I ditched in there, but it would be good to do so
with more feedback from the good guys around that like to break SVN
every now and then.

Since the commit message is already long enough, I'm adding some more crap
just for the sake of doing so. I could go with some tl;dr thing as well,
but I don't feel like resuming what's up there.

Have a nice day.


SVN revision: 51843
2010-09-02 14:33:04 +00:00
Carsten Haitzler 67b635e782 wonguk -> happy?
SVN revision: 50980
2010-08-10 23:58:57 +00:00
Carsten Haitzler 64b374c77f finger waggles! this is to make sure developers actually read docs!
SVN revision: 50277
2010-07-16 06:38:59 +00:00
Lucas De Marchi 5fa0945d28 Constify parameters of elm_widget_drag_*_get functions
Change "Evas_Object*" to "const Evas_Object*" in:
 * elm_widget_drag_lock_x_get()
 * elm_widget_drag_lock_y_get()
 * elm_widget_drag_child_locked_x_get()
 * elm_widget_drag_child_locked_y_get()

By: Fabiano Fidencio <fidencio@profusion.mobi>



SVN revision: 50177
2010-07-10 22:05:37 +00:00
Bruno Dilly d350f3a293 Change elm functions elm_object_signal_listen to elm_object_signal_callback_add
and elm_object_signal_unlisten to elm_object_signal_callback_del


SVN revision: 49926
2010-06-28 15:32:20 +00:00
Bruno Dilly 8d644e43ed Implement elm_object_signal_listen and unlisten
elm_object_signal_listen add callback(s) for edje object(s) of the widget.
elm_object_signal_unlisten delete this callback.
They're general functions, and every widget should set hooks for these.

It will improve elm extension flexibility. We have already
elm_object_signal_emit to send signals for the widgets theme, adding callbacks
is an expected step.

It provides a way to support sound on widgets. For example, in the elm extension
we could emit "file_to_play", "play", and add a callback with
elm_object_signal_listen for "*", "play". The callback function could use
the signal received to request the file to be played by the backend
sound system.

Certainly we should look for a better way to provide support for sound
on edje, but for now, it does the work. And anyway, it's only a use case
for these new functions.



SVN revision: 49868
2010-06-25 22:38:32 +00:00
Brett Nash cf7ddc517a Elm entry now uses new & improved cut and paste.
SVN revision: 49813
2010-06-23 08:08:17 +00:00
Brett Nash 061259fe6c Fix elm->elm copy
SVN revision: 49810
2010-06-23 01:28:57 +00:00
Brett Nash bed3589df5 Updates to entry to use selection code.
SVN revision: 49728
2010-06-17 08:50:43 +00:00
Bruno Dilly db550353a8 Add elm_object_signal_emit
This function sends a signal to the edje object of the obj.
It's a general function, and every widget should set a hook for this.

I'm setting a hook only for the spinner now, but soon I will work on other widgets.



SVN revision: 49681
2010-06-15 14:11:13 +00:00
Carsten Haitzler d888b71dba theme -> can specify a new theme for an object andit gets inherited. need to
add tests.



SVN revision: 48771
2010-05-12 01:03:46 +00:00
Carsten Haitzler 6a2932cfbc re-jig elm config stuff to be in its own file and modularise it a little.
will be modified more soon to support x prop.



SVN revision: 48669
2010-05-07 15:49:06 +00:00
Carsten Haitzler 83286a1d84 scroller in scroller.... works! well with scrollers for now (elm_scroller).
need to fix up some other instances of use of elm_smart_scroller. it's a 1
liner.



SVN revision: 48667
2010-05-07 13:21:45 +00:00
Iván Briano 123c0140de more friendliness with the lispers, and also shuts up valgrind a bit about leaks
SVN revision: 48410
2010-04-28 23:14:04 +00:00
Carsten Haitzler 7aceaa4a41 support flush and dump protocol - also add call to do this by requuest from
the app itself.



SVN revision: 47949
2010-04-12 08:27:10 +00:00
Tiago Rezende Campos Falcao b30117f449 Don't forget to shutdown ethumb. By Fonseca
Author:    Rafael Fonseca <rfonseca at profusion.mobi>

SVN revision: 47624
2010-03-31 12:38:58 +00:00
Gustavo Sverzut Barbieri 86bf257913 fix _elm_widget_type_check() to return FALSE on failure.
SVN revision: 47497
2010-03-27 01:19:44 +00:00
Gustavo Sverzut Barbieri dbd9fcce4d Enable check of Elementary widgets and getting the first widget that
is parent of an Evas_Object.

With these in place, one can check if the given object is an elmentary
widget and query for the first widget that is parent, so we can add
them and keep focus chain correct, useful for Edje externals, patch to
follow.




SVN revision: 47374
2010-03-22 21:36:59 +00:00
Carsten Haitzler 5ceae54321 fix more runtime wornings... added ELM_ERROR_ABORT! :)
SVN revision: 47195
2010-03-14 03:48:22 +00:00
Carsten Haitzler 6792e2db2c warning fix 1. :)
SVN revision: 47074
2010-03-09 07:30:48 +00:00
Carsten Haitzler 91e01aa86e patch from discomfitor <- check type of widget on api call and return if not
the right type



SVN revision: 47073
2010-03-09 06:15:39 +00:00
xcomputerman 8cf715a619 OpenGL/SDL support (still buggy, but probably not elm's fault)
SVN revision: 45880
2010-02-04 18:34:44 +00:00
Lionel Landwerlin b73c6c1aec From: Lionel Landwerlin <llandwerlin@gmail.com>
Subject: [E-devel] [PATCH] Elementary: Added directfb support



SVN revision: 45331
2010-01-19 15:34:24 +00:00
Carsten Haitzler 06d2876baf well it needed to be done finallly - elm has config files and profiles - just
like big brother e.



SVN revision: 45280
2010-01-18 09:38:52 +00:00
xcomputerman 9e644e73a2 Add in SDL support (needed for WebOS). Admittedly this has not been actually checked out yet,
but it will be shortly and it does no evil


SVN revision: 45080
2010-01-13 08:17:15 +00:00
Carsten Haitzler 07eee5720e use all dem cursor api's... and module it up bro
SVN revision: 44088
2009-12-01 11:03:14 +00:00
Gustavo Sverzut Barbieri 818032a68f elm_layout: deferred sizing_eval to calculate (pre-render) phase.
This plays well with edje's own deferred calculations. Usually size
hints are set on children and edje will flag itself as dirty, but real
calculations are deferred to "calculate" phase before rendering.

For now this unbreaks elm_layout with contents... but other types such
as GROUP, BOX and TABLE remain broken: when they change their internal
state (ie: child object is packed into box or table), this will not
trigger elm_layout.

That said, we need a better solution. Maybe ask edje to emit signals
when one of its children change hints (it already listen to this
anyway), in this case elm_layout should listen to those instead of
connecting directly to objects given through elm_layout_content_set().



SVN revision: 43752
2009-11-17 16:32:45 +00:00
Carsten Haitzler 111735b63d 1. add elm module internal code. will be used later for things like:
* putting policy into modules
* multitouch handling being able to be farmed off to modules
* farming off things that are not compatible with license/code of elm into a
3rd party piece of code via a clean defined interface API

2. fix doc image - dont need it

3. fix toolbar bounce settings. was wrong



SVN revision: 42793
2009-09-29 04:35:35 +00:00
Iván Briano eba91344f5 Elm table now uses Evas table.
Simple switch, nothing new.


SVN revision: 42781
2009-09-28 19:43:56 +00:00
Carsten Haitzler 031439f6d7 and another config value
SVN revision: 42668
2009-09-24 07:40:14 +00:00
Carsten Haitzler c9036091d4 make these friction and config values
SVN revision: 42667
2009-09-24 07:35:54 +00:00
Jonathan Atton 82a9eb4bc5 elementary, new widget: slideshow. See elementary_test
SVN revision: 42660
2009-09-23 22:56:47 +00:00
Gustavo Sverzut Barbieri 0d07a5208a elm using logging, please use new macros.
SVN revision: 42409
2009-09-11 14:21:58 +00:00
Vincent Torri e2be9d2b24 remove trailing spaces
SVN revision: 41261
2009-07-07 06:46:51 +00:00
Carsten Haitzler 26b4f340b6 actually give widgets type name strings and set parent by default
SVN revision: 40618
2009-05-13 12:21:52 +00:00
Carsten Haitzler 5c7e2ec144 1. fix box as it didnt hide clipper when it gets empty
2. add bouncing at ends for scroller and config for it
3. fix quicklaunch to be cserver-freidnly thanks to its fork tricks
4. add signals to scroller when scrolling and hitting edges
5. pants.



SVN revision: 40549
2009-05-08 11:27:32 +00:00
Carsten Haitzler 73f3de55f4 patch from victor to make styles generic - not all widgets support them
tho... but calls to set style are now. old calls are left in place, but
likely will be phased out.



SVN revision: 40317
2009-04-23 04:03:27 +00:00
Carsten Haitzler 16a328cba1 and make entry work nicely by freezing/holding scrolling (hold == different
scroll mode).



SVN revision: 39601
2009-03-20 15:08:33 +00:00
Carsten Haitzler fbc56fe2fb add fps setting.
SVN revision: 39272
2009-02-28 07:32:50 +00:00
Gustavo Sverzut Barbieri 2e62b41b1b major warning + cast cleanup.
* casts: remove internal "Item" and use "Elm_XXXX_Item" for carousel,
   list, genlist and toolbar.

 * warning: fix const on lots of getter apis, the object should be
   const, and not the return! Of course lists that are returned and
   are not supposed to be modified are still returned as const, but
   maybe we should return iterators!

 * list/genlist: fix selected_set() to be a bit (marginally)
   faster. Do not operate if state has not changed and if it did
   changed we're sure we're not in the object->selected list.




SVN revision: 39208
2009-02-25 15:54:26 +00:00
Carsten Haitzler 1099280784 fix some min size calc issues.
fix some theme size calc issues
make all widgets able to... do finger size! this way a ui can be tweaked with
1 value (finger size) if it is to be finger or mouse/stylus driven. and it
was so simple to add in.
work on genlist - beginning to display items and scroll.



SVN revision: 38995
2009-02-11 11:49:43 +00:00
Carsten Haitzler 77a09c957a env vars for font path, image and font cache and even font hintingt
SVN revision: 38914
2009-02-03 10:27:52 +00:00
Carsten Haitzler 986fcca059 allow for all widgets.objects to have different scaling factors.
add tests for these
add tests for inheriting scaling factor from parent
fix test app to use list now instead of box+buttons (cleaner)



SVN revision: 38909
2009-02-03 05:09:03 +00:00
Vincent Torri c5d296b658 add Windows XP support
SVN revision: 38701
2009-01-22 21:43:07 +00:00
Carsten Haitzler 90f79c27db 1. add carousel start - does nothnig. ignore. copy of toolbar atm to start with
2. make elementary be able to determine theme from
  PREFIX/share/elementary/themes or ~/.elementary/themes (~/ takes preference)
  currently using a delimited list of theme names in order to check like:
    mytheme/fallback/morestuff/default
  (if the last theme entry is on default it is added explicitly).
  this allows multiple theme files bascially to work a bit like a fontset - try
  the first one - if not there, try the next and so on. set $ELM_THEME to your
  theme setting
3. determine prefix and thus data dir - where system themes go. if it can't
  rely on dladdr, or the compiled-in prefix/data dir, you can set $ELM_PREFIX
  and/or $ELM_DATA_DIR accordingly.
  


SVN revision: 38568
2009-01-13 09:20:53 +00:00
Carsten Haitzler 836ddd6026 remove alloca.h from priv.h and include wince headers.. if appropriate
SVN revision: 38218
2008-12-19 01:23:34 +00:00
Carsten Haitzler b3aab18f67 and vtorri's wince support for elementary. god forbid. we support windows! :)
SVN revision: 38214
2008-12-19 00:34:56 +00:00
Carsten Haitzler 2a41db988e be able to build without x - so it should work on the fb.. and it does... at
leats my mouse and keyboard do - and windows are fullscreen of course... and
really you have a technical limit of 1 window... but hey! that's the fb!



SVN revision: 38077
2008-12-10 06:33:24 +00:00
Carsten Haitzler c4d6d7c6dc move config to private stuff...
SVN revision: 38042
2008-12-09 05:40:38 +00:00
Carsten Haitzler 8e9f6b8fbc more todo items done/added
SVN revision: 37702
2008-11-18 10:11:57 +00:00
Carsten Haitzler 08c021a0c6 handle changes in scaling... a bit...
SVN revision: 37654
2008-11-15 06:09:04 +00:00
Carsten Haitzler 6f493e0ee1 so much more - valgrind complaints fixed in many places, leaks
and anchorblock/view are working...



SVN revision: 37081
2008-10-25 02:11:06 +00:00
Carsten Haitzler ab493a0d00 and now entry is pretty much done (no hooks to x copy/paste selections etc.
but for now that's ok)



SVN revision: 36754
2008-10-17 14:40:54 +00:00
Carsten Haitzler a337a70cea add background pixmaps to elm - faster draw/redraw on embedded :) (well..
expose events are less of a problem with latency. let's see how it looks).



SVN revision: 36715
2008-10-16 12:03:01 +00:00
Carsten Haitzler a0fd0771f5 theme stuff is done properly now with a style (always default - onyl one
available for all widgets for now) and icons emit callback.



SVN revision: 36522
2008-10-08 09:33:05 +00:00
Carsten Haitzler c78abf03be 1. fix scale property fetch
2. add hover object - beginning to work. will be used to pop up menus/options
etc.



SVN revision: 36515
2008-10-08 06:38:20 +00:00
Carsten Haitzler e8bfcbd777 remvoe minw/h from widget - not needed anymore. ad hovers placeholder
SVN revision: 36499
2008-10-07 12:58:08 +00:00
Carsten Haitzler 55b01e9534 and remove unused code.
SVN revision: 36489
2008-10-07 02:36:19 +00:00
Carsten Haitzler e8ef0d8bab new elm api - more evas liek and evas/edje freindly. i can mvoe forward now.
SVN revision: 36487
2008-10-07 01:23:49 +00:00
Carsten Haitzler 40655e28d5 hmm contactlist widget.. and.. elementary has a serious design flaw... whihc
i really don't like. now do i do a quick fix... or redo the entire api etc.



SVN revision: 36392
2008-10-02 12:45:23 +00:00
Carsten Haitzler 51123a3452 elementary becomes its own tree/lib/test binary
SVN revision: 36343
2008-09-30 06:58:56 +00:00