fomatting of headers -> fixup. and documentation fixing.

SVN revision: 66667
devs/felipealmeida/promises
Carsten Haitzler 11 years ago
parent 39f63f3bf6
commit 0930fdcd52
  1. 2
      legacy/elementary/doc/examples.dox
  2. 412
      legacy/elementary/src/lib/Elementary.h
  3. 422
      legacy/elementary/src/lib/Elementary.h.in
  4. 1
      legacy/elementary/src/lib/Elementary_Cursor.h
  5. 3
      legacy/elementary/src/lib/Makefile.am
  6. 456
      legacy/elementary/src/lib/elc_anchorblock.h
  7. 490
      legacy/elementary/src/lib/elc_anchorview.h
  8. 608
      legacy/elementary/src/lib/elc_ctxpopup.h
  9. 591
      legacy/elementary/src/lib/elc_fileselector.h
  10. 595
      legacy/elementary/src/lib/elc_fileselector_button.h
  11. 675
      legacy/elementary/src/lib/elc_fileselector_entry.h
  12. 601
      legacy/elementary/src/lib/elc_hoversel.h
  13. 551
      legacy/elementary/src/lib/elc_multibuttonentry.h
  14. 727
      legacy/elementary/src/lib/elc_naviframe.h
  15. 283
      legacy/elementary/src/lib/elm_actionslider.h
  16. 369
      legacy/elementary/src/lib/elm_app.h
  17. 61
      legacy/elementary/src/lib/elm_authors.h
  18. 357
      legacy/elementary/src/lib/elm_bg.h
  19. 861
      legacy/elementary/src/lib/elm_box.h
  20. 409
      legacy/elementary/src/lib/elm_bubble.h
  21. 363
      legacy/elementary/src/lib/elm_button.h
  22. 497
      legacy/elementary/src/lib/elm_cache.h
  23. 900
      legacy/elementary/src/lib/elm_calendar.h
  24. 269
      legacy/elementary/src/lib/elm_check.h
  25. 577
      legacy/elementary/src/lib/elm_clock.h
  26. 185
      legacy/elementary/src/lib/elm_cnp.h
  27. 105
      legacy/elementary/src/lib/elm_colorselector.h
  28. 1137
      legacy/elementary/src/lib/elm_config.h
  29. 225
      legacy/elementary/src/lib/elm_conform.h
  30. 269
      legacy/elementary/src/lib/elm_cursor.h
  31. 49
      legacy/elementary/src/lib/elm_debug.h
  32. 511
      legacy/elementary/src/lib/elm_deprecated.h
  33. 1571
      legacy/elementary/src/lib/elm_diskselector.h
  34. 109
      legacy/elementary/src/lib/elm_engine.h
  35. 2508
      legacy/elementary/src/lib/elm_entry.h
  36. 13
      legacy/elementary/src/lib/elm_factory.h
  37. 145
      legacy/elementary/src/lib/elm_finger.h
  38. 547
      legacy/elementary/src/lib/elm_flip.h
  39. 639
      legacy/elementary/src/lib/elm_flipselector.h
  40. 551
      legacy/elementary/src/lib/elm_focus.h
  41. 393
      legacy/elementary/src/lib/elm_fonts.h
  42. 191
      legacy/elementary/src/lib/elm_frame.h
  43. 322
      legacy/elementary/src/lib/elm_gen_common.h
  44. 687
      legacy/elementary/src/lib/elm_general.h
  45. 3033
      legacy/elementary/src/lib/elm_gengrid.h
  46. 3835
      legacy/elementary/src/lib/elm_genlist.h
  47. 587
      legacy/elementary/src/lib/elm_gesture_layer.h
  48. 196
      legacy/elementary/src/lib/elm_getting_started.h
  49. 371
      legacy/elementary/src/lib/elm_glview.h
  50. 203
      legacy/elementary/src/lib/elm_grid.h
  51. 367
      legacy/elementary/src/lib/elm_hover.h
  52. 1063
      legacy/elementary/src/lib/elm_icon.h
  53. 738
      legacy/elementary/src/lib/elm_image.h
  54. 649
      legacy/elementary/src/lib/elm_index.h
  55. 34
      legacy/elementary/src/lib/elm_intro.h
  56. 473
      legacy/elementary/src/lib/elm_label.h
  57. 1324
      legacy/elementary/src/lib/elm_layout.h
  58. 2269
      legacy/elementary/src/lib/elm_list.h
  59. 2834
      legacy/elementary/src/lib/elm_map.h
  60. 367
      legacy/elementary/src/lib/elm_mapbuf.h
  61. 745
      legacy/elementary/src/lib/elm_menu.h
  62. 99
      legacy/elementary/src/lib/elm_mirroring.h
  63. 93
      legacy/elementary/src/lib/elm_need.h
  64. 355
      legacy/elementary/src/lib/elm_notify.h
  65. 803
      legacy/elementary/src/lib/elm_object.h
  66. 419
      legacy/elementary/src/lib/elm_object_item.h
  67. 227
      legacy/elementary/src/lib/elm_pager.h
  68. 241
      legacy/elementary/src/lib/elm_panel.h
  69. 455
      legacy/elementary/src/lib/elm_panes.h
  70. 113
      legacy/elementary/src/lib/elm_password.h
  71. 155
      legacy/elementary/src/lib/elm_photo.h
  72. 485
      legacy/elementary/src/lib/elm_photocam.h
  73. 320
      legacy/elementary/src/lib/elm_priv.h
  74. 664
      legacy/elementary/src/lib/elm_progressbar.h
  75. 331
      legacy/elementary/src/lib/elm_radio.h
  76. 12
      legacy/elementary/src/lib/elm_route.h
  77. 129
      legacy/elementary/src/lib/elm_scale.h
  78. 211
      legacy/elementary/src/lib/elm_scroll.h
  79. 775
      legacy/elementary/src/lib/elm_scroller.h
  80. 629
      legacy/elementary/src/lib/elm_segment_control.h
  81. 77
      legacy/elementary/src/lib/elm_separator.h
  82. 1023
      legacy/elementary/src/lib/elm_slider.h
  83. 1127
      legacy/elementary/src/lib/elm_slideshow.h
  84. 659
      legacy/elementary/src/lib/elm_spinner.h
  85. 217
      legacy/elementary/src/lib/elm_store.h
  86. 237
      legacy/elementary/src/lib/elm_table.h
  87. 711
      legacy/elementary/src/lib/elm_theme.h
  88. 499
      legacy/elementary/src/lib/elm_thumb.h
  89. 2621
      legacy/elementary/src/lib/elm_toolbar.h
  90. 85
      legacy/elementary/src/lib/elm_tooltip.h
  91. 1657
      legacy/elementary/src/lib/elm_transit.h
  92. 465
      legacy/elementary/src/lib/elm_video.h
  93. 1805
      legacy/elementary/src/lib/elm_web.h
  94. 255
      legacy/elementary/src/lib/elm_widget.h
  95. 2035
      legacy/elementary/src/lib/elm_win.h
  96. 54
      legacy/elementary/src/lib/els_icon.h
  97. 21
      legacy/elementary/src/lib/els_pan.h
  98. 80
      legacy/elementary/src/lib/els_scroller.h

@ -2600,7 +2600,7 @@
* @skipline elm_toolbar_add
* @until Update
*
* The only difference here is that we set shrink mode to #ELM_SHRINK_MODE_HIDE,
* The only difference here is that we set shrink mode to #ELM_TOOLBAR_SHRINK_HIDE,
* that won't display items that doesn't fit to the window.
*
* Now, let's add an item with states. First, add the item just as any other.

@ -1,304 +1,10 @@
/*
*
* vim:ts=8:sw=3:sts=3:expandtab:cino=>5n-3f0^-2{2(0W1st0
*/
/**
@file Elementary.h.in
@brief Elementary Widget Library
*/
/**
@mainpage Elementary
@image html elementary.png
@version 0.8.0
@date 2008-2011
@section intro What is Elementary?
This is a VERY SIMPLE toolkit. It is not meant for writing extensive desktop
applications (yet). Small simple ones with simple needs.
It is meant to make the programmers work almost brainless but give them lots
of flexibility.
@li @ref Start - Go here to quickly get started with writing Apps
@section organization Organization
One can divide Elemementary into three main groups:
@li @ref infralist - These are modules that deal with Elementary as a whole.
@li @ref widgetslist - These are the widgets you'll compose your UI out of.
@li @ref containerslist - These are the containers which hold the widgets.
@section license License
LGPL v2 (see COPYING in the base of Elementary's source). This applies to
all files in the source tree.
@section ack Acknowledgements
There is a lot that goes into making a widget set, and they don't happen out of
nothing. It's like trying to make everyone everywhere happy, regardless of age,
gender, race or nationality - and that is really tough. So thanks to people and
organisations behind this, as listed in the @ref authors page.
*/
/**
* @defgroup Start Getting Started
*
* To write an Elementary app, you can get started with the following:
*
@code
#include <Elementary.h>
EAPI_MAIN int
elm_main(int argc, char **argv)
{
// create window(s) here and do any application init
elm_run(); // run main loop
elm_shutdown(); // after mainloop finishes running, shutdown
return 0; // exit 0 for exit code
}
ELM_MAIN()
@endcode
*
* To use autotools (which helps in many ways in the long run, like being able
* to immediately create releases of your software directly from your tree
* and ensure everything needed to build it is there) you will need a
* configure.ac, Makefile.am and autogen.sh file.
*
* configure.ac:
*
@verbatim
AC_INIT(myapp, 0.0.0, myname@mydomain.com)
AC_PREREQ(2.52)
AC_CONFIG_SRCDIR(configure.ac)
AM_CONFIG_HEADER(config.h)
AC_PROG_CC
AM_INIT_AUTOMAKE(1.6 dist-bzip2)
PKG_CHECK_MODULES([ELEMENTARY], elementary)
AC_OUTPUT(Makefile)
@endverbatim
*
* Makefile.am:
*
@verbatim
AUTOMAKE_OPTIONS = 1.4 foreign
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.h.in configure depcomp install-sh missing
INCLUDES = -I$(top_srcdir)
bin_PROGRAMS = myapp
myapp_SOURCES = main.c
myapp_LDADD = -pthread -L/usr/local/lib -leina -leet -levas -lecore -lecore_evas -lecore_file -ledje
myapp_CFLAGS = -I/usr/local/include/eina-1 -I/usr/local/include/eina-1/eina -I/usr/local/include/eet-1 -I/usr/local/include/evas-1 -I/usr/local/include/ecore-1 -I/usr/local/include/edje-1 -I/usr/local/include -I/usr/local/include/embryo-1 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/valgrind -I/usr/include/fribidi -I/usr/include/alsa -I/usr/include/lua5.1
@endverbatim
*
* autogen.sh:
*
@verbatim
#!/bin/sh
echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS || exit 1
echo "Running autoheader..." ; autoheader || exit 1
echo "Running autoconf..." ; autoconf || exit 1
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
./configure "$@"
@endverbatim
*
* To generate all the things needed to bootstrap just run:
*
@verbatim
./autogen.sh
@endverbatim
*
* This will generate Makefile.in's, the confgure script and everything else.
* After this it works like all normal autotools projects:
@verbatim
./configure
make
sudo make install
@endverbatim
*
* Note sudo was assumed to get root permissions, as this would install in
* /usr/local which is system-owned. Use any way you like to gain root, or
* specify a different prefix with configure:
*
@verbatim
./confiugre --prefix=$HOME/mysoftware
@endverbatim
*
* Also remember that autotools buys you some useful commands like:
@verbatim
make uninstall
@endverbatim
*
* This uninstalls the software after it was installed with "make install".
* It is very useful to clear up what you built if you wish to clean the
* system.
*
@verbatim
make distcheck
@endverbatim
*
* This firstly checks if your build tree is "clean" and ready for
* distribution. It also builds a tarball (myapp-0.0.0.tar.gz) that is
* ready to upload and distribute to the world, that contains the generated
* Makefile.in's and configure script. The users do not need to run
* autogen.sh - just configure and on. They don't need autotools installed.
* This tarball also builds cleanly, has all the sources it needs to build
* included (that is sources for your application, not libraries it depends
* on like Elementary). It builds cleanly in a buildroot and does not
* contain any files that are temporarily generated like binaries and other
* build-generated files, so the tarball is clean, and no need to worry
* about cleaning up your tree before packaging.
*
@verbatim
make clean
@endverbatim
*
* This cleans up all build files (binaries, objects etc.) from the tree.
*
@verbatim
make distclean
@endverbatim
*
* This cleans out all files from the build and from configure's output too.
*
@verbatim
make maintainer-clean
@endverbatim
*
* This deletes all the files autogen.sh will produce so the tree is clean
* to be put into a revision-control system (like CVS, SVN or GIT for example).
*
* There is a more advanced way of making use of the quicklaunch infrastructure
* in Elementary (which will not be covered here due to its more advanced
* nature).
*
* Now let's actually create an interactive "Hello World" gui that you can
* click the ok button to exit. It's more code because this now does something
* much more significant, but it's still very simple:
*
@code
#include <Elementary.h>
static void
on_done(void *data, Evas_Object *obj, void *event_info)
{
// quit the mainloop (elm_run function will return)
elm_exit();
}
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *win, *bg, *box, *lab, *btn;
// new window - do the usual and give it a name (hello) and title (Hello)
win = elm_win_util_standard_add("hello", "Hello");
// when the user clicks "close" on a window there is a request to delete
evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
// add a box object - default is vertical. a box holds children in a row,
// either horizontally or vertically. nothing more.
box = elm_box_add(win);
// make the box hotizontal
elm_box_horizontal_set(box, EINA_TRUE);
// add object as a resize object for the window (controls window minimum
// size as well as gets resized if window is resized)
elm_win_resize_object_add(win, box);
evas_object_show(box);
// add a label widget, set the text and put it in the pad frame
lab = elm_label_add(win);
// set default text of the label
elm_object_text_set(lab, "Hello out there world!");
// pack the label at the end of the box
elm_box_pack_end(box, lab);
evas_object_show(lab);
// add an ok button
btn = elm_button_add(win);
// set default text of button to "OK"
elm_object_text_set(btn, "OK");
// pack the button at the end of the box
elm_box_pack_end(box, btn);
evas_object_show(btn);
// call on_done when button is clicked
evas_object_smart_callback_add(btn, "clicked", on_done, NULL);
// now we are done, show the window
evas_object_show(win);
// run the mainloop and process events and callbacks
elm_run();
elm_shutdown();
return 0;
}
ELM_MAIN()
@endcode
*
*/
/**
@page authors Authors
@author Carsten Haitzler <raster@@rasterman.com>
@author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi>
@author Cedric Bail <cedric.bail@@free.fr>
@author Vincent Torri <vtorri@@univ-evry.fr>
@author Daniel Kolesa <quaker66@@gmail.com>
@author Jaime Thomas <avi.thomas@@gmail.com>
@author Swisscom - http://www.swisscom.ch/
@author Christopher Michael <devilhorns@@comcast.net>
@author Marco Trevisan (Treviño) <mail@@3v1n0.net>
@author Michael Bouchaud <michael.bouchaud@@gmail.com>
@author Jonathan Atton (Watchwolf) <jonathan.atton@@gmail.com>
@author Brian Wang <brian.wang.0721@@gmail.com>
@author Mike Blumenkrantz (discomfitor/zmike) <michael.blumenkrantz@@gmail.com>
@author Samsung Electronics <tbd>
@author Samsung SAIT <tbd>
@author Brett Nash <nash@@nash.id.au>
@author Bruno Dilly <bdilly@@profusion.mobi>
@author Rafael Fonseca <rfonseca@@profusion.mobi>
@author Chuneon Park <hermet@@hermet.pe.kr>
@author Woohyun Jung <wh0705.jung@@samsung.com>
@author Jaehwan Kim <jae.hwan.kim@@samsung.com>
@author Wonguk Jeong <wonguk.jeong@@samsung.com>
@author Leandro A. F. Pereira <leandro@@profusion.mobi>
@author Helen Fornazier <helen.fornazier@@profusion.mobi>
@author Gustavo Lima Chaves <glima@@profusion.mobi>
@author Fabiano Fidêncio <fidencio@@profusion.mobi>
@author Tiago Falcão <tiago@@profusion.mobi>
@author Otavio Pontes <otavio@@profusion.mobi>
@author Viktor Kojouharov <vkojouharov@@gmail.com>
@author Daniel Juyung Seo (SeoZ) <juyung.seo@@samsung.com> <seojuyung2@@gmail.com>
@author Sangho Park <sangho.g.park@@samsung.com> <gouache95@@gmail.com>
@author Rajeev Ranjan (Rajeev) <rajeev.r@@samsung.com> <rajeev.jnnce@@gmail.com>
@author Seunggyun Kim <sgyun.kim@@samsung.com> <tmdrbs@@gmail.com>
@author Sohyun Kim <anna1014.kim@@samsung.com> <sohyun.anna@@gmail.com>
@author Jihoon Kim <jihoon48.kim@@samsung.com>
@author Jeonghyun Yun (arosis) <jh0506.yun@@samsung.com>
@author Tom Hacohen <tom@@stosb.com>
@author Aharon Hillel <a.hillel@@partner.samsung.com>
@author Jonathan Atton (Watchwolf) <jonathan.atton@@gmail.com>
@author Shinwoo Kim <kimcinoo@@gmail.com>
@author Govindaraju SM <govi.sm@@samsung.com> <govism@@gmail.com>
@author Prince Kumar Dubey <prince.dubey@@samsung.com> <prince.dubey@@gmail.com>
@author Sung W. Park <sungwoo@@gmail.com>
@author Thierry el Borgi <thierry@@substantiel.fr>
@author Shilpa Singh <shilpa.singh@@samsung.com> <shilpasingh.o@@gmail.com>
@author Chanwook Jung <joey.jung@@samsung.com>
@author Hyoyoung Chang <hyoyoung.chang@@samsung.com>
@author Guillaume "Kuri" Friloux <guillaume.friloux@@asp64.com>
@author Kim Yunhan <spbear@@gmail.com>
@author Bluezery <ohpowel@@gmail.com>
@author Nicolas Aguirre <aguirre.nicolas@@gmail.com>
@author Sanjeev BA <iamsanjeev@@gmail.com>
Please contact <enlightenment-devel@lists.sourceforge.net> to get in
contact with the developers and maintainers.
* @file Elementary.h
* @brief Elementary Widget Library
*/
#include <elm_intro.h>
#include <elm_getting_started.h>
#include <elm_authors.h>
#ifndef ELEMENTARY_H
#define ELEMENTARY_H
@ -338,32 +44,31 @@ contact with the developers and maintainers.
#include <ctype.h>
#include <time.h>
#ifdef ELM_DIRENT_H
# include <dirent.h>
#include <dirent.h>
#endif
#include <pwd.h>
#include <errno.h>
#ifdef ELM_UNIX
# include <locale.h>
# ifdef ELM_LIBINTL_H
# include <libintl.h>
# endif
# include <signal.h>
# include <grp.h>
# include <glob.h>
#include <locale.h>
#ifdef ELM_LIBINTL_H
#include <libintl.h>
#endif
#include <signal.h>
#include <grp.h>
#include <glob.h>
#endif
#ifdef ELM_ALLOCA_H
# include <alloca.h>
#include <alloca.h>
#endif
#if defined (ELM_WIN32) || defined (ELM_WINCE)
# include <malloc.h>
# ifndef alloca
# define alloca _alloca
# endif
#include <malloc.h>
#ifndef alloca
#define alloca _alloca
#endif
#endif
/* EFL headers */
#include <Eina.h>
@ -378,84 +83,85 @@ contact with the developers and maintainers.
#include <Edje.h>
#ifdef ELM_EDBUS
# include <E_DBus.h>
#include <E_DBus.h>
#endif
#ifdef ELM_EFREET
# include <Efreet.h>
# include <Efreet_Mime.h>
# include <Efreet_Trash.h>
#include <Efreet.h>
#include <Efreet_Mime.h>
#include <Efreet_Trash.h>
#endif
#ifdef ELM_ETHUMB
# include <Ethumb_Client.h>
#include <Ethumb_Client.h>
#endif
#ifdef ELM_EMAP
# include <EMap.h>
#include <EMap.h>
#endif
#ifdef EAPI
# undef EAPI
#undef EAPI
#endif
#ifdef _WIN32
# ifdef ELEMENTARY_BUILD
# ifdef DLL_EXPORT
# define EAPI __declspec(dllexport)
# else
# define EAPI
# endif /* ! DLL_EXPORT */
# else
# define EAPI __declspec(dllimport)
# endif /* ! EFL_EVAS_BUILD */
#ifdef ELEMENTARY_BUILD
#ifdef DLL_EXPORT
#define EAPI __declspec(dllexport)
#else
#define EAPI
#endif /* ! DLL_EXPORT */
#else
#define EAPI __declspec(dllimport)
#endif /* ! EFL_EVAS_BUILD */
#else
# ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
# else
# define EAPI
# endif
#ifdef __GNUC__
#if __GNUC__ >= 4
#define EAPI __attribute__ ((visibility("default")))
#else
#define EAPI
#endif
#else
#define EAPI
#endif
#endif /* ! _WIN32 */
#ifdef _WIN32
# define EAPI_MAIN
#define EAPI_MAIN
#else
# define EAPI_MAIN EAPI
#define EAPI_MAIN EAPI
#endif
/* allow usage from c++ */
#ifdef __cplusplus
extern "C" {
extern "C"
{
#endif
#define ELM_VERSION_MAJOR 0
#define ELM_VERSION_MINOR 8
typedef struct _Elm_Version
{
int major;
int minor;
int micro;
int revision;
} Elm_Version;
typedef struct _Elm_Version
{
int major;
int minor;
int micro;
int revision;
} Elm_Version;
EAPI extern Elm_Version *elm_version;
EAPI extern Elm_Version * elm_version;
/* include these first for general used definitions */
#include <elm_general.h>
#include <elm_object_item.h>
#include <elm_tooltip.h>
/* special widgets - types used elsewhere */
/* special widgets - types used elsewhere */
#include <elm_icon.h>
#include <elm_scroller.h>
#include <elm_entry.h>
#include <elm_list.h>
/* other includes */
#include <elc_anchorblock.h>
#include <elc_anchorview.h>
@ -535,7 +241,7 @@ extern "C" {
#include <elm_video.h>
#include <elm_web.h>
#include <elm_win.h>
#ifdef __cplusplus
}
#endif

@ -1,315 +1,10 @@
/*
*
* vim:ts=8:sw=3:sts=3:expandtab:cino=>5n-3f0^-2{2(0W1st0
*/
/**
@file Elementary.h.in
@brief Elementary Widget Library
*/
/**
@mainpage Elementary
@image html elementary.png
@version 0.8.0
@date 2008-2011
@section intro What is Elementary?
This is a VERY SIMPLE toolkit. It is not meant for writing extensive desktop
applications (yet). Small simple ones with simple needs.
It is meant to make the programmers work almost brainless but give them lots
of flexibility.
@li @ref Start - Go here to quickly get started with writing Apps
@section organization Organization
One can divide Elemementary into three main groups:
@li @ref infralist - These are modules that deal with Elementary as a whole.
@li @ref widgetslist - These are the widgets you'll compose your UI out of.
@li @ref containerslist - These are the containers which hold the widgets.
@section license License
LGPL v2 (see COPYING in the base of Elementary's source). This applies to
all files in the source tree.
@section ack Acknowledgements
There is a lot that goes into making a widget set, and they don't happen out of
nothing. It's like trying to make everyone everywhere happy, regardless of age,
gender, race or nationality - and that is really tough. So thanks to people and
organisations behind this, as listed in the @ref authors page.
*/
/**
* @defgroup Start Getting Started
*
* To write an Elementary app, you can get started with the following:
*
@code
#include <Elementary.h>
EAPI_MAIN int
elm_main(int argc, char **argv)
{
// create window(s) here and do any application init
elm_run(); // run main loop
elm_shutdown(); // after mainloop finishes running, shutdown
return 0; // exit 0 for exit code
}
ELM_MAIN()
@endcode
*
* To use autotools (which helps in many ways in the long run, like being able
* to immediately create releases of your software directly from your tree
* and ensure everything needed to build it is there) you will need a
* configure.ac, Makefile.am and autogen.sh file.
*
* configure.ac:
*
@verbatim
AC_INIT(myapp, 0.0.0, myname@mydomain.com)
AC_PREREQ(2.52)
AC_CONFIG_SRCDIR(configure.ac)
AM_CONFIG_HEADER(config.h)
AC_PROG_CC
AM_INIT_AUTOMAKE(1.6 dist-bzip2)
PKG_CHECK_MODULES([ELEMENTARY], elementary)
AC_OUTPUT(Makefile)
@endverbatim
*
* Makefile.am:
*
@verbatim
AUTOMAKE_OPTIONS = 1.4 foreign
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.h.in configure depcomp install-sh missing
INCLUDES = -I$(top_srcdir)
bin_PROGRAMS = myapp
myapp_SOURCES = main.c
myapp_LDADD = @ELEMENTARY_LIBS@
myapp_CFLAGS = @ELEMENTARY_CFLAGS@
@endverbatim
*
* autogen.sh:
*
@verbatim
#!/bin/sh
echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS || exit 1
echo "Running autoheader..." ; autoheader || exit 1
echo "Running autoconf..." ; autoconf || exit 1
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
./configure "$@"
@endverbatim
*
* To generate all the things needed to bootstrap just run:
*
@verbatim
./autogen.sh
@endverbatim
*
* This will generate Makefile.in's, the confgure script and everything else.
* After this it works like all normal autotools projects:
@verbatim
./configure
make
sudo make install
@endverbatim
*
* Note sudo was assumed to get root permissions, as this would install in
* /usr/local which is system-owned. Use any way you like to gain root, or
* specify a different prefix with configure:
*
@verbatim
./confiugre --prefix=$HOME/mysoftware
@endverbatim
*
* Also remember that autotools buys you some useful commands like:
@verbatim
make uninstall
@endverbatim
*
* This uninstalls the software after it was installed with "make install".
* It is very useful to clear up what you built if you wish to clean the
* system.
*
@verbatim
make distcheck
@endverbatim
*
* This firstly checks if your build tree is "clean" and ready for
* distribution. It also builds a tarball (myapp-0.0.0.tar.gz) that is
* ready to upload and distribute to the world, that contains the generated
* Makefile.in's and configure script. The users do not need to run
* autogen.sh - just configure and on. They don't need autotools installed.
* This tarball also builds cleanly, has all the sources it needs to build
* included (that is sources for your application, not libraries it depends
* on like Elementary). It builds cleanly in a buildroot and does not
* contain any files that are temporarily generated like binaries and other
* build-generated files, so the tarball is clean, and no need to worry
* about cleaning up your tree before packaging.
*
@verbatim
make clean
@endverbatim
*
* This cleans up all build files (binaries, objects etc.) from the tree.
*
@verbatim
make distclean
@endverbatim
*
* This cleans out all files from the build and from configure's output too.
*
@verbatim
make maintainer-clean
@endverbatim
*
* This deletes all the files autogen.sh will produce so the tree is clean
* to be put into a revision-control system (like CVS, SVN or GIT for example).
*
* There is a more advanced way of making use of the quicklaunch infrastructure
* in Elementary (which will not be covered here due to its more advanced
* nature).
*
* Now let's actually create an interactive "Hello World" gui that you can
* click the ok button to exit. It's more code because this now does something
* much more significant, but it's still very simple:
*
@code
#include <Elementary.h>
static void
on_done(void *data, Evas_Object *obj, void *event_info)
{
// quit the mainloop (elm_run function will return)
elm_exit();
}
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *win, *bg, *box, *lab, *btn;
// new window - do the usual and give it a name (hello) and title (Hello)
win = elm_win_util_standard_add("hello", "Hello");
// when the user clicks "close" on a window there is a request to delete
evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
// add a box object - default is vertical. a box holds children in a row,
// either horizontally or vertically. nothing more.
box = elm_box_add(win);
// make the box hotizontal
elm_box_horizontal_set(box, EINA_TRUE);
// add object as a resize object for the window (controls window minimum
// size as well as gets resized if window is resized)
elm_win_resize_object_add(win, box);
evas_object_show(box);
// add a label widget, set the text and put it in the pad frame
lab = elm_label_add(win);
// set default text of the label
elm_object_text_set(lab, "Hello out there world!");
// pack the label at the end of the box
elm_box_pack_end(box, lab);
evas_object_show(lab);
// add an ok button
btn = elm_button_add(win);
// set default text of button to "OK"
elm_object_text_set(btn, "OK");
// pack the button at the end of the box
elm_box_pack_end(box, btn);
evas_object_show(btn);
// call on_done when button is clicked
evas_object_smart_callback_add(btn, "clicked", on_done, NULL);
// now we are done, show the window
evas_object_show(win);
// run the mainloop and process events and callbacks
elm_run();
elm_shutdown();
return 0;
}
ELM_MAIN()
@endcode
*
*/
/**
@page authors Authors
@author Carsten Haitzler <raster@@rasterman.com>
@author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi>
@author Cedric Bail <cedric.bail@@free.fr>
@author Vincent Torri <vtorri@@univ-evry.fr>
@author Daniel Kolesa <quaker66@@gmail.com>
@author Jaime Thomas <avi.thomas@@gmail.com>
@author Swisscom - http://www.swisscom.ch/
@author Christopher Michael <devilhorns@@comcast.net>
@author Marco Trevisan (Treviño) <mail@@3v1n0.net>
@author Michael Bouchaud <michael.bouchaud@@gmail.com>
@author Jonathan Atton (Watchwolf) <jonathan.atton@@gmail.com>
@author Brian Wang <brian.wang.0721@@gmail.com>
@author Mike Blumenkrantz (discomfitor/zmike) <michael.blumenkrantz@@gmail.com>
@author Samsung Electronics <tbd>
@author Samsung SAIT <tbd>
@author Brett Nash <nash@@nash.id.au>
@author Bruno Dilly <bdilly@@profusion.mobi>
@author Rafael Fonseca <rfonseca@@profusion.mobi>
@author Chuneon Park <hermet@@hermet.pe.kr>
@author Woohyun Jung <wh0705.jung@@samsung.com>
@author Jaehwan Kim <jae.hwan.kim@@samsung.com>
@author Wonguk Jeong <wonguk.jeong@@samsung.com>
@author Leandro A. F. Pereira <leandro@@profusion.mobi>
@author Helen Fornazier <helen.fornazier@@profusion.mobi>
@author Gustavo Lima Chaves <glima@@profusion.mobi>
@author Fabiano Fidêncio <fidencio@@profusion.mobi>
@author Tiago Falcão <tiago@@profusion.mobi>
@author Otavio Pontes <otavio@@profusion.mobi>
@author Viktor Kojouharov <vkojouharov@@gmail.com>
@author Daniel Juyung Seo (SeoZ) <juyung.seo@@samsung.com> <seojuyung2@@gmail.com>
@author Sangho Park <sangho.g.park@@samsung.com> <gouache95@@gmail.com>
@author Rajeev Ranjan (Rajeev) <rajeev.r@@samsung.com> <rajeev.jnnce@@gmail.com>
@author Seunggyun Kim <sgyun.kim@@samsung.com> <tmdrbs@@gmail.com>
@author Sohyun Kim <anna1014.kim@@samsung.com> <sohyun.anna@@gmail.com>
@author Jihoon Kim <jihoon48.kim@@samsung.com>
@author Jeonghyun Yun (arosis) <jh0506.yun@@samsung.com>
@author Tom Hacohen <tom@@stosb.com>
@author Aharon Hillel <a.hillel@@partner.samsung.com>
@author Jonathan Atton (Watchwolf) <jonathan.atton@@gmail.com>
@author Shinwoo Kim <kimcinoo@@gmail.com>
@author Govindaraju SM <govi.sm@@samsung.com> <govism@@gmail.com>
@author Prince Kumar Dubey <prince.dubey@@samsung.com> <prince.dubey@@gmail.com>
@author Sung W. Park <sungwoo@@gmail.com>
@author Thierry el Borgi <thierry@@substantiel.fr>
@author Shilpa Singh <shilpa.singh@@samsung.com> <shilpasingh.o@@gmail.com>
@author Chanwook Jung <joey.jung@@samsung.com>
@author Hyoyoung Chang <hyoyoung.chang@@samsung.com>
@author Guillaume "Kuri" Friloux <guillaume.friloux@@asp64.com>
@author Kim Yunhan <spbear@@gmail.com>
@author Bluezery <ohpowel@@gmail.com>
@author Nicolas Aguirre <aguirre.nicolas@@gmail.com>
@author Sanjeev BA <iamsanjeev@@gmail.com>
Please contact <enlightenment-devel@lists.sourceforge.net> to get in
contact with the developers and maintainers.
* @file Elementary.h
* @brief Elementary Widget Library
*/
#ifndef ELEMENTARY_H
#define ELEMENTARY_H
/**
* @file Elementary.h
* @brief Elementary's API
*
* Elementary API.
*/
@ELM_UNIX_DEF@ ELM_UNIX
@ELM_WIN32_DEF@ ELM_WIN32
@ELM_WINCE_DEF@ ELM_WINCE
@ -338,32 +33,31 @@ contact with the developers and maintainers.
#include <ctype.h>
#include <time.h>
#ifdef ELM_DIRENT_H
# include <dirent.h>
#include <dirent.h>
#endif
#include <pwd.h>
#include <errno.h>
#ifdef ELM_UNIX
# include <locale.h>
# ifdef ELM_LIBINTL_H
# include <libintl.h>
# endif
# include <signal.h>
# include <grp.h>
# include <glob.h>
#include <locale.h>
#ifdef ELM_LIBINTL_H
#include <libintl.h>
#endif
#include <signal.h>
#include <grp.h>
#include <glob.h>
#endif
#ifdef ELM_ALLOCA_H
# include <alloca.h>
#include <alloca.h>
#endif
#if defined (ELM_WIN32) || defined (ELM_WINCE)
# include <malloc.h>
# ifndef alloca
# define alloca _alloca
# endif
#include <malloc.h>
#ifndef alloca
#define alloca _alloca
#endif
#endif
/* EFL headers */
#include <Eina.h>
@ -378,84 +72,90 @@ contact with the developers and maintainers.
#include <Edje.h>
#ifdef ELM_EDBUS
# include <E_DBus.h>
#include <E_DBus.h>
#endif
#ifdef ELM_EFREET
# include <Efreet.h>
# include <Efreet_Mime.h>
# include <Efreet_Trash.h>
#include <Efreet.h>
#include <Efreet_Mime.h>
#include <Efreet_Trash.h>
#endif
#ifdef ELM_ETHUMB
# include <Ethumb_Client.h>
#include <Ethumb_Client.h>
#endif
#ifdef ELM_EMAP
# include <EMap.h>
#include <EMap.h>
#endif
#ifdef EAPI
# undef EAPI
#undef EAPI
#endif
#ifdef _WIN32
# ifdef ELEMENTARY_BUILD
# ifdef DLL_EXPORT
# define EAPI __declspec(dllexport)
# else
# define EAPI
# endif /* ! DLL_EXPORT */
# else
# define EAPI __declspec(dllimport)
# endif /* ! EFL_EVAS_BUILD */
#ifdef ELEMENTARY_BUILD
#ifdef DLL_EXPORT
#define EAPI __declspec(dllexport)
#else
#define EAPI
#endif /* ! DLL_EXPORT */
#else
#define EAPI __declspec(dllimport)
#endif /* ! EFL_EVAS_BUILD */
#else
#ifdef __GNUC__
#if __GNUC__ >= 4
#define EAPI __attribute__ ((visibility("default")))
#else
#define EAPI
#endif
#else
# ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
# else
# define EAPI
# endif
#define EAPI
#endif
#endif /* ! _WIN32 */
#ifdef _WIN32
# define EAPI_MAIN
#define EAPI_MAIN
#else
# define EAPI_MAIN EAPI
#define EAPI_MAIN EAPI
#endif
/* allow usage from c++ */
#ifdef __cplusplus
extern "C" {
extern "C"
{
#endif
/* docs */
#include <elm_intro.h>
#include <elm_getting_started.h>
#include <elm_authors.h>
#define ELM_VERSION_MAJOR @VMAJ@
#define ELM_VERSION_MINOR @VMIN@
typedef struct _Elm_Version
{
int major;
int minor;
int micro;
int revision;
} Elm_Version;
typedef struct _Elm_Version
{
int major;
int minor;
int micro;
int revision;
} Elm_Version;
EAPI extern Elm_Version *elm_version;
EAPI extern Elm_Version * elm_version;
/* include these first for general used definitions */
#include <elm_general.h>
#include <elm_object_item.h>
#include <elm_tooltip.h>
/* special widgets - types used elsewhere */
/* special widgets - types used elsewhere */
#include <elm_icon.h>
#include <elm_scroller.h>
#include <elm_entry.h>
#include <elm_list.h>
/* other includes */
#include <elc_anchorblock.h>
#include <elc_anchorview.h>
@ -535,7 +235,7 @@ extern "C" {
#include <elm_video.h>
#include <elm_web.h>
#include <elm_win.h>
#ifdef __cplusplus
}
#endif

@ -85,4 +85,3 @@
#define ELM_CURSOR_XTERM "xterm"
#endif // ifndef _ELM_CURSOR_H

@ -56,6 +56,7 @@ elc_multibuttonentry.h \
elc_naviframe.h \
elm_actionslider.h \
elm_app.h \
elm_authors.h \
elm_bg.h \
elm_box.h \
elm_bubble.h \
@ -85,12 +86,14 @@ elm_general.h \
elm_gengrid.h \
elm_genlist.h \
elm_gesture_layer.h \
elm_getting_started.h \
elm_glview.h \
elm_grid.h \
elm_hover.h \
elm_icon.h \
elm_image.h \
elm_index.h \
elm_intro.h \
elm_label.h \
elm_layout.h \
elm_list.h \

@ -1,227 +1,229 @@
/**
* @defgroup Anchorblock Anchorblock
*
* @image html img/widget/anchorblock/preview-00.png
* @image latex img/widget/anchorblock/preview-00.eps
*
* Anchorblock is for displaying text that contains markup with anchors
* like <c>\<a href=1234\>something\</\></c> in it.
*
* Besides being styled differently, the anchorblock widget provides the
* necessary functionality so that clicking on these anchors brings up a
* popup with user defined content such as "call", "add to contacts" or
* "open web page". This popup is provided using the @ref Hover widget.
*
* This widget emits the following signals:
* @li "anchor,clicked": will be called when an anchor is clicked. The
* @p event_info parameter on the callback will be a pointer of type
* ::Elm_Entry_Anchorblock_Info.
*
* @see Anchorview
* @see Entry
* @see Hover
*
* Since examples are usually better than plain words, we might as well
* try @ref tutorial_anchorblock_example "one".
*/
/**
* @addtogroup Anchorblock
* @{
*/
/**
* @typedef Elm_Entry_Anchorblock_Info
*
* The info sent in the callback for "anchor,clicked" signals emitted by
* the Anchorblock widget.
*/
typedef struct _Elm_Entry_Anchorblock_Info Elm_Entry_Anchorblock_Info;
/**
* @struct _Elm_Entry_Anchorblock_Info
*
* The info sent in the callback for "anchor,clicked" signals emitted by
* the Anchorblock widget.
*/
struct _Elm_Entry_Anchorblock_Info
{
const char *name; /**< Name of the anchor, as indicated in its href
attribute */
int button; /**< The mouse button used to click on it */
Evas_Object *hover; /**< The hover object to use for the popup */
struct {
Evas_Coord x, y, w, h;
} anchor, /**< Geometry selection of text used as anchor */
hover_parent; /**< Geometry of the object used as parent by the
hover */
Eina_Bool hover_left : 1; /**< Hint indicating if there's space
for content on the left side of
the hover. Before calling the
callback, the widget will make the
necessary calculations to check
which sides are fit to be set with
content, based on the position the
hover is activated and its distance
to the edges of its parent object
*/
Eina_Bool hover_right : 1; /**< Hint indicating content fits on
the right side of the hover.
See @ref hover_left */
Eina_Bool hover_top : 1; /**< Hint indicating content fits on top
of the hover. See @ref hover_left */
Eina_Bool hover_bottom : 1; /**< Hint indicating content fits
below the hover. See @ref
hover_left */
};
/**
* Add a new Anchorblock object
*
* @param parent The parent object
* @return The new object or NULL if it cannot be created
*/
EAPI Evas_Object *elm_anchorblock_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
/**
* Set the text to show in the anchorblock
*
* Sets the text of the anchorblock to @p text. This text can include markup
* format tags, including <c>\<a href=anchorname\></a></c> to begin a segment
* of text that will be specially styled and react to click events, ended
* with either of \</a\> or \</\>. When clicked, the anchor will emit an
* "anchor,clicked" signal that you can attach a callback to with
* evas_object_smart_callback_add(). The name of the anchor given in the
* event info struct will be the one set in the href attribute, in this
* case, anchorname.
*
* Other markup can be used to style the text in different ways, but it's
* up to the style defined in the theme which tags do what.
* @deprecated use elm_object_text_set() instead.
*/
EINA_DEPRECATED EAPI void elm_anchorblock_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
/**
* Get the markup text set for the anchorblock
*
* Retrieves the text set on the anchorblock, with markup tags included.
*
* @param obj The anchorblock object
* @return The markup text set or @c NULL if nothing was set or an error
* occurred
* @deprecated use elm_object_text_set() instead.
*/
EINA_DEPRECATED EAPI const char *elm_anchorblock_text_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the parent of the hover popup
*
* Sets the parent object to use by the hover created by the anchorblock
* when an anchor is clicked. See @ref Hover for more details on this.
*
* @param obj The anchorblock object
* @param parent The object to use as parent for the hover
*/
EAPI void elm_anchorblock_hover_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
/**
* Get the parent of the hover popup
*
* Get the object used as parent for the hover created by the anchorblock
* widget. See @ref Hover for more details on this.
* If no parent is set, the same anchorblock object will be used.
*
* @param obj The anchorblock object
* @return The object used as parent for the hover, NULL if none is set.
*/
EAPI Evas_Object *elm_anchorblock_hover_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Set the style that the hover should use
*
* When creating the popup hover, anchorblock will request that it's
* themed according to @p style.
*
* @param obj The anchorblock object
* @param style The style to use for the underlying hover
*
* @see elm_object_style_set()
*/
EAPI void elm_anchorblock_hover_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
/**
* Get the style that the hover should use
*
* Get the style, the hover created by anchorblock will use.
*
* @param obj The anchorblock object
* @return The style to use by the hover. NULL means the default is used.
*
* @see elm_object_style_set()
*/
EAPI const char *elm_anchorblock_hover_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Ends the hover popup in the anchorblock
*
* When an anchor is clicked, the anchorblock widget will create a hover
* object to use as a popup with user provided content. This function
* terminates this popup, returning the anchorblock to its normal state.
*
* @param obj The anchorblock object
*/
EAPI void elm_anchorblock_hover_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
/**
* Appends a custom item provider to the given anchorblock
*
* Appends the given function to the list of items providers. This list is
* called, one function at a time, with the given @p data pointer, the
* anchorblock object and, in the @p item parameter, the item name as
* referenced in its href string. Following functions in the list will be
* called in order until one of them returns something different to NULL,
* which should be an Evas_Object which will be used in place of the item
* element.
*
* Items in the markup text take the form \<item relsize=16x16 vsize=full
* href=item/name\>\</item\>
*
* @param obj The anchorblock object
* @param func The function to add to the list of providers
* @param data User data that will be passed to the callback function
*
* @see elm_entry_item_provider_append()
*/
EAPI void elm_anchorblock_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
/**
* Prepend a custom item provider to the given anchorblock
*
* Like elm_anchorblock_item_provider_append(), but it adds the function
* @p func to the beginning of the list, instead of the end.
*
* @param obj The anchorblock object
* @param func The function to add to the list of providers
* @param data User data that will be passed to the callback function
*/
EAPI void elm_anchorblock_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
/**
* Remove a custom item provider from the list of the given anchorblock
*
* Removes the function and data pairing that matches @p func and @p data.
* That is, unless the same function and same user data are given, the
* function will not be removed from the list. This allows us to add the
* same callback several times, with different @p data pointers and be
* able to remove them later without conflicts.
*
* @param obj The anchorblock object
* @param func The function to remove from the list
* @param data The data matching the function to remove from the list
*/
EAPI void elm_anchorblock_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
/**
* @}
*/
/**
</