2008-09-29 23:58:56 -07:00
/*
* vim : ts = 8 : sw = 3 : sts = 8 : noexpandtab : cino = > 5 n - 3f 0 ^ - 2 { 2
*/
# ifndef ELEMENTARY_H
# define ELEMENTARY_H
2009-05-19 02:29:20 -07:00
/**
* @ file Elementary . h
* @ brief Elementary ' s API
*
* Elementary API .
*/
2008-12-18 16:34:56 -08:00
@ ELM_UNIX_DEF @ ELM_UNIX
@ ELM_WIN32_DEF @ ELM_WIN32
@ ELM_WINCE_DEF @ ELM_WINCE
2008-12-18 17:22:11 -08:00
@ ELM_EDBUS_DEF @ ELM_EDBUS
2009-09-12 02:37:29 -07:00
@ ELM_EFREET_DEF @ ELM_EFREET
2008-12-18 17:22:11 -08:00
@ ELM_ALLOCA_H_DEF @ ELM_ALLOCA_H
2009-02-05 02:23:04 -08:00
@ ELM_LIBINTL_H_DEF @ ELM_LIBINTL_H
2008-09-29 23:58:56 -07:00
/* Standard headers for standard system calls etc. */
# include <stdio.h>
# include <stdlib.h>
# include <unistd.h>
# include <string.h>
# include <sys/types.h>
# include <sys/stat.h>
# include <sys/time.h>
# include <sys/param.h>
# include <dlfcn.h>
# include <math.h>
# include <fnmatch.h>
# include <limits.h>
# include <ctype.h>
# include <time.h>
# include <dirent.h>
# include <pwd.h>
# include <errno.h>
2008-12-18 17:47:42 -08:00
# ifdef ELM_UNIX
# include <locale.h>
2009-02-05 02:23:04 -08:00
# ifdef ELM_LIBINTL_H
2008-12-18 17:47:42 -08:00
# include <libintl.h>
2009-02-05 02:23:04 -08:00
# endif
2008-12-18 17:47:42 -08:00
# include <signal.h>
# include <grp.h>
# include <glob.h>
# endif
2008-09-29 23:58:56 -07:00
2008-12-18 17:22:11 -08:00
# ifdef ELM_ALLOCA_H
# include <alloca.h>
# endif
2008-12-18 17:47:42 -08:00
# if defined (ELM_WIN32) || defined (ELM_WINCE)
# include <malloc.h>
# ifndef alloca
# define alloca _alloca
# endif
# endif
2009-07-06 23:46:51 -07:00
2008-09-29 23:58:56 -07:00
/* EFL headers */
2008-10-17 07:40:54 -07:00
# include <Eina.h>
# include <Eet.h>
2008-09-29 23:58:56 -07:00
# include <Evas.h>
# include <Ecore.h>
# include <Ecore_Evas.h>
# include <Ecore_Job.h>
# include <Ecore_Txt.h>
# include <Ecore_File.h>
# include <Edje.h>
2008-12-18 17:22:11 -08:00
# ifdef ELM_EDBUS
# include <E_DBus.h>
# include <E_Hal.h>
# endif
2008-12-18 16:34:56 -08:00
2009-09-12 02:37:29 -07:00
# ifdef ELM_EFREET
# include <Efreet.h>
# include <Efreet_Mime.h>
# include <Efreet_Trash.h>
# endif
2008-12-18 16:34:56 -08:00
# ifdef 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 */
# else
# ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
# else
# define EAPI
# endif
# endif /* ! _WIN32 */
2008-09-29 23:58:56 -07:00
/* allow usage from c++ */
# ifdef __cplusplus
extern " C " {
# endif
2009-02-25 22:50:36 -08:00
/* handy macros */
2009-02-11 03:49:43 -08:00
# define ELM_RECTS_INTERSECT(x, y, w, h, xx, yy, ww, hh) (((x) < ((xx) + (ww))) && ((y) < ((yy) + (hh))) && (((x) + (w)) > (xx)) && (((y) + (h)) > (yy)))
2009-07-06 23:46:51 -07:00
/**************************************************************************/
2008-10-06 18:23:49 -07:00
/* Objects */
2008-09-29 23:58:56 -07:00
typedef enum _Elm_Win_Type
{
ELM_WIN_BASIC ,
2009-04-10 21:54:12 -07:00
ELM_WIN_DIALOG_BASIC ,
ELM_WIN_DESKTOP ,
ELM_WIN_DOCK ,
ELM_WIN_TOOLBAR ,
ELM_WIN_MENU ,
ELM_WIN_UTILITY ,
ELM_WIN_SPLASH
2008-09-29 23:58:56 -07:00
} Elm_Win_Type ;
2008-11-18 02:11:57 -08:00
typedef enum _Elm_Win_Keyboard_Mode
{
ELM_WIN_KEYBOARD_UNKNOWN ,
2009-07-06 23:46:51 -07:00
ELM_WIN_KEYBOARD_OFF ,
ELM_WIN_KEYBOARD_ON ,
ELM_WIN_KEYBOARD_ALPHA ,
ELM_WIN_KEYBOARD_NUMERIC ,
ELM_WIN_KEYBOARD_PIN ,
ELM_WIN_KEYBOARD_PHONE_NUMBER ,
ELM_WIN_KEYBOARD_HEX ,
ELM_WIN_KEYBOARD_TERMINAL ,
ELM_WIN_KEYBOARD_PASSWORD
2008-11-18 02:11:57 -08:00
} Elm_Win_Keyboard_Mode ;
2009-01-09 03:34:55 -08:00
2009-07-06 23:46:51 -07:00
# ifndef ELM_LIB_QUICKLAUNCH
2009-01-09 03:34:55 -08:00
# define ELM_MAIN() int main(int argc, char **argv) {elm_init(argc, argv); return elm_main(argc, argv);}
2009-02-25 03:00:07 -08:00
# else
# define ELM_MAIN() int main(int argc, char **argv) {return elm_quicklaunch_fallback(argc, argv);}
# endif
2009-07-06 23:46:51 -07:00
/**************************************************************************/
2008-09-29 23:58:56 -07:00
/* General calls */
2008-10-06 18:23:49 -07:00
EAPI void elm_init ( int argc , char * * argv ) ;
EAPI void elm_shutdown ( void ) ;
EAPI void elm_run ( void ) ;
EAPI void elm_exit ( void ) ;
2009-07-06 23:46:51 -07:00
2009-02-25 03:00:07 -08:00
EAPI void elm_quicklaunch_init ( int argc , char * * argv ) ;
EAPI void elm_quicklaunch_sub_init ( int argc , char * * argv ) ;
EAPI void elm_quicklaunch_sub_shutdown ( void ) ;
EAPI void elm_quicklaunch_shutdown ( void ) ;
EAPI void elm_quicklaunch_seed ( void ) ;
2009-06-17 08:35:19 -07:00
EAPI Eina_Bool elm_quicklaunch_prepare ( int argc , char * * argv ) ;
EAPI Eina_Bool elm_quicklaunch_fork ( int argc , char * * argv , char * cwd , void ( postfork_func ) ( void * data ) , void * postfork_data ) ;
2009-02-25 03:00:07 -08:00
EAPI void elm_quicklaunch_cleanup ( void ) ;
EAPI int elm_quicklaunch_fallback ( int argc , char * * argv ) ;
EAPI char * elm_quicklaunch_exe_path_get ( const char * exe ) ;
2009-09-23 04:15:55 -07:00
2009-09-12 02:37:29 -07:00
EAPI void elm_need_efreet ( void ) ;
EAPI void elm_need_e_dbus ( void ) ;
2009-07-06 23:46:51 -07:00
2009-02-02 21:09:03 -08:00
EAPI void elm_object_scale_set ( Evas_Object * obj , double scale ) ;
2009-02-25 07:54:26 -08:00
EAPI double elm_object_scale_get ( const Evas_Object * obj ) ;
2009-04-22 21:03:27 -07:00
EAPI void elm_object_style_set ( Evas_Object * obj , const char * style ) ;
EAPI const char * elm_object_style_get ( const Evas_Object * obj ) ;
2009-08-16 04:35:55 -07:00
EAPI void elm_object_disabled_set ( Evas_Object * obj , Eina_Bool disabled ) ;
EAPI Eina_Bool elm_object_disabled_get ( const Evas_Object * obj ) ;
2009-04-22 21:03:27 -07:00
2009-03-12 22:50:38 -07:00
EAPI double elm_scale_get ( void ) ;
EAPI void elm_scale_set ( double scale ) ;
EAPI Evas_Coord elm_finger_size_get ( void ) ;
EAPI void elm_finger_size_set ( Evas_Coord size ) ;
2009-07-06 23:46:51 -07:00
2009-02-02 21:09:03 -08:00
EAPI void elm_object_focus ( Evas_Object * obj ) ;
2009-09-23 04:15:55 -07:00
2009-09-07 21:40:27 -07:00
EAPI void elm_object_scroll_hold_push ( Evas_Object * obj ) ;
EAPI void elm_object_scroll_hold_pop ( Evas_Object * obj ) ;
EAPI void elm_object_scroll_freeze_push ( Evas_Object * obj ) ;
EAPI void elm_object_scroll_freeze_pop ( Evas_Object * obj ) ;
2009-07-06 23:46:51 -07:00
2009-02-11 03:49:43 -08:00
EAPI void elm_coords_finger_size_adjust ( int times_w , Evas_Coord * w , int times_h , Evas_Coord * h ) ;
2009-07-06 23:46:51 -07:00
2009-02-23 00:40:58 -08:00
EAPI void elm_theme_overlay_add ( const char * item ) ;
EAPI void elm_theme_extension_add ( const char * item ) ;
2009-07-06 23:46:51 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_win_add ( Evas_Object * parent , const char * name , Elm_Win_Type type ) ;
EAPI void elm_win_resize_object_add ( Evas_Object * obj , Evas_Object * subobj ) ;
EAPI void elm_win_resize_object_del ( Evas_Object * obj , Evas_Object * subobj ) ;
EAPI void elm_win_title_set ( Evas_Object * obj , const char * title ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_win_autodel_set ( Evas_Object * obj , Eina_Bool autodel ) ;
2008-10-06 18:23:49 -07:00
EAPI void elm_win_activate ( Evas_Object * obj ) ;
2009-04-03 14:52:01 -07:00
EAPI void elm_win_lower ( Evas_Object * obj ) ;
EAPI void elm_win_raise ( Evas_Object * obj ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_win_borderless_set ( Evas_Object * obj , Eina_Bool borderless ) ;
EAPI void elm_win_shaped_set ( Evas_Object * obj , Eina_Bool shaped ) ;
EAPI void elm_win_alpha_set ( Evas_Object * obj , Eina_Bool alpha ) ;
EAPI void elm_win_override_set ( Evas_Object * obj , Eina_Bool override ) ;
EAPI void elm_win_fullscreen_set ( Evas_Object * obj , Eina_Bool fullscreen ) ;
EAPI void elm_win_maximized_set ( Evas_Object * obj , Eina_Bool maximized ) ;
EAPI void elm_win_iconified_set ( Evas_Object * obj , Eina_Bool iconified ) ;
2009-03-12 22:50:38 -07:00
EAPI void elm_win_layer_set ( Evas_Object * obj , int layer ) ;
2009-03-14 11:03:19 -07:00
EAPI void elm_win_rotation_set ( Evas_Object * obj , int rotation ) ;
2009-04-03 14:52:01 -07:00
EAPI void elm_win_sticky_set ( Evas_Object * obj , Eina_Bool sticky ) ;
2009-03-12 22:50:38 -07:00
/*...
* ecore_x_icccm_hints_set - > accepts_focus ( add to ecore_evas )
* ecore_x_icccm_hints_set - > window_group ( add to ecore_evas )
* ecore_x_icccm_size_pos_hints_set - > request_pos ( add to ecore_evas )
* ecore_x_icccm_client_leader_set - > l ( add to ecore_evas )
* ecore_x_icccm_window_role_set - > role ( add to ecore_evas )
* ecore_x_icccm_transient_for_set - > forwin ( add to ecore_evas )
* ecore_x_netwm_window_type_set - > type ( add to ecore_evas )
2009-07-06 23:46:51 -07:00
*
2009-03-12 22:50:38 -07:00
* ( add to ecore_x ) set netwm argb icon ! ( add to ecore_evas )
* ( blank mouse , private mouse obj , defaultmouse )
*
*/
2008-11-18 02:11:57 -08:00
EAPI void elm_win_keyboard_mode_set ( Evas_Object * obj , Elm_Win_Keyboard_Mode mode ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_win_keyboard_win_set ( Evas_Object * obj , Eina_Bool is_keyboard ) ;
2008-12-30 08:19:46 -08:00
EAPI Evas_Object * elm_win_inwin_add ( Evas_Object * obj ) ;
EAPI void elm_win_inwin_activate ( Evas_Object * obj ) ;
EAPI void elm_win_inwin_style_set ( Evas_Object * obj , const char * style ) ;
2009-02-23 00:05:05 -08:00
EAPI void elm_win_inwin_content_set ( Evas_Object * obj , Evas_Object * content ) ;
2009-07-06 23:46:51 -07:00
/* available styles:
2009-01-15 18:49:18 -08:00
* default
2009-01-27 16:28:20 -08:00
* minimal
* minimal_vertical
2009-01-15 18:49:18 -08:00
*/
2009-07-06 23:46:51 -07:00
2008-11-18 22:23:08 -08:00
/* X specific calls - won't work on non-x engines (return 0) */
2009-07-06 23:46:51 -07:00
EAPI Ecore_X_Window elm_win_xwindow_get ( const Evas_Object * obj ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
* " delete-request " - the user requested to delete the window
2009-04-04 09:58:28 -07:00
* " focus-in " - window got focus
* " focus-out " - window lost focus
2008-10-06 18:23:49 -07:00
*/
2008-09-29 23:58:56 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_bg_add ( Evas_Object * parent ) ;
EAPI void elm_bg_file_set ( Evas_Object * obj , const char * file , const char * group ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
*/
2008-09-29 23:58:56 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_icon_add ( Evas_Object * parent ) ;
2009-04-03 14:52:01 -07:00
EAPI Eina_Bool elm_icon_file_set ( Evas_Object * obj , const char * file , const char * group ) ;
2008-10-21 05:01:00 -07:00
EAPI void elm_icon_standard_set ( Evas_Object * obj , const char * name ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_icon_smooth_set ( Evas_Object * obj , Eina_Bool smooth ) ;
EAPI void elm_icon_no_scale_set ( Evas_Object * obj , Eina_Bool no_scale ) ;
EAPI void elm_icon_scale_set ( Evas_Object * obj , Eina_Bool scale_up , Eina_Bool scale_down ) ;
EAPI void elm_icon_fill_outside_set ( Evas_Object * obj , Eina_Bool fill_outside ) ;
2009-03-12 22:50:38 -07:00
EAPI void elm_icon_prescale_set ( Evas_Object * obj , int size ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-08 02:33:05 -07:00
* " clicked " - the user clicked the icon
2008-10-06 18:23:49 -07:00
*/
2008-09-29 23:58:56 -07:00
2009-04-22 20:48:41 -07:00
typedef enum _Elm_Image_Orient
{
ELM_IMAGE_ORIENT_NONE ,
ELM_IMAGE_ROTATE_90_CW ,
ELM_IMAGE_ROTATE_180_CW ,
ELM_IMAGE_ROTATE_90_CCW ,
ELM_IMAGE_FLIP_HORIZONTAL ,
ELM_IMAGE_FLIP_VERTICAL ,
ELM_IMAGE_FLIP_TRANSPOSE ,
ELM_IMAGE_FLIP_TRANSVERSE
} Elm_Image_Orient ;
EAPI Evas_Object * elm_image_add ( Evas_Object * parent ) ;
EAPI Eina_Bool elm_image_file_set ( Evas_Object * obj , const char * file , const char * group ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_image_smooth_set ( Evas_Object * obj , Eina_Bool smooth ) ;
EAPI void elm_image_no_scale_set ( Evas_Object * obj , Eina_Bool no_scale ) ;
2009-09-07 21:28:05 -07:00
EAPI void elm_image_object_size_get ( const Evas_Object * obj , int * w , int * h ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_image_scale_set ( Evas_Object * obj , Eina_Bool scale_up , Eina_Bool scale_down ) ;
EAPI void elm_image_fill_outside_set ( Evas_Object * obj , Eina_Bool fill_outside ) ;
2009-04-22 20:48:41 -07:00
EAPI void elm_image_prescale_set ( Evas_Object * obj , int size ) ;
EAPI void elm_image_orient_set ( Evas_Object * obj , Elm_Image_Orient orient ) ;
/* smart callbacks called:
* " clicked " - the user clicked the image
*/
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_box_add ( Evas_Object * parent ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_box_horizontal_set ( Evas_Object * obj , Eina_Bool horizontal ) ;
EAPI void elm_box_homogenous_set ( Evas_Object * obj , Eina_Bool homogenous ) ;
2008-10-06 18:23:49 -07:00
EAPI void elm_box_pack_start ( Evas_Object * obj , Evas_Object * subobj ) ;
EAPI void elm_box_pack_end ( Evas_Object * obj , Evas_Object * subobj ) ;
EAPI void elm_box_pack_before ( Evas_Object * obj , Evas_Object * subobj , Evas_Object * before ) ;
EAPI void elm_box_pack_after ( Evas_Object * obj , Evas_Object * subobj , Evas_Object * after ) ;
2009-09-11 06:43:02 -07:00
EAPI void elm_box_clear ( Evas_Object * obj ) ;
2009-09-21 11:09:51 -07:00
EAPI void elm_box_unpack ( Evas_Object * obj , Evas_Object * subobj ) ;
EAPI void elm_box_unpack_all ( Evas_Object * obj ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
*/
2009-07-06 23:46:51 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_button_add ( Evas_Object * parent ) ;
EAPI void elm_button_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_button_label_get ( Evas_Object * obj ) ;
2008-10-06 18:23:49 -07:00
EAPI void elm_button_icon_set ( Evas_Object * obj , Evas_Object * icon ) ;
2009-08-12 15:37:48 -07:00
EAPI Evas_Object * elm_button_icon_get ( Evas_Object * obj ) ;
2008-12-08 01:24:46 -08:00
EAPI void elm_button_style_set ( Evas_Object * obj , const char * style ) ;
2009-07-06 23:46:51 -07:00
/* available styles:
* default
* hoversel_vertical
2009-01-15 18:49:18 -08:00
* hoversel_vertical_entry
*/
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
* " clicked " - the user clicked the button
*/
2009-04-23 05:58:34 -07:00
typedef enum _Elm_Scroller_Policy
{
2009-07-06 23:46:51 -07:00
ELM_SCROLLER_POLICY_AUTO ,
ELM_SCROLLER_POLICY_ON ,
ELM_SCROLLER_POLICY_OFF
2009-04-23 05:58:34 -07:00
}
Elm_Scroller_Policy ;
2009-07-06 23:46:51 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_scroller_add ( Evas_Object * parent ) ;
2008-10-06 23:55:11 -07:00
EAPI void elm_scroller_content_set ( Evas_Object * obj , Evas_Object * child ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_scroller_content_min_limit ( Evas_Object * obj , Eina_Bool w , Eina_Bool h ) ;
2009-01-08 23:35:52 -08:00
EAPI void elm_scroller_region_show ( Evas_Object * obj , Evas_Coord x , Evas_Coord y , Evas_Coord w , Evas_Coord h ) ;
2009-04-23 05:58:34 -07:00
EAPI void elm_scroller_policy_set ( Evas_Object * obj , Elm_Scroller_Policy policy_h , Elm_Scroller_Policy policy_v ) ;
EAPI void elm_scroller_region_get ( Evas_Object * obj , Evas_Coord * x , Evas_Coord * y , Evas_Coord * w , Evas_Coord * h ) ;
2009-05-08 04:27:32 -07:00
EAPI void elm_scroller_child_size_get ( Evas_Object * obj , Evas_Coord * w , Evas_Coord * h ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_scroller_bounce_set ( Evas_Object * obj , Eina_Bool h_bounce , Eina_Bool v_bounce ) ;
2009-09-01 03:45:27 -07:00
EAPI void elm_scroller_page_relative_set ( Evas_Object * obj , double h_pagerel , double v_pagerel ) ;
EAPI void elm_scroller_page_size_set ( Evas_Object * obj , Evas_Coord h_pagesize , Evas_Coord v_pagesize ) ;
2009-09-03 05:36:39 -07:00
EAPI void elm_scroller_region_bring_in ( Evas_Object * obj , Evas_Coord x , Evas_Coord y , Evas_Coord w , Evas_Coord h ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2009-05-08 04:27:32 -07:00
* " edge_left "
* " edge_right "
* " edge_top "
* " edge_bottom "
* " scroll "
2009-09-01 03:42:52 -07:00
* " scroll_anim_start "
* " scroll_anim_stop "
* " scroll_drag_start "
* " scroll_drag_stop "
2008-10-06 18:23:49 -07:00
*/
2008-09-29 23:58:56 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_label_add ( Evas_Object * parent ) ;
EAPI void elm_label_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_label_label_get ( Evas_Object * obj ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
*/
2009-07-06 23:46:51 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_toggle_add ( Evas_Object * parent ) ;
EAPI void elm_toggle_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_toggle_label_get ( Evas_Object * obj ) ;
2008-10-06 18:23:49 -07:00
EAPI void elm_toggle_icon_set ( Evas_Object * obj , Evas_Object * icon ) ;
2009-08-12 15:37:48 -07:00
EAPI Evas_Object * elm_toggle_icon_get ( Evas_Object * obj ) ;
2008-10-06 18:23:49 -07:00
EAPI void elm_toggle_states_labels_set ( Evas_Object * obj , const char * onlabel , const char * offlabel ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_toggle_state_set ( Evas_Object * obj , Eina_Bool state ) ;
EAPI Eina_Bool elm_toggle_state_get ( const Evas_Object * obj ) ;
EAPI void elm_toggle_state_pointer_set ( Evas_Object * obj , Eina_Bool * statep ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
* " changed " - the user toggled the state
*/
2009-07-06 23:46:51 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_frame_add ( Evas_Object * parent ) ;
EAPI void elm_frame_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_frame_label_get ( Evas_Object * obj ) ;
2008-10-06 18:23:49 -07:00
EAPI void elm_frame_content_set ( Evas_Object * obj , Evas_Object * content ) ;
2008-12-08 01:24:46 -08:00
EAPI void elm_frame_style_set ( Evas_Object * obj , const char * style ) ;
2009-01-15 18:49:18 -08:00
/* available styles:
* default
* pad_small
* pad_medium
* pad_large
* pad_huge
* outdent_top
* outdent_bottom
*/
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
*/
2009-07-06 23:46:51 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_table_add ( Evas_Object * parent ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_table_homogenous_set ( Evas_Object * obj , Eina_Bool homogenous ) ;
2008-10-06 18:23:49 -07:00
EAPI void elm_table_pack ( Evas_Object * obj , Evas_Object * subobj , int x , int y , int w , int h ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
*/
2009-07-06 23:46:51 -07:00
2008-10-06 18:23:49 -07:00
EAPI Evas_Object * elm_clock_add ( Evas_Object * parent ) ;
EAPI void elm_clock_time_set ( Evas_Object * obj , int hrs , int min , int sec ) ;
2009-02-25 07:54:26 -08:00
EAPI void elm_clock_time_get ( const Evas_Object * obj , int * hrs , int * min , int * sec ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_clock_edit_set ( Evas_Object * obj , Eina_Bool edit ) ;
EAPI void elm_clock_show_am_pm_set ( Evas_Object * obj , Eina_Bool am_pm ) ;
EAPI void elm_clock_show_seconds_set ( Evas_Object * obj , Eina_Bool seconds ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-06 18:23:49 -07:00
* " changed " - the user changed the time
*/
2008-10-02 05:45:23 -07:00
2008-10-07 00:45:49 -07:00
EAPI Evas_Object * elm_layout_add ( Evas_Object * parent ) ;
2009-04-03 14:52:01 -07:00
EAPI Eina_Bool elm_layout_file_set ( Evas_Object * obj , const char * file , const char * group ) ;
2008-10-07 00:45:49 -07:00
EAPI void elm_layout_content_set ( Evas_Object * obj , const char * swallow , Evas_Object * content ) ;
2009-02-25 07:54:26 -08:00
EAPI Evas_Object * elm_layout_edje_get ( const Evas_Object * obj ) ;
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-07 00:45:49 -07:00
*/
2009-07-06 23:46:51 -07:00
2009-09-23 04:15:55 -07:00
typedef enum _Elm_Notify_Orient
{
ELM_NOTIFY_ORIENT_TOP ,
ELM_NOTIFY_ORIENT_BOTTOM ,
ELM_NOTIFY_ORIENT_LEFT ,
ELM_NOTIFY_ORIENT_RIGHT ,
ELM_NOTIFY_ORIENT_TOP_LEFT ,
ELM_NOTIFY_ORIENT_TOP_RIGHT ,
ELM_NOTIFY_ORIENT_BOTTOM_LEFT ,
ELM_NOTIFY_ORIENT_BOTTOM_RIGHT
} Elm_Notify_Orient ;
EAPI Evas_Object * elm_notify_add ( Evas_Object * parent ) ;
EAPI void elm_notify_content_set ( Evas_Object * obj , Evas_Object * content ) ;
EAPI void elm_notify_orient_set ( Evas_Object * obj , Elm_Notify_Orient orient ) ;
EAPI void elm_notify_timeout_set ( Evas_Object * obj , int timeout ) ;
2009-09-23 06:05:00 -07:00
EAPI void elm_notify_timer_init ( Evas_Object * obj ) ;
2009-09-23 04:15:55 -07:00
/* smart callbacks called:
*/
2008-11-26 21:41:13 -08:00
typedef enum _Elm_Hover_Axis
{
ELM_HOVER_AXIS_NONE ,
2009-07-06 23:46:51 -07:00
ELM_HOVER_AXIS_HORIZONTAL ,
ELM_HOVER_AXIS_VERTICAL ,
ELM_HOVER_AXIS_BOTH
2008-11-26 21:41:13 -08:00
} Elm_Hover_Axis ;
2008-10-07 23:38:20 -07:00
EAPI Evas_Object * elm_hover_add ( Evas_Object * parent ) ;
EAPI void elm_hover_target_set ( Evas_Object * obj , Evas_Object * target ) ;
EAPI void elm_hover_parent_set ( Evas_Object * obj , Evas_Object * parent ) ;
2008-10-08 01:48:09 -07:00
EAPI void elm_hover_content_set ( Evas_Object * obj , const char * swallow , Evas_Object * content ) ;
2008-10-09 01:10:20 -07:00
EAPI void elm_hover_style_set ( Evas_Object * obj , const char * style ) ;
2009-04-23 08:59:08 -07:00
EAPI const char * elm_hover_best_content_location_get ( const Evas_Object * obj , Elm_Hover_Axis pref_axis ) ;
2009-07-06 23:46:51 -07:00
/* available styles:
2009-01-15 18:49:18 -08:00
* default
* popout
* hoversel_vertical
*/
2008-10-08 08:09:00 -07:00
/* smart callbacks called:
2008-10-24 19:11:06 -07:00
* " clicked " - the user clicked the empty space in the hover to dismiss
2008-10-07 23:38:20 -07:00
*/
2008-10-14 01:05:30 -07:00
2008-10-24 19:11:06 -07:00
typedef struct _Elm_Entry_Anchor_Info Elm_Entry_Anchor_Info ;
struct _Elm_Entry_Anchor_Info
{
const char * name ;
int button ;
Evas_Coord x , y , w , h ;
} ;
2009-09-02 05:48:00 -07:00
typedef enum _Elm_Icon_Type
{
ELM_ICON_NONE ,
ELM_ICON_FILE ,
ELM_ICON_STANDARD
} Elm_Icon_Type ;
typedef struct _Elm_Hoversel_Item Elm_Hoversel_Item ;
2008-10-14 01:05:30 -07:00
EAPI Evas_Object * elm_entry_add ( Evas_Object * parent ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_entry_single_line_set ( Evas_Object * obj , Eina_Bool single_line ) ;
EAPI void elm_entry_password_set ( Evas_Object * obj , Eina_Bool password ) ;
2008-10-16 02:17:57 -07:00
EAPI void elm_entry_entry_set ( Evas_Object * obj , const char * entry ) ;
2009-02-25 07:54:26 -08:00
EAPI const char * elm_entry_entry_get ( const Evas_Object * obj ) ;
EAPI const char * elm_entry_selection_get ( const Evas_Object * obj ) ;
2008-10-16 02:17:57 -07:00
EAPI void elm_entry_entry_insert ( Evas_Object * obj , const char * entry ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_entry_line_wrap_set ( Evas_Object * obj , Eina_Bool wrap ) ;
EAPI void elm_entry_editable_set ( Evas_Object * obj , Eina_Bool editable ) ;
2008-11-18 00:45:38 -08:00
EAPI void elm_entry_select_none ( Evas_Object * obj ) ;
EAPI void elm_entry_select_all ( Evas_Object * obj ) ;
2009-09-02 05:48:00 -07:00
EAPI void elm_entry_context_menu_clear ( Evas_Object * obj ) ;
EAPI void elm_entry_context_menu_item_add ( Evas_Object * obj , const char * label , const char * icon_file , Elm_Icon_Type icon_type , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * data ) ;
2009-01-26 16:44:29 -08:00
EAPI char * elm_entry_markup_to_utf8 ( const char * s ) ;
EAPI char * elm_entry_utf8_to_markup ( const char * s ) ;
2009-07-06 23:46:51 -07:00
2008-10-16 02:17:57 -07:00
/* smart callbacks called:
2008-10-17 20:55:44 -07:00
* " changed " - the text content changed
2008-10-20 22:40:01 -07:00
* " selection,start " - the user started selecting text
* " selection,changed " - the user modified the selection size / location
* " selection,cleared " - the user cleared the selection
* " selection,paste " - the user rrequested a paste of text
* " selection,copy " - the user copied the text
* " selection,cut " - the user cut the text
* " cursor,changed " - the cursor changed position
2008-10-24 19:11:06 -07:00
* " anchor,clicked " - achor called was clicked | event_info = Elm_Entry_Anchor_Info
2008-10-22 01:58:56 -07:00
* " activated " - when the enter key is pressed ( useful for single line )
2008-10-16 02:17:57 -07:00
*/
2009-07-06 23:46:51 -07:00
2008-10-21 05:01:00 -07:00
/* composite widgets - these basically put together basic widgets above
* in convenient packages that do more than basic stuff */
typedef enum _Elm_Text_Format
{
ELM_TEXT_FORMAT_PLAIN_UTF8 ,
ELM_TEXT_FORMAT_MARKUP_UTF8
} Elm_Text_Format ;
EAPI Evas_Object * elm_notepad_add ( Evas_Object * parent ) ;
EAPI void elm_notepad_file_set ( Evas_Object * obj , const char * file , Elm_Text_Format format ) ;
/* smart callbacks called:
*/
2008-10-24 19:11:06 -07:00
typedef struct _Elm_Entry_Anchorview_Info Elm_Entry_Anchorview_Info ;
struct _Elm_Entry_Anchorview_Info
{
const char * name ;
int button ;
Evas_Object * hover ;
struct {
Evas_Coord x , y , w , h ;
} anchor , hover_parent ;
2009-06-17 08:35:19 -07:00
Eina_Bool hover_left : 1 ;
Eina_Bool hover_right : 1 ;
Eina_Bool hover_top : 1 ;
Eina_Bool hover_bottom : 1 ;
2008-10-24 19:11:06 -07:00
} ;
EAPI Evas_Object * elm_anchorview_add ( Evas_Object * parent ) ;
EAPI void elm_anchorview_text_set ( Evas_Object * obj , const char * text ) ;
2008-11-15 05:58:50 -08:00
EAPI void elm_anchorview_hover_parent_set ( Evas_Object * obj , Evas_Object * parent ) ;
2008-10-24 19:11:06 -07:00
EAPI void elm_anchorview_hover_style_set ( Evas_Object * obj , const char * style ) ;
EAPI void elm_anchorview_hover_end ( Evas_Object * obj ) ;
/* smart callbacks called:
* " anchor,clicked " - achor called was clicked | event_info = Elm_Entry_Anchorview_Info
*/
2009-07-06 23:46:51 -07:00
2008-10-24 19:11:06 -07:00
typedef struct _Elm_Entry_Anchorblock_Info Elm_Entry_Anchorblock_Info ;
struct _Elm_Entry_Anchorblock_Info
{
const char * name ;
int button ;
Evas_Object * hover ;
struct {
Evas_Coord x , y , w , h ;
} anchor , hover_parent ;
2009-06-17 08:35:19 -07:00
Eina_Bool hover_left : 1 ;
Eina_Bool hover_right : 1 ;
Eina_Bool hover_top : 1 ;
Eina_Bool hover_bottom : 1 ;
2008-10-24 19:11:06 -07:00
} ;
EAPI Evas_Object * elm_anchorblock_add ( Evas_Object * parent ) ;
EAPI void elm_anchorblock_text_set ( Evas_Object * obj , const char * text ) ;
2008-11-15 05:58:50 -08:00
EAPI void elm_anchorblock_hover_parent_set ( Evas_Object * obj , Evas_Object * parent ) ;
2008-10-24 19:11:06 -07:00
EAPI void elm_anchorblock_hover_style_set ( Evas_Object * obj , const char * style ) ;
EAPI void elm_anchorblock_hover_end ( Evas_Object * obj ) ;
/* smart callbacks called:
* " anchor,clicked " - achor called was clicked | event_info = Elm_Entry_Anchorblock_Info
*/
2009-07-06 23:46:51 -07:00
2008-10-28 18:51:45 -07:00
EAPI Evas_Object * elm_bubble_add ( Evas_Object * parent ) ;
EAPI void elm_bubble_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_bubble_label_get ( Evas_Object * obj ) ;
2008-11-15 05:58:50 -08:00
EAPI void elm_bubble_info_set ( Evas_Object * obj , const char * info ) ;
2008-10-28 18:51:45 -07:00
EAPI void elm_bubble_content_set ( Evas_Object * obj , Evas_Object * content ) ;
EAPI void elm_bubble_icon_set ( Evas_Object * obj , Evas_Object * icon ) ;
2009-08-12 15:37:48 -07:00
EAPI Evas_Object * elm_bubble_icon_get ( Evas_Object * obj ) ;
2008-12-04 23:42:14 -08:00
EAPI void elm_bubble_corner_set ( Evas_Object * obj , const char * corner ) ;
2008-10-28 18:51:45 -07:00
/* smart callbacks called:
*/
2008-11-17 17:41:49 -08:00
2008-12-04 23:42:14 -08:00
EAPI Evas_Object * elm_photo_add ( Evas_Object * parent ) ;
2009-04-03 14:52:01 -07:00
EAPI Eina_Bool elm_photo_file_set ( Evas_Object * obj , const char * file ) ;
2008-12-04 23:42:14 -08:00
EAPI void elm_photo_size_set ( Evas_Object * obj , int size ) ;
/* smart callbacks called:
* " clicked " - the user clicked the icon
*/
2008-12-15 16:15:34 -08:00
EAPI Evas_Object * elm_hoversel_add ( Evas_Object * parent ) ;
EAPI void elm_hoversel_hover_parent_set ( Evas_Object * obj , Evas_Object * parent ) ;
EAPI void elm_hoversel_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_hoversel_label_get ( Evas_Object * obj ) ;
2008-12-15 16:15:34 -08:00
EAPI void elm_hoversel_icon_set ( Evas_Object * obj , Evas_Object * icon ) ;
2009-08-12 15:37:48 -07:00
EAPI Evas_Object * elm_hoversel_icon_get ( Evas_Object * obj ) ;
2009-03-19 06:36:46 -07:00
EAPI void elm_hoversel_hover_begin ( Evas_Object * obj ) ;
2008-12-15 16:15:34 -08:00
EAPI void elm_hoversel_hover_end ( Evas_Object * obj ) ;
2009-08-14 04:17:06 -07:00
EAPI void elm_hoversel_clear ( Evas_Object * obj ) ;
2008-12-15 16:15:34 -08:00
EAPI Elm_Hoversel_Item * elm_hoversel_item_add ( Evas_Object * obj , const char * label , const char * icon_file , Elm_Icon_Type icon_type , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * data ) ;
EAPI void elm_hoversel_item_del ( Elm_Hoversel_Item * item ) ;
2009-03-31 04:58:56 -07:00
EAPI void * elm_hoversel_item_data_get ( Elm_Hoversel_Item * it ) ;
2009-08-12 04:18:08 -07:00
EAPI const char * elm_hoversel_item_label_get ( Elm_Hoversel_Item * it ) ;
2009-08-14 04:17:06 -07:00
EAPI void elm_hoversel_item_icon_set ( Elm_Hoversel_Item * it , const char * icon_file , const char * icon_group , Elm_Icon_Type icon_type ) ;
2009-09-16 12:13:55 -07:00
EAPI void elm_hoversel_item_icon_get ( Elm_Hoversel_Item * it , const char * * icon_file , const char * * icon_group , Elm_Icon_Type * icon_type ) ;
2008-12-18 16:34:56 -08:00
/* smart callbacks called:
2008-12-18 20:26:24 -08:00
* " clicked " - the user clicked the hoversel button and popped up the sel
* " selected " - an item in the hoversel list is selected
* " dismissed " - the hover is dismissed
2008-12-18 16:34:56 -08:00
*/
2009-07-06 23:46:51 -07:00
2008-12-18 05:38:58 -08:00
typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item ;
EAPI Evas_Object * elm_toolbar_add ( Evas_Object * parent ) ;
2009-08-25 17:47:31 -07:00
EAPI void elm_toolbar_icon_size_set ( Evas_Object * obj , int icon_size ) ;
EAPI int elm_toolbar_icon_size_get ( Evas_Object * obj ) ;
2008-12-18 05:38:58 -08:00
EAPI Elm_Toolbar_Item * elm_toolbar_item_add ( Evas_Object * obj , Evas_Object * icon , const char * label , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * data ) ;
2009-08-12 15:37:48 -07:00
EAPI Evas_Object * elm_toolbar_item_icon_get ( Elm_Toolbar_Item * item ) ;
EAPI const char * elm_toolbar_item_label_get ( Elm_Toolbar_Item * item ) ;
2009-08-25 16:47:08 -07:00
EAPI void elm_toolbar_item_label_set ( Elm_Toolbar_Item * item , const char * label ) ;
2008-12-18 05:38:58 -08:00
EAPI void elm_toolbar_item_del ( Elm_Toolbar_Item * item ) ;
EAPI void elm_toolbar_item_select ( Elm_Toolbar_Item * item ) ;
2009-08-25 15:46:19 -07:00
EAPI Eina_Bool elm_toolbar_item_disabled_get ( Elm_Toolbar_Item * item ) ;
EAPI void elm_toolbar_item_disabled_set ( Elm_Toolbar_Item * item , Eina_Bool disabled ) ;
2009-08-30 09:54:15 -07:00
EAPI void elm_toolbar_item_separator_set ( Elm_Toolbar_Item * item , Eina_Bool separator ) ;
2009-08-30 09:56:17 -07:00
EAPI Eina_Bool elm_toolbar_item_separator_get ( Elm_Toolbar_Item * item ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_toolbar_scrollable_set ( Evas_Object * obj , Eina_Bool scrollable ) ;
2008-12-18 16:34:56 -08:00
/* smart callbacks called:
2008-12-18 20:26:24 -08:00
* " clicked " - when the user clicks on a toolbar item and becomes selected
2008-12-18 16:34:56 -08:00
*/
2008-12-18 05:38:58 -08:00
2009-03-14 20:03:54 -07:00
typedef enum _Elm_List_Mode
2009-01-07 05:49:08 -08:00
{
2009-07-06 23:46:51 -07:00
ELM_LIST_COMPRESS ,
ELM_LIST_SCROLL ,
ELM_LIST_LIMIT
2009-03-14 20:03:54 -07:00
} Elm_List_Mode ;
2009-01-07 05:49:08 -08:00
typedef struct _Elm_List_Item Elm_List_Item ;
EAPI Evas_Object * elm_list_add ( Evas_Object * parent ) ;
2009-01-08 06:29:13 -08:00
EAPI Elm_List_Item * elm_list_item_append ( Evas_Object * obj , const char * label , Evas_Object * icon , Evas_Object * end , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * data ) ;
2009-01-08 23:35:52 -08:00
EAPI Elm_List_Item * elm_list_item_prepend ( Evas_Object * obj , const char * label , Evas_Object * icon , Evas_Object * end , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * data ) ;
EAPI Elm_List_Item * elm_list_item_insert_before ( Evas_Object * obj , Elm_List_Item * before , const char * label , Evas_Object * icon , Evas_Object * end , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * data ) ;
EAPI Elm_List_Item * elm_list_item_insert_after ( Evas_Object * obj , Elm_List_Item * after , const char * label , Evas_Object * icon , Evas_Object * end , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * data ) ;
2009-04-03 14:52:01 -07:00
EAPI void elm_list_clear ( Evas_Object * obj ) ;
2009-01-08 23:35:52 -08:00
EAPI void elm_list_go ( Evas_Object * obj ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_list_multi_select_set ( Evas_Object * obj , Eina_Bool multi ) ;
2009-03-14 21:13:08 -07:00
EAPI void elm_list_horizontal_mode_set ( Evas_Object * obj , Elm_List_Mode mode ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_list_always_select_mode_set ( Evas_Object * obj , Eina_Bool always_select ) ;
2009-02-25 07:54:26 -08:00
EAPI const Eina_List * elm_list_items_get ( const Evas_Object * obj ) ;
EAPI Elm_List_Item * elm_list_selected_item_get ( const Evas_Object * obj ) ;
EAPI const Eina_List * elm_list_selected_items_get ( const Evas_Object * obj ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_list_item_selected_set ( Elm_List_Item * item , Eina_Bool selected ) ;
2009-01-08 23:35:52 -08:00
EAPI void elm_list_item_show ( Elm_List_Item * item ) ;
EAPI void elm_list_item_del ( Elm_List_Item * item ) ;
2009-04-03 14:52:01 -07:00
EAPI void elm_list_item_del_cb_set ( Elm_List_Item * item , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) ) ;
2009-08-13 10:56:07 -07:00
EAPI void * elm_list_item_data_get ( const Elm_List_Item * item ) ;
2009-02-25 07:54:26 -08:00
EAPI Evas_Object * elm_list_item_icon_get ( const Elm_List_Item * item ) ;
2009-08-13 10:56:07 -07:00
EAPI void elm_list_item_icon_set ( Elm_List_Item * item , Evas_Object * icon ) ;
2009-02-25 07:54:26 -08:00
EAPI Evas_Object * elm_list_item_end_get ( const Elm_List_Item * item ) ;
2009-08-13 10:56:07 -07:00
EAPI void elm_list_item_end_set ( Elm_List_Item * item , Evas_Object * end ) ;
2009-04-03 14:52:01 -07:00
EAPI Evas_Object * elm_list_item_base_get ( const Elm_List_Item * item ) ;
EAPI const char * elm_list_item_label_get ( const Elm_List_Item * item ) ;
2009-08-13 10:56:07 -07:00
EAPI void elm_list_item_label_set ( Elm_List_Item * item , const char * text ) ;
2009-04-04 08:06:58 -07:00
EAPI Elm_List_Item * elm_list_item_prev ( const Elm_List_Item * it ) ;
EAPI Elm_List_Item * elm_list_item_next ( const Elm_List_Item * it ) ;
2009-01-07 05:49:08 -08:00
/* smart callbacks called:
* " clicked " - when the user double - clicked an item
2009-01-08 23:35:52 -08:00
* " selected " - when the user selected an item
* " unselected " - when the user selected an item
2009-09-01 03:42:52 -07:00
* " longpressed " - an item in the hoversel list is long - pressed
2009-01-07 05:49:08 -08:00
*/
2009-01-13 01:20:53 -08:00
2009-02-09 03:23:59 -08:00
// FIXME: incomplete - carousel
2009-01-13 01:20:53 -08:00
typedef struct _Elm_Carousel_Item Elm_Carousel_Item ;
EAPI Evas_Object * elm_carousel_add ( Evas_Object * parent ) ;
EAPI Elm_Carousel_Item * elm_carousel_item_add ( Evas_Object * obj , Evas_Object * icon , const char * label , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * data ) ;
EAPI void elm_carousel_item_del ( Elm_Carousel_Item * item ) ;
EAPI void elm_carousel_item_select ( Elm_Carousel_Item * item ) ;
/* smart callbacks called:
* " clicked " - when the user clicks on a carousel item and becomes selected
*/
2009-07-06 23:46:51 -07:00
2009-02-08 04:34:58 -08:00
EAPI Evas_Object * elm_slider_add ( Evas_Object * parent ) ;
2009-02-09 03:23:59 -08:00
EAPI void elm_slider_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_slider_label_get ( Evas_Object * obj ) ;
2009-02-09 03:23:59 -08:00
EAPI void elm_slider_icon_set ( Evas_Object * obj , Evas_Object * icon ) ;
2009-08-12 15:37:48 -07:00
EAPI Evas_Object * elm_slider_icon_get ( Evas_Object * obj ) ;
2009-02-09 03:23:59 -08:00
EAPI void elm_slider_span_size_set ( Evas_Object * obj , Evas_Coord size ) ;
EAPI void elm_slider_unit_format_set ( Evas_Object * obj , const char * format ) ;
EAPI void elm_slider_indicator_format_set ( Evas_Object * obj , const char * indicator ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_slider_horizontal_set ( Evas_Object * obj , Eina_Bool horizontal ) ;
2009-02-09 03:23:59 -08:00
EAPI void elm_slider_min_max_set ( Evas_Object * obj , double min , double max ) ;
EAPI void elm_slider_value_set ( Evas_Object * obj , double val ) ;
2009-02-25 07:54:26 -08:00
EAPI double elm_slider_value_get ( const Evas_Object * obj ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_slider_inverted_set ( Evas_Object * obj , Eina_Bool inverted ) ;
2009-02-08 04:34:58 -08:00
/* smart callbacks called:
* " changed " - when the slider value changes
* " delay,changed " - when the slider value changed , but a small time after a change ( use this if you only want to respond to a change once the slider is held still for a short while ) .
*/
2009-07-06 23:46:51 -07:00
2009-02-09 03:23:59 -08:00
typedef enum _Elm_Genlist_Item_Flags
{
2009-07-06 23:46:51 -07:00
ELM_GENLIST_ITEM_NONE = 0 ,
ELM_GENLIST_ITEM_SUBITEMS = ( 1 < < 0 )
2009-02-09 03:23:59 -08:00
} Elm_Genlist_Item_Flags ;
typedef struct _Elm_Genlist_Item_Class Elm_Genlist_Item_Class ;
typedef struct _Elm_Genlist_Item Elm_Genlist_Item ;
2009-03-14 20:03:54 -07:00
typedef struct _Elm_Genlist_Item_Class_Func Elm_Genlist_Item_Class_Func ;
typedef char * ( * GenlistItemLabelGetFunc ) ( const void * data , Evas_Object * obj , const char * part ) ;
typedef Evas_Object * ( * GenlistItemIconGetFunc ) ( const void * data , Evas_Object * obj , const char * part ) ;
2009-06-17 08:35:19 -07:00
typedef Eina_Bool ( * GenlistItemStateGetFunc ) ( const void * data , Evas_Object * obj , const char * part ) ;
2009-03-14 21:13:08 -07:00
typedef void ( * GenlistItemDelFunc ) ( const void * data , Evas_Object * obj ) ;
2009-07-06 23:46:51 -07:00
2009-02-09 03:23:59 -08:00
struct _Elm_Genlist_Item_Class
{
2009-07-06 23:46:51 -07:00
const char * item_style ;
struct _Elm_Genlist_Item_Class_Func {
GenlistItemLabelGetFunc label_get ;
GenlistItemIconGetFunc icon_get ;
GenlistItemStateGetFunc state_get ;
GenlistItemDelFunc del ;
} func ;
2009-02-09 03:23:59 -08:00
} ;
2009-01-20 16:05:38 -08:00
2009-02-18 05:42:56 -08:00
EAPI Evas_Object * elm_genlist_add ( Evas_Object * parent ) ;
2009-02-16 23:50:35 -08:00
EAPI Elm_Genlist_Item * elm_genlist_item_append ( Evas_Object * obj , const Elm_Genlist_Item_Class * itc , const void * data , Elm_Genlist_Item * parent , Elm_Genlist_Item_Flags flags , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * func_data ) ;
2009-02-18 04:41:45 -08:00
EAPI Elm_Genlist_Item * elm_genlist_item_prepend ( Evas_Object * obj , const Elm_Genlist_Item_Class * itc , const void * data , Elm_Genlist_Item * parent , Elm_Genlist_Item_Flags flags , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * func_data ) ;
EAPI Elm_Genlist_Item * elm_genlist_item_insert_before ( Evas_Object * obj , const Elm_Genlist_Item_Class * itc , const void * data , Elm_Genlist_Item * before , Elm_Genlist_Item_Flags flags , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * func_data ) ;
EAPI Elm_Genlist_Item * elm_genlist_item_insert_after ( Evas_Object * obj , const Elm_Genlist_Item_Class * itc , const void * data , Elm_Genlist_Item * after , Elm_Genlist_Item_Flags flags , void ( * func ) ( void * data , Evas_Object * obj , void * event_info ) , const void * func_data ) ;
2009-02-18 05:42:56 -08:00
EAPI void elm_genlist_clear ( Evas_Object * obj ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_genlist_multi_select_set ( Evas_Object * obj , Eina_Bool multi ) ;
2009-02-25 07:54:26 -08:00
EAPI Elm_Genlist_Item * elm_genlist_selected_item_get ( const Evas_Object * obj ) ;
EAPI const Eina_List * elm_genlist_selected_items_get ( const Evas_Object * obj ) ;
2009-09-22 20:22:07 -07:00
EAPI Elm_Genlist_Item * elm_genlist_at_xy_item_get ( const Evas_Object * obj , Evas_Coord x , Evas_Coord y , int * posret ) ;
2009-02-25 07:54:26 -08:00
EAPI Elm_Genlist_Item * elm_genlist_first_item_get ( const Evas_Object * obj ) ;
EAPI Elm_Genlist_Item * elm_genlist_last_item_get ( const Evas_Object * obj ) ;
EAPI Elm_Genlist_Item * elm_genlist_item_next_get ( const Elm_Genlist_Item * item ) ;
EAPI Elm_Genlist_Item * elm_genlist_item_prev_get ( const Elm_Genlist_Item * item ) ;
2009-03-12 22:50:38 -07:00
EAPI Evas_Object * elm_genlist_item_genlist_get ( const Elm_Genlist_Item * item ) ;
EAPI Elm_Genlist_Item * elm_genlist_item_parent_get ( const Elm_Genlist_Item * it ) ;
EAPI void elm_genlist_item_subitems_clear ( Elm_Genlist_Item * item ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_genlist_item_selected_set ( Elm_Genlist_Item * item , Eina_Bool selected ) ;
EAPI Eina_Bool elm_genlist_item_selected_get ( const Elm_Genlist_Item * item ) ;
EAPI void elm_genlist_item_expanded_set ( Elm_Genlist_Item * item , Eina_Bool expanded ) ;
EAPI Eina_Bool elm_genlist_item_expanded_get ( const Elm_Genlist_Item * item ) ;
EAPI void elm_genlist_item_disabled_set ( Elm_Genlist_Item * item , Eina_Bool disabled ) ;
EAPI Eina_Bool elm_genlist_item_disabled_get ( const Elm_Genlist_Item * item ) ;
2009-02-18 05:42:56 -08:00
EAPI void elm_genlist_item_show ( Elm_Genlist_Item * item ) ;
2009-09-10 02:25:11 -07:00
EAPI void elm_genlist_item_bring_in ( Elm_Genlist_Item * item ) ;
EAPI void elm_genlist_item_top_show ( Elm_Genlist_Item * item ) ;
EAPI void elm_genlist_item_top_bring_in ( Elm_Genlist_Item * item ) ;
2009-02-18 05:42:56 -08:00
EAPI void elm_genlist_item_del ( Elm_Genlist_Item * item ) ;
2009-09-07 19:09:13 -07:00
EAPI const void * elm_genlist_item_data_get ( const Elm_Genlist_Item * item ) ;
EAPI void elm_genlist_item_data_set ( Elm_Genlist_Item * it , const void * data ) ;
EAPI const Evas_Object * elm_genlist_item_object_get ( const Elm_Genlist_Item * it ) ;
2009-02-18 05:42:56 -08:00
EAPI void elm_genlist_item_update ( Elm_Genlist_Item * item ) ;
2009-03-14 21:13:08 -07:00
EAPI void elm_genlist_horizontal_mode_set ( Evas_Object * obj , Elm_List_Mode mode ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_genlist_always_select_mode_set ( Evas_Object * obj , Eina_Bool always_select ) ;
EAPI void elm_genlist_no_select_mode_set ( Evas_Object * obj , Eina_Bool no_select ) ;
2009-07-06 23:46:51 -07:00
/* available item styles:
2009-04-23 08:59:08 -07:00
* default
* double_label
2009-08-16 04:14:39 -07:00
* icon_top_text_bottom
2009-04-23 08:59:08 -07:00
*/
2009-02-16 23:50:35 -08:00
/* smart callbacks called:
2009-03-12 22:50:38 -07:00
* " clicked " - when the user double - clicked an item
* " selected " - when the user selected an item
* " unselected " - when the user selected an item
2009-09-01 03:42:52 -07:00
* " longpressed " - an item in the hoversel list is long - pressed
2009-03-12 22:50:38 -07:00
* " expanded " - when the user expanded an item
* " contracted " - when the user contracted an item
* " expand,request " - when the user requested to expand an item
* " contract,request " - when the user requested to expand an item
2009-02-16 23:50:35 -08:00
*/
2009-07-06 23:46:51 -07:00
2009-02-23 00:05:05 -08:00
EAPI Evas_Object * elm_check_add ( Evas_Object * parent ) ;
EAPI void elm_check_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_check_label_get ( Evas_Object * obj ) ;
2009-02-23 00:05:05 -08:00
EAPI void elm_check_icon_set ( Evas_Object * obj , Evas_Object * icon ) ;
2009-08-12 15:37:48 -07:00
EAPI Evas_Object * elm_check_icon_get ( Evas_Object * obj ) ;
2009-06-17 08:35:19 -07:00
EAPI void elm_check_state_set ( Evas_Object * obj , Eina_Bool state ) ;
EAPI Eina_Bool elm_check_state_get ( const Evas_Object * obj ) ;
EAPI void elm_check_state_pointer_set ( Evas_Object * obj , Eina_Bool * statep ) ;
2009-02-09 03:23:59 -08:00
/* smart callbacks called:
2009-02-23 00:05:05 -08:00
* " changed " - the user toggled the state
2009-02-09 03:23:59 -08:00
*/
2009-07-06 23:46:51 -07:00
2009-02-24 01:23:51 -08:00
EAPI Evas_Object * elm_radio_add ( Evas_Object * parent ) ;
EAPI void elm_radio_label_set ( Evas_Object * obj , const char * label ) ;
2009-08-11 03:44:49 -07:00
EAPI const char * elm_radio_label_get ( Evas_Object * obj ) ;
2009-02-24 01:23:51 -08:00
EAPI void elm_radio_icon_set ( Evas_Object * obj , Evas_Object * icon ) ;
2009-08-12 15:37:48 -07:00
EAPI Evas_Object * elm_radio_icon_get ( Evas_Object * obj ) ;
2009-02-24 01:23:51 -08:00
EAPI void elm_radio_group_add ( Evas_Object * obj , Evas_Object * group ) ;
EAPI void elm_radio_state_value_set ( Evas_Object * obj , int value ) ;
EAPI void elm_radio_value_set ( Evas_Object * obj , int value ) ;
2009-02-25 07:54:26 -08:00
EAPI int elm_radio_value_get ( const Evas_Object * obj ) ;
2009-02-24 01:23:51 -08:00
EAPI void elm_radio_value_pointer_set ( Evas_Object * obj , int * valuep ) ;
/* smart callbacks called:
* " changed " - the user toggled the state
*/
2009-07-06 23:46:51 -07:00
2009-02-26 00:25:22 -08:00
EAPI Evas_Object * elm_pager_add ( Evas_Object * parent ) ;
2009-03-02 01:42:58 -08:00
EAPI void elm_pager_content_push ( Evas_Object * obj , Evas_Object * content ) ;
EAPI void elm_pager_content_pop ( Evas_Object * obj ) ;
EAPI void elm_pager_content_promote ( Evas_Object * obj , Evas_Object * content ) ;
2009-03-01 15:52:13 -08:00
EAPI Evas_Object * elm_pager_content_bottom_get ( Evas_Object * obj ) ;
EAPI Evas_Object * elm_pager_content_top_get ( Evas_Object * obj ) ;
2009-02-26 00:25:22 -08:00
/* smart callbacks called:
*/
2009-08-16 04:14:39 -07:00
2009-09-23 15:56:47 -07:00
EAPI Evas_Object * elm_slideshow_add ( Evas_Object * parent ) ;
EAPI void elm_slideshow_image_add ( Evas_Object * obj , const char * file , const char * group ) ;
EAPI void elm_slideshow_goto ( Evas_Object * obj , int pos ) ;
EAPI void elm_slideshow_next ( Evas_Object * obj ) ;
EAPI void elm_slideshow_previous ( Evas_Object * obj ) ;
EAPI const Eina_List * elm_slideshow_transitions_get ( Evas_Object * obj ) ;
EAPI void elm_slideshow_transition_set ( Evas_Object * obj , const char * ) ;
2009-09-24 02:43:05 -07:00
EAPI void elm_slideshow_timeout_set ( Evas_Object * obj , int timeout ) ;
EAPI int elm_slideshow_timeout_get ( Evas_Object * obj ) ;
EAPI void elm_slideshow_loop_set ( Evas_Object * obj , int loop ) ;
EAPI void elm_slideshow_clear ( Evas_Object * obj ) ;
2009-09-23 15:56:47 -07:00
/* smart callbacks called:
2009-09-24 02:43:05 -07:00
* " clicked " - the use click on the widget
* " move " - the mouse move on the widget )
2009-09-23 15:56:47 -07:00
*/
2009-08-12 09:08:53 -07:00
EAPI Evas_Object * elm_fileselector_add ( Evas_Object * parent ) ;
2009-09-06 17:00:33 -07:00
EAPI void elm_fileselector_is_save_set ( Evas_Object * obj , Eina_Bool is_save ) ;
EAPI Eina_Bool elm_fileselector_is_save_get ( Evas_Object * obj ) ;
2009-08-12 09:08:53 -07:00
EAPI void elm_fileselector_expandable_set ( Evas_Object * obj , Eina_Bool expand ) ;
2009-09-06 17:00:33 -07:00
EAPI void elm_fileselector_path_set ( Evas_Object * obj , const char * path ) ;
EAPI const char * elm_fileselector_path_get ( Evas_Object * obj ) ;
EAPI const char * elm_fileselector_selected_get ( Evas_Object * obj ) ;
2009-08-12 09:08:53 -07:00
/* smart callbacks called:
* " selected " - the user click on a file
* " done " - the user click on the ok or cancel buttons
*/
2009-07-06 23:46:51 -07:00
2009-08-12 09:16:31 -07:00
EAPI Evas_Object * elm_progressbar_add ( Evas_Object * parent ) ;
EAPI void elm_progressbar_label_set ( Evas_Object * obj , const char * label ) ;
EAPI void elm_progressbar_icon_set ( Evas_Object * obj , Evas_Object * icon ) ;
EAPI void elm_progressbar_span_size_set ( Evas_Object * obj , Evas_Coord size ) ;
EAPI void elm_progressbar_horizontal_set ( Evas_Object * obj , Eina_Bool horizontal ) ;
EAPI void elm_progressbar_inverted_set ( Evas_Object * obj , Eina_Bool inverted ) ;
EAPI void elm_progressbar_pulse_set ( Evas_Object * obj , Eina_Bool pulse ) ;
EAPI void elm_progressbar_pulse ( Evas_Object * obj , Eina_Bool state ) ;
EAPI void elm_progressbar_unit_format_set ( Evas_Object * obj , const char * format ) ;
EAPI void elm_progressbar_value_set ( Evas_Object * obj , double val ) ;
EAPI double elm_progressbar_value_get ( const Evas_Object * obj ) ;
2009-09-08 04:18:02 -07:00
/* smart callbacks called:
*/
2009-08-12 09:16:31 -07:00
2009-08-21 05:25:50 -07:00
EAPI Evas_Object * elm_separator_add ( Evas_Object * parent ) ;
EAPI void elm_separator_horizontal_set ( Evas_Object * obj , Eina_Bool horizontal ) ;
2009-08-21 06:07:15 -07:00
EAPI Eina_Bool elm_separator_horizontal_get ( Evas_Object * obj ) ;
2009-09-08 04:18:02 -07:00
/* smart callbacks called:
*/
2009-08-21 05:25:50 -07:00
2009-09-03 05:36:39 -07:00
EAPI Evas_Object * elm_spinner_add ( Evas_Object * parent ) ;
EAPI void elm_spinner_label_format_set ( Evas_Object * obj , const char * fmt ) ;
EAPI const char * elm_spinner_label_format_get ( Evas_Object * obj ) ;
EAPI void elm_spinner_min_max_set ( Evas_Object * obj , double min , double max ) ;
EAPI void elm_spinner_step_set ( Evas_Object * obj , double step ) ;
EAPI void elm_spinner_value_set ( Evas_Object * obj , double val ) ;
EAPI double elm_spinner_value_get ( const Evas_Object * obj ) ;
EAPI void elm_spinner_wrap_set ( Evas_Object * obj , Eina_Bool wrap ) ;
/* smart callbacks called:
* " changed " - when the spinner value changes
* " delay,changed " - when the spinner value changed , but a small time after a change ( use this if you only want to respond to a change once the spinner is held still for a short while ) .
*/
2009-09-23 04:15:55 -07:00
2009-09-08 04:18:02 -07:00
EAPI Evas_Object * elm_index_add ( Evas_Object * parent ) ;
EAPI void elm_index_active_set ( Evas_Object * obj , Eina_Bool active ) ;
EAPI void elm_index_item_level_set ( Evas_Object * obj , int level ) ;
EAPI int elm_index_item_level_get ( Evas_Object * obj ) ;
EAPI const void * elm_index_item_selected_get ( Evas_Object * obj , int level ) ;
EAPI void elm_index_item_append ( Evas_Object * obj , const char * letter , const void * item ) ;
EAPI void elm_index_item_prepend ( Evas_Object * obj , const char * letter , const void * item ) ;
EAPI void elm_index_item_append_relative ( Evas_Object * obj , const char * letter , const void * item , const void * relative ) ;
EAPI void elm_index_item_prepend_relative ( Evas_Object * obj , const char * letter , const void * item , const void * relative ) ;
EAPI void elm_index_item_del ( Evas_Object * obj , const void * item ) ;
2009-09-10 02:25:11 -07:00
EAPI void elm_index_item_clear ( Evas_Object * obj ) ;
EAPI void elm_index_item_go ( Evas_Object * obj , int level ) ;
2009-09-08 04:18:02 -07:00
/* smart callbacks called:
2009-09-11 06:43:02 -07:00
* " changed " - when the selected index item changes
* " delay,changed " - when the selected index item changes , but after some small idle period
* " selected " - when the user releases heir finger and selects an item
2009-09-08 04:18:02 -07:00
*/
2009-09-11 07:01:54 -07:00
2009-09-22 07:04:09 -07:00
typedef enum _Elm_Photocam_Zoom_Mode
{
ELM_PHOTOCAM_ZOOM_MODE_MANUAL ,
ELM_PHOTOCAM_ZOOM_MODE_AUTO_FIT ,
ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL
} Elm_Photocam_Zoom_Mode ;
2009-09-11 07:01:54 -07:00
EAPI Evas_Object * elm_photocam_add ( Evas_Object * parent ) ;
2009-09-24 06:57:04 -07:00
EAPI int elm_photocam_file_set ( Evas_Object * obj , const char * file ) ;
2009-09-22 07:04:09 -07:00
EAPI void elm_photocam_zoom_set ( Evas_Object * obj , int zoom ) ;
EAPI int elm_photocam_zoom_get ( Evas_Object * obj ) ;
EAPI void elm_photocam_zoom_mode_set ( Evas_Object * obj , Elm_Photocam_Zoom_Mode mode ) ;
EAPI Elm_Photocam_Zoom_Mode elm_photocam_zoom_mode_get ( Evas_Object * obj ) ;
2009-09-24 06:57:04 -07:00
EAPI void elm_photocam_image_size_get ( Evas_Object * obj , int * w , int * h ) ;
2009-09-23 04:15:55 -07:00
2009-01-20 16:05:38 -08:00
# ifdef __cplusplus
}
# endif
2008-11-18 22:23:08 -08:00
////////////////////////////////////////////////////////////////////////////
/// FIXME: TODO LIST ///////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
2009-07-06 23:46:51 -07:00
//
2008-11-17 17:41:49 -08:00
//// (bugs - high priority)
2008-11-16 21:58:21 -08:00
// * scale change for hover doesnt seem to do new size alloc nicely
2008-11-18 00:45:38 -08:00
// * left/right arrow broken with password mode for entry + utf8 chars...
2008-12-04 19:20:51 -08:00
// * bubble doesnt handle child size changes right
2008-12-18 20:26:24 -08:00
// * table doesnt do homogenous properly
2009-07-06 23:46:51 -07:00
//
2008-11-17 17:41:49 -08:00
//// (incomplete - medium priority)
2009-09-13 04:51:11 -07:00
// * need to add support for disabled in all widgets. Button, toolbar, hoversel, radio, check, toggle, spinner and entry are currently done.
2008-11-16 21:58:21 -08:00
// * on the fly theme changes - test (should work)
2008-12-18 00:12:27 -08:00
// * hoversel only vertical right now - make horizontal
2009-01-31 15:23:51 -08:00
// * when entries are in a scroller and change size, the scroller shows scrollbars. fix. same for selecting. for 1 line entries in a scroller should only have scroll arrow indicators.
2009-07-06 23:46:51 -07:00
//
2008-11-17 17:41:49 -08:00
//// (more widgets/features - medium priority)
2009-02-23 03:40:24 -08:00
// * multiple genlist item styles (multi-label, 1 icon + 2 line label, header etc.)
2008-12-23 06:05:56 -08:00
// * carousel selector widget
2009-02-02 21:54:46 -08:00
// * auto-size label/text that adapts text size to its allocated region
2009-02-09 03:23:59 -08:00
// * [ scrollable dropdown combo box ]
// * [ notepad widget ]
// * [ toggle with 2x labelled button for 2 states ]
// * [ poker spinner with numbers + labels ]
// * [ wrapping text button bar ]
2008-12-17 18:01:36 -08:00
// * slide-open "panel" that can hold stuff and optionally scroll
// * calendar widget (select date)
// * range selector (select range of values from X to Y over an interval)
// * "dialogbutton" widget (bigger button for bottom of wins)
// * dialog window widget
// * phone-number widget (hilight country dial prefixes, add flags, photos of contacts that match etc.)
// * imageview widget (for large not iconic images)
2008-11-14 21:18:36 -08:00
// * tiled image + zoom widget (tiled map viewer)
// * dialpad widget - need one with a phone dialpad
2009-08-21 06:07:15 -07:00
// * file selector widget - needs look and functionality improvement :)
2009-02-12 05:39:43 -08:00
// * generic "tacho" widget (set min/max labels - and up to 3 intermediate labels etc.)
2009-01-31 15:23:51 -08:00
// * status widget (busy, stalled, running, etc.)
2009-02-08 04:34:58 -08:00
// * full window in window widget (so move/resize of window object does as you'd expect a child window to do within the canvas)
2009-03-14 11:03:19 -07:00
// * window frame widget for borderless windows that want the app to do its own frame (move, resize as well etc.)
2009-07-06 23:46:51 -07:00
//
2008-11-17 17:41:49 -08:00
//// (improvements - low priority)
2009-02-23 03:40:24 -08:00
// * test for all bubble styles
// * test for all frame styles
// * test for all genlist item styles
2009-02-25 03:00:07 -08:00
// * test for all button styles
// * test for all hoversel styles
// * test for all inwin styles
// * test for all anchorblock styles
// * test for all anchorview styles
// * test more layout in layout
// * test normal evas (and edje) objects used as children in elm widgets
2009-02-23 03:40:24 -08:00
// * need a way to attach a "dnd detector" to any object
// * need a dnd handler (able to hook to dnd detector)
2009-01-31 15:23:51 -08:00
// * need another sample theme
2009-01-15 03:34:39 -08:00
// * need a way to set a preferred size of a widget (but not min or max).
2009-01-09 05:58:48 -08:00
// * merge with gurana
2008-12-18 20:26:24 -08:00
// * use evas's new box instead of a box smart
// * use evas's table instead of a table smart
// * use stack for win widget
2009-02-12 05:39:43 -08:00
// * determine prefix of app dynamically and export calls to get prefix info
2009-08-21 06:07:15 -07:00
// * load config from file - currently being done
2009-02-17 20:18:25 -08:00
// * load config from x property
2009-02-12 05:39:43 -08:00
// * handle finger size property and on-the-fly changes like scaling does
2008-12-18 05:38:58 -08:00
// * somehow a pdf(ps) viewer widget that doesnt make it gpl (lgpl)
2009-02-12 05:39:43 -08:00
// * emotion widget
2008-12-18 05:38:58 -08:00
// * ewebkit widget
2009-02-12 05:39:43 -08:00
// * flash (gnash) widget
2009-03-14 11:03:19 -07:00
// * menu bar + menu widget
2008-12-18 00:12:27 -08:00
// * need url and path entry modes for vkbd
2008-12-04 19:20:51 -08:00
// * return list of toplevel window objects
2009-01-31 15:23:51 -08:00
// * focus should have an object that is layered above all others (definable layer) that moves + resizes (slides about - animated) from one focused widget to the next for focus. also emit focus/unfocus signals too
2008-12-17 18:01:36 -08:00
// * scroller could do with page up/down/left/right buttons and and idea of a page size
2008-11-16 21:58:21 -08:00
// * current sizing tree inefficient
// * need a way to filter entry data for entry (eg for phone numbers)
2008-11-18 02:11:57 -08:00
// * win should emit signals based on vkbd type - if it gets a message and is a vkbd win
// * win needs a way of setting aspect too
2009-02-12 05:39:43 -08:00
// * use the wrong call on the wrong widget and *BOOM* ... crashland
2009-07-06 23:46:51 -07:00
//
2008-11-18 22:23:08 -08:00
//////////////////////////////////////////////////////////////////////////////
2008-09-29 23:58:56 -07:00
# endif