2009-08-13 15:41:43 -07:00
# include <Elementary.h>
2010-10-19 11:25:22 -07:00
# ifdef HAVE_CONFIG_H
# include "elementary_config.h"
# endif
2009-09-13 21:21:52 -07:00
# ifndef ELM_LIB_QUICKLAUNCH
2010-05-20 11:00:33 -07:00
/* Hint:
2011-03-28 17:51:56 -07:00
* In this example some calls to elm_genlist_item_append ( ) are used which give the
* value of an int as ' item data ' and ' func data ' after casting into ( void * ) . For
2010-05-20 11:00:33 -07:00
* sure this works only on architectures where sizeof ( int ) = = sizeof ( void * ) .
2011-03-28 17:51:56 -07:00
* For real world usage you should hold a data structure or value in your
2010-05-20 11:00:33 -07:00
* application and then give only a pointer to this data as data pointer .
*/
2009-08-13 15:41:43 -07:00
typedef struct _Testitem
{
Elm_Genlist_Item * item ;
int mode ;
int onoff ;
} Testitem ;
static Elm_Genlist_Item_Class itc1 ;
2010-10-19 11:25:22 -07:00
char * gl_label_get ( void * data , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
char buf [ 256 ] ;
2010-09-24 07:48:15 -07:00
snprintf ( buf , sizeof ( buf ) , " Item # %i " , ( int ) ( long ) data ) ;
2009-08-13 15:41:43 -07:00
return strdup ( buf ) ;
}
2011-01-09 22:46:59 -08:00
Evas_Object * gl_icon_get ( void * data __UNUSED__ , Evas_Object * obj , const char * part )
2009-08-13 15:41:43 -07:00
{
char buf [ PATH_MAX ] ;
Evas_Object * ic = elm_icon_add ( obj ) ;
2011-01-09 22:46:59 -08:00
if ( ! strcmp ( part , " elm.swallow.end " ) )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/bubble.png " , elm_app_data_dir_get ( ) ) ;
2011-01-09 22:46:59 -08:00
else
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/logo_small.png " , elm_app_data_dir_get ( ) ) ;
2009-08-13 15:41:43 -07:00
elm_icon_file_set ( ic , buf , NULL ) ;
evas_object_size_hint_aspect_set ( ic , EVAS_ASPECT_CONTROL_VERTICAL , 1 , 1 ) ;
return ic ;
}
2010-10-19 11:25:22 -07:00
Eina_Bool gl_state_get ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
return EINA_FALSE ;
}
2010-10-19 11:25:22 -07:00
void gl_del ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
}
static void
gl_sel ( void * data , Evas_Object * obj , void * event_info )
{
printf ( " sel item data [%p] on genlist obj [%p], item pointer [%p] \n " , data , obj , event_info ) ;
}
2009-09-22 20:22:07 -07:00
static void
2010-10-19 11:25:22 -07:00
_move ( void * data , Evas * evas __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2009-09-22 20:22:07 -07:00
{
Evas_Object * gl = data ;
Evas_Event_Mouse_Move * ev = event_info ;
int where = 0 ;
Elm_Genlist_Item * gli ;
gli = elm_genlist_at_xy_item_get ( gl , ev - > cur . canvas . x , ev - > cur . canvas . y , & where ) ;
if ( gli )
2011-06-14 21:58:14 -07:00
printf ( " over %p, where %i \n " , elm_genlist_item_data_get ( gli ) , where ) ;
2009-09-22 20:22:07 -07:00
else
2011-06-14 21:58:14 -07:00
printf ( " over none, where %i \n " , where ) ;
2009-09-22 20:22:07 -07:00
}
2009-10-10 08:59:55 -07:00
static void
2010-10-19 11:25:22 -07:00
_bt50_cb ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-10-10 08:59:55 -07:00
{
2011-02-21 07:46:23 -08:00
elm_genlist_item_bring_in ( data ) ;
2009-10-10 08:59:55 -07:00
}
static void
2010-10-19 11:25:22 -07:00
_bt1500_cb ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-10-10 08:59:55 -07:00
{
2011-02-21 07:46:23 -08:00
elm_genlist_item_middle_bring_in ( data ) ;
2009-10-10 08:59:55 -07:00
}
2010-02-10 07:11:16 -08:00
static void
2010-10-19 11:25:22 -07:00
_gl_selected ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2010-02-10 07:11:16 -08:00
{
printf ( " selected: %p \n " , event_info ) ;
}
static void
2011-04-12 10:29:59 -07:00
_gl_double_clicked ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2010-02-10 07:11:16 -08:00
{
2011-04-12 10:29:59 -07:00
printf ( " double clicked: %p \n " , event_info ) ;
2010-02-10 07:11:16 -08:00
}
2010-03-27 18:44:56 -07:00
static void
2010-10-19 11:25:22 -07:00
_gl_longpress ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2010-03-27 18:44:56 -07:00
{
printf ( " longpress %p \n " , event_info ) ;
}
2009-08-13 15:41:43 -07:00
void
2010-10-19 11:25:22 -07:00
test_genlist ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
2009-10-10 08:59:55 -07:00
Evas_Object * win , * bg , * gl , * bt_50 , * bt_1500 , * bx ;
2009-09-22 20:22:07 -07:00
Evas_Object * over ;
2009-08-13 15:41:43 -07:00
Elm_Genlist_Item * gli ;
int i ;
win = elm_win_add ( NULL , " genlist " , ELM_WIN_BASIC ) ;
elm_win_title_set ( win , " Genlist " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2009-08-13 15:41:43 -07:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( bg ) ;
2009-10-10 08:59:55 -07:00
bx = elm_box_add ( win ) ;
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
2009-08-13 15:41:43 -07:00
gl = elm_genlist_add ( win ) ;
2010-02-10 07:11:16 -08:00
evas_object_smart_callback_add ( gl , " selected " , _gl_selected , NULL ) ;
2011-04-12 10:29:59 -07:00
evas_object_smart_callback_add ( gl , " clicked,double " , _gl_double_clicked , NULL ) ;
2010-03-27 18:44:56 -07:00
evas_object_smart_callback_add ( gl , " longpressed " , _gl_longpress , NULL ) ;
2009-11-25 13:14:37 -08:00
// FIXME: This causes genlist to resize the horiz axis very slowly :(
// Reenable this and resize the window horizontally, then try to resize it back
//elm_genlist_horizontal_mode_set(gl, ELM_LIST_LIMIT);
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-10-10 08:59:55 -07:00
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
elm_box_pack_end ( bx , gl ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( gl ) ;
2009-10-10 08:59:55 -07:00
2009-09-22 20:22:07 -07:00
over = evas_object_rectangle_add ( evas_object_evas_get ( win ) ) ;
evas_object_color_set ( over , 0 , 0 , 0 , 0 ) ;
evas_object_event_callback_add ( over , EVAS_CALLBACK_MOUSE_MOVE , _move , gl ) ;
evas_object_repeat_events_set ( over , 1 ) ;
evas_object_show ( over ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( over , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-09-22 20:22:07 -07:00
elm_win_resize_object_add ( win , over ) ;
2009-10-10 08:59:55 -07:00
2009-08-13 15:41:43 -07:00
itc1 . item_style = " default " ;
itc1 . func . label_get = gl_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
2009-10-10 08:59:55 -07:00
bt_50 = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt_50 , " Go to 50 " ) ;
2009-10-10 08:59:55 -07:00
evas_object_show ( bt_50 ) ;
elm_box_pack_end ( bx , bt_50 ) ;
bt_1500 = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt_1500 , " Go to 1500 " ) ;
2009-10-10 08:59:55 -07:00
evas_object_show ( bt_1500 ) ;
elm_box_pack_end ( bx , bt_1500 ) ;
2011-04-27 03:18:08 -07:00
for ( i = 0 ; i < 2000 ; i + + )
2009-08-13 15:41:43 -07:00
{
2010-02-10 07:11:16 -08:00
gli = elm_genlist_item_append ( gl , & itc1 ,
2010-09-24 07:48:15 -07:00
( void * ) ( long ) i /* item data */ ,
2010-02-10 07:11:16 -08:00
NULL /* parent */ ,
ELM_GENLIST_ITEM_NONE ,
gl_sel /* func */ ,
2010-09-24 07:48:15 -07:00
( void * ) ( long ) ( i * 10 ) /* func data */ ) ;
2010-02-10 07:11:16 -08:00
if ( i = = 50 )
2011-06-14 21:58:14 -07:00
evas_object_smart_callback_add ( bt_50 , " clicked " , _bt50_cb , gli ) ;
2010-02-10 07:11:16 -08:00
else if ( i = = 1500 )
2011-06-14 21:58:14 -07:00
evas_object_smart_callback_add ( bt_1500 , " clicked " , _bt1500_cb , gli ) ;
2009-08-13 15:41:43 -07:00
}
evas_object_resize ( win , 480 , 800 ) ;
evas_object_show ( win ) ;
}
/*************/
static void
2010-10-19 11:25:22 -07:00
my_gl_clear ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * gl = data ;
elm_genlist_clear ( gl ) ;
}
static void
2010-10-19 11:25:22 -07:00
my_gl_add ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * gl = data ;
static int i = 0 ;
itc1 . item_style = " default " ;
itc1 . func . label_get = gl_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
2010-10-14 07:10:33 -07:00
elm_genlist_item_append ( gl , & itc1 ,
( void * ) ( long ) i /* item data */ ,
NULL /* parent */ ,
ELM_GENLIST_ITEM_NONE ,
gl_sel /* func */ ,
( void * ) ( long ) ( i * 10 ) /* func data */ ) ;
2009-08-13 15:41:43 -07:00
i + + ;
}
2009-08-20 10:49:04 -07:00
static void
2010-10-19 11:25:22 -07:00
my_gl_insert_before ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-20 10:49:04 -07:00
{
Evas_Object * gl = data ;
static int i = 0 ;
Elm_Genlist_Item * gli_selected ;
itc1 . item_style = " default " ;
itc1 . func . label_get = gl_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
gli_selected = elm_genlist_selected_item_get ( gl ) ;
if ( ! gli_selected )
2011-02-21 07:46:23 -08:00
{
printf ( " no item selected \n " ) ;
return ;
}
2009-08-20 10:49:04 -07:00
2010-10-14 07:10:33 -07:00
elm_genlist_item_insert_before ( gl , & itc1 ,
( void * ) ( long ) i /* item data */ ,
2011-01-04 22:03:43 -08:00
NULL /* parent */ ,
2010-10-14 07:10:33 -07:00
gli_selected /* item before */ ,
ELM_GENLIST_ITEM_NONE ,
gl_sel /* func */ ,
( void * ) ( long ) ( i * 10 ) /* func data */ ) ;
2009-08-20 10:49:04 -07:00
i + + ;
}
static void
2010-10-19 11:25:22 -07:00
my_gl_insert_after ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-20 10:49:04 -07:00
{
Evas_Object * gl = data ;
static int i = 0 ;
Elm_Genlist_Item * gli_selected ;
itc1 . item_style = " default " ;
itc1 . func . label_get = gl_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
gli_selected = elm_genlist_selected_item_get ( gl ) ;
if ( ! gli_selected )
2011-02-21 07:46:23 -08:00
{
printf ( " no item selected \n " ) ;
return ;
}
2009-08-20 10:49:04 -07:00
2010-10-14 07:10:33 -07:00
elm_genlist_item_insert_after ( gl , & itc1 ,
( void * ) ( long ) i /* item data */ ,
2011-01-04 22:03:43 -08:00
NULL /* parent */ ,
2010-10-14 07:10:33 -07:00
gli_selected /* item after */ ,
ELM_GENLIST_ITEM_NONE ,
2011-02-21 07:46:23 -08:00
gl_sel /* func */ ,
( void * ) ( long ) ( i * 10 ) /* func data */ ) ;
2009-08-20 10:49:04 -07:00
i + + ;
}
2009-08-13 15:41:43 -07:00
static void
2010-10-19 11:25:22 -07:00
my_gl_del ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * gl = data ;
Elm_Genlist_Item * gli = elm_genlist_selected_item_get ( gl ) ;
if ( ! gli )
{
2011-02-21 07:46:23 -08:00
printf ( " no item selected \n " ) ;
return ;
2009-08-13 15:41:43 -07:00
}
elm_genlist_item_del ( gli ) ;
}
static void
2010-10-19 11:25:22 -07:00
my_gl_disable ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * gl = data ;
Elm_Genlist_Item * gli = elm_genlist_selected_item_get ( gl ) ;
if ( ! gli )
{
2011-02-21 07:46:23 -08:00
printf ( " no item selected \n " ) ;
return ;
2009-08-13 15:41:43 -07:00
}
elm_genlist_item_disabled_set ( gli , 1 ) ;
elm_genlist_item_selected_set ( gli , 0 ) ;
elm_genlist_item_update ( gli ) ;
}
static void
2010-10-19 11:25:22 -07:00
my_gl_update_all ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * gl = data ;
int i = 0 ;
Elm_Genlist_Item * it = elm_genlist_first_item_get ( gl ) ;
while ( it )
{
2011-02-21 07:46:23 -08:00
elm_genlist_item_update ( it ) ;
printf ( " %i \n " , i ) ;
i + + ;
it = elm_genlist_item_next_get ( it ) ;
2009-08-13 15:41:43 -07:00
}
}
static void
2010-10-19 11:25:22 -07:00
my_gl_first ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * gl = data ;
Elm_Genlist_Item * gli = elm_genlist_first_item_get ( gl ) ;
if ( ! gli ) return ;
elm_genlist_item_show ( gli ) ;
elm_genlist_item_selected_set ( gli , 1 ) ;
}
static void
2010-10-19 11:25:22 -07:00
my_gl_last ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * gl = data ;
Elm_Genlist_Item * gli = elm_genlist_last_item_get ( gl ) ;
if ( ! gli ) return ;
elm_genlist_item_show ( gli ) ;
elm_genlist_item_selected_set ( gli , 1 ) ;
}
2010-06-25 15:28:06 -07:00
static Eina_Bool
2010-10-19 11:25:22 -07:00
my_gl_flush_delay ( void * data __UNUSED__ )
2010-04-12 01:27:10 -07:00
{
elm_all_flush ( ) ;
2010-06-25 15:28:06 -07:00
return ECORE_CALLBACK_CANCEL ;
2010-04-12 01:27:10 -07:00
}
2010-04-04 21:58:43 -07:00
static void
2010-10-19 11:25:22 -07:00
my_gl_flush ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2010-04-04 21:58:43 -07:00
{
2010-04-12 01:27:10 -07:00
ecore_timer_add ( 1.2 , my_gl_flush_delay , NULL ) ;
2010-04-04 21:58:43 -07:00
}
2009-08-13 15:41:43 -07:00
void
2010-10-19 11:25:22 -07:00
test_genlist2 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
2009-08-20 10:49:04 -07:00
Evas_Object * win , * bg , * gl , * bx , * bx2 , * bx3 , * bt ;
2009-08-13 15:41:43 -07:00
Elm_Genlist_Item * gli [ 10 ] ;
char buf [ PATH_MAX ] ;
2011-02-21 07:33:40 -08:00
win = elm_win_add ( NULL , " genlist2 " , ELM_WIN_BASIC ) ;
2009-08-13 15:41:43 -07:00
elm_win_title_set ( win , " Genlist 2 " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2009-08-13 15:41:43 -07:00
bg = elm_bg_add ( win ) ;
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/plant_01.jpg " , elm_app_data_dir_get ( ) ) ;
2009-08-13 15:41:43 -07:00
elm_bg_file_set ( bg , buf , NULL ) ;
elm_win_resize_object_add ( win , bg ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
gl = elm_genlist_add ( win ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( gl ) ;
itc1 . item_style = " default " ;
itc1 . func . label_get = gl_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
gli [ 0 ] = elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 1001 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
( void * ) 1001 /* func data */ ) ;
2009-08-13 15:41:43 -07:00
gli [ 1 ] = elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 1002 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
( void * ) 1002 /* func data */ ) ;
2009-08-13 15:41:43 -07:00
gli [ 2 ] = elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 1003 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
( void * ) 1003 /* func data */ ) ;
2009-08-13 15:41:43 -07:00
gli [ 3 ] = elm_genlist_item_prepend ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 1004 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
( void * ) 1004 /* func data */ ) ;
2009-08-13 15:41:43 -07:00
gli [ 4 ] = elm_genlist_item_prepend ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 1005 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
( void * ) 1005 /* func data */ ) ;
2009-08-13 15:41:43 -07:00
gli [ 5 ] = elm_genlist_item_insert_before ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 1006 /* item data */ , NULL /* parent */ , gli [ 2 ] /* rel */ , ELM_GENLIST_ITEM_NONE ,
gl_sel /* func */ , ( void * ) 1006 /* func data */ ) ;
2009-08-13 15:41:43 -07:00
gli [ 6 ] = elm_genlist_item_insert_after ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 1007 /* item data */ , NULL /* parent */ , gli [ 2 ] /* rel */ , ELM_GENLIST_ITEM_NONE ,
gl_sel /* func */ , ( void * ) 1007 /* func data */ ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx , gl ) ;
bx2 = elm_box_add ( win ) ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx2 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx2 , EINA_TRUE ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx2 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx2 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
2009-08-13 15:41:43 -07:00
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " / \\ " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_first , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " \\ / " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_last , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " # " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_disable , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " U " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update_all , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
elm_box_pack_end ( bx , bx2 ) ;
evas_object_show ( bx2 ) ;
bx2 = elm_box_add ( win ) ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx2 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx2 , EINA_TRUE ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx2 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx2 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
2009-08-13 15:41:43 -07:00
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " X " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_clear , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " + " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_add , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " - " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_del , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
elm_box_pack_end ( bx , bx2 ) ;
evas_object_show ( bx2 ) ;
2009-08-20 10:49:04 -07:00
bx3 = elm_box_add ( win ) ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx3 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx3 , EINA_TRUE ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx3 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx3 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
2009-08-20 10:49:04 -07:00
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " + before " ) ;
2009-08-20 10:49:04 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_insert_before , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-20 10:49:04 -07:00
elm_box_pack_end ( bx3 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " + after " ) ;
2009-08-20 10:49:04 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_insert_after , gl ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-20 10:49:04 -07:00
elm_box_pack_end ( bx3 , bt ) ;
evas_object_show ( bt ) ;
2010-04-04 21:58:43 -07:00
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " Flush " ) ;
2010-04-04 21:58:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_flush , gl ) ;
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
elm_box_pack_end ( bx3 , bt ) ;
evas_object_show ( bt ) ;
2009-08-20 10:49:04 -07:00
elm_box_pack_end ( bx , bx3 ) ;
evas_object_show ( bx3 ) ;
2009-08-13 15:41:43 -07:00
evas_object_resize ( win , 320 , 320 ) ;
evas_object_show ( win ) ;
}
/*************/
static Elm_Genlist_Item_Class itc2 ;
2010-10-19 11:25:22 -07:00
char * gl2_label_get ( void * data , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
2009-12-19 05:55:08 -08:00
const Testitem * tit = data ;
2009-08-13 15:41:43 -07:00
char buf [ 256 ] ;
snprintf ( buf , sizeof ( buf ) , " Item mode %i " , tit - > mode ) ;
return strdup ( buf ) ;
}
2010-09-17 09:34:59 -07:00
Evas_Object * gl2_icon_get ( void * data , Evas_Object * obj , const char * part )
2009-08-13 15:41:43 -07:00
{
2009-12-19 05:55:08 -08:00
const Testitem * tit = data ;
2009-08-13 15:41:43 -07:00
char buf [ PATH_MAX ] ;
Evas_Object * ic = elm_icon_add ( obj ) ;
if ( ! strcmp ( part , " elm.swallow.icon " ) )
{
2011-02-21 07:46:23 -08:00
if ( ! ( tit - > mode & 0x3 ) )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/logo_small.png " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
else if ( ( tit - > mode & 0x3 ) = = 1 )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/logo.png " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
else if ( ( tit - > mode & 0x3 ) = = 2 )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/panel_01.jpg " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
else if ( ( tit - > mode & 0x3 ) = = 3 )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/rock_01.jpg " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
elm_icon_file_set ( ic , buf , NULL ) ;
2009-08-13 15:41:43 -07:00
}
else if ( ! strcmp ( part , " elm.swallow.end " ) )
{
2011-02-21 07:46:23 -08:00
if ( ! ( tit - > mode & 0x3 ) )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/sky_01.jpg " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
else if ( ( tit - > mode & 0x3 ) = = 1 )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/sky_02.jpg " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
else if ( ( tit - > mode & 0x3 ) = = 2 )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/sky_03.jpg " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
else if ( ( tit - > mode & 0x3 ) = = 3 )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/sky_04.jpg " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
elm_icon_file_set ( ic , buf , NULL ) ;
2009-08-13 15:41:43 -07:00
}
evas_object_size_hint_aspect_set ( ic , EVAS_ASPECT_CONTROL_VERTICAL , 1 , 1 ) ;
return ic ;
}
2010-10-19 11:25:22 -07:00
Eina_Bool gl2_state_get ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
return EINA_FALSE ;
}
2010-10-19 11:25:22 -07:00
void gl2_del ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
}
static void
2010-10-19 11:25:22 -07:00
my_gl_update ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Testitem * tit = data ;
tit - > mode + + ;
elm_genlist_item_update ( tit - > item ) ;
}
void
2010-10-19 11:25:22 -07:00
test_genlist3 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * win , * bg , * gl , * bx , * bx2 , * bt ;
static Testitem tit [ 3 ] ;
2011-02-21 07:33:40 -08:00
win = elm_win_add ( NULL , " genlist3 " , ELM_WIN_BASIC ) ;
2009-08-13 15:41:43 -07:00
elm_win_title_set ( win , " Genlist 3 " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2009-08-13 15:41:43 -07:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
gl = elm_genlist_add ( win ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( gl ) ;
itc2 . item_style = " default " ;
itc2 . func . label_get = gl2_label_get ;
itc2 . func . icon_get = gl2_icon_get ;
itc2 . func . state_get = gl2_state_get ;
itc2 . func . del = gl2_del ;
tit [ 0 ] . mode = 0 ;
tit [ 0 ] . item = elm_genlist_item_append ( gl , & itc2 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 0 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
tit [ 1 ] . mode = 1 ;
tit [ 1 ] . item = elm_genlist_item_append ( gl , & itc2 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 1 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
tit [ 2 ] . mode = 2 ;
tit [ 2 ] . item = elm_genlist_item_append ( gl , & itc2 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 2 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx , gl ) ;
2010-03-01 17:27:08 -08:00
evas_object_show ( bx ) ;
2009-08-13 15:41:43 -07:00
bx2 = elm_box_add ( win ) ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx2 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx2 , EINA_TRUE ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx2 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx2 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
2009-08-13 15:41:43 -07:00
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [1] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 0 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [2] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 1 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [3] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 2 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
elm_box_pack_end ( bx , bx2 ) ;
evas_object_show ( bx2 ) ;
evas_object_resize ( win , 320 , 320 ) ;
evas_object_show ( win ) ;
}
/*************/
static void
2010-10-19 11:25:22 -07:00
my_gl_item_check_changed ( void * data , Evas_Object * obj , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Testitem * tit = data ;
tit - > onoff = elm_check_state_get ( obj ) ;
printf ( " item %p onoff = %i \n " , tit , tit - > onoff ) ;
}
static Elm_Genlist_Item_Class itc3 ;
2010-10-19 11:25:22 -07:00
char * gl3_label_get ( void * data , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
2009-12-19 05:55:08 -08:00
const Testitem * tit = data ;
2009-08-13 15:41:43 -07:00
char buf [ 256 ] ;
snprintf ( buf , sizeof ( buf ) , " Item mode %i " , tit - > mode ) ;
return strdup ( buf ) ;
}
2010-09-17 09:34:59 -07:00
Evas_Object * gl3_icon_get ( void * data , Evas_Object * obj , const char * part )
2009-08-13 15:41:43 -07:00
{
2009-12-19 05:55:08 -08:00
const Testitem * tit = data ;
2009-08-13 15:41:43 -07:00
if ( ! strcmp ( part , " elm.swallow.icon " ) )
{
2010-02-01 08:46:26 -08:00
Evas_Object * lb ;
2011-02-21 07:46:23 -08:00
2010-02-01 08:46:26 -08:00
lb = elm_label_add ( obj ) ;
2011-09-29 20:44:46 -07:00
elm_label_line_wrap_set ( lb , ELM_WRAP_CHAR ) ;
2010-02-01 08:46:26 -08:00
elm_label_wrap_width_set ( lb , 201 ) ;
2011-06-28 23:41:31 -07:00
elm_object_text_set ( lb , " ashj ascjscjh n asjkl hcjlh ls hzshnn zjh sh zxjcjsnd h dfw sdv edev efe fwefvv vsd cvs ws wf fvwf wd fwe f we wef we wfe rfwewef wfv wswf wefg sdfws w wsdcfwcf wsc vdv sdsd sdcd cv wsc sdcv wsc d sdcdcsd sdcdsc wdvd sdcsd wscxcv wssvd sd " ) ;
2010-02-01 08:46:26 -08:00
return lb ;
2009-08-13 15:41:43 -07:00
}
else if ( ! strcmp ( part , " elm.swallow.end " ) )
{
2011-02-21 07:46:23 -08:00
Evas_Object * ck ;
ck = elm_check_add ( obj ) ;
2011-06-08 09:58:08 -07:00
evas_object_propagate_events_set ( ck , EINA_FALSE ) ;
2011-02-21 07:46:23 -08:00
elm_check_state_set ( ck , tit - > onoff ) ;
evas_object_smart_callback_add ( ck , " changed " , my_gl_item_check_changed , data ) ;
return ck ;
2009-08-13 15:41:43 -07:00
}
return NULL ;
}
2010-10-19 11:25:22 -07:00
Eina_Bool gl3_state_get ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
return EINA_FALSE ;
}
2010-10-19 11:25:22 -07:00
void gl3_del ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
}
void
2010-10-19 11:25:22 -07:00
test_genlist4 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * win , * bg , * gl , * bx , * bx2 , * bt ;
static Testitem tit [ 3 ] ;
2011-02-21 07:33:40 -08:00
win = elm_win_add ( NULL , " genlist4 " , ELM_WIN_BASIC ) ;
2009-08-13 15:41:43 -07:00
elm_win_title_set ( win , " Genlist 4 " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2009-08-13 15:41:43 -07:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
gl = elm_genlist_add ( win ) ;
2011-06-09 23:18:56 -07:00
elm_genlist_height_for_width_mode_set ( gl , EINA_TRUE ) ;
2009-08-13 15:41:43 -07:00
elm_genlist_multi_select_set ( gl , 1 ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( gl ) ;
itc3 . item_style = " default " ;
itc3 . func . label_get = gl3_label_get ;
itc3 . func . icon_get = gl3_icon_get ;
itc3 . func . state_get = gl3_state_get ;
itc3 . func . del = gl3_del ;
tit [ 0 ] . mode = 0 ;
tit [ 0 ] . item = elm_genlist_item_append ( gl , & itc3 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 0 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
tit [ 1 ] . mode = 1 ;
tit [ 1 ] . item = elm_genlist_item_append ( gl , & itc3 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 1 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
tit [ 2 ] . mode = 2 ;
tit [ 2 ] . item = elm_genlist_item_append ( gl , & itc3 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 2 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx , gl ) ;
2010-03-01 17:27:08 -08:00
evas_object_show ( bx ) ;
2009-08-13 15:41:43 -07:00
bx2 = elm_box_add ( win ) ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx2 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx2 , EINA_TRUE ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx2 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx2 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
2009-08-13 15:41:43 -07:00
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [1] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 0 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [2] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 1 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [3] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 2 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
elm_box_pack_end ( bx , bx2 ) ;
evas_object_show ( bx2 ) ;
evas_object_resize ( win , 320 , 320 ) ;
evas_object_show ( win ) ;
}
/*************/
static void
2010-10-19 11:25:22 -07:00
my_gl_item_check_changed2 ( void * data , Evas_Object * obj , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Testitem * tit = data ;
tit - > onoff = elm_check_state_get ( obj ) ;
printf ( " item %p onoff = %i \n " , tit , tit - > onoff ) ;
}
static Elm_Genlist_Item_Class itc5 ;
2010-10-19 11:25:22 -07:00
char * gl5_label_get ( void * data , Evas_Object * obj __UNUSED__ , const char * part )
2009-08-13 15:41:43 -07:00
{
2009-12-19 05:55:08 -08:00
const Testitem * tit = data ;
2009-08-13 15:41:43 -07:00
char buf [ 256 ] ;
if ( ! strcmp ( part , " elm.text " ) )
{
2011-02-21 07:46:23 -08:00
snprintf ( buf , sizeof ( buf ) , " Item mode %i " , tit - > mode ) ;
2009-08-13 15:41:43 -07:00
}
else if ( ! strcmp ( part , " elm.text.sub " ) )
{
2011-02-21 07:46:23 -08:00
snprintf ( buf , sizeof ( buf ) , " %i bottles on the wall " , tit - > mode ) ;
2009-08-13 15:41:43 -07:00
}
return strdup ( buf ) ;
}
2010-09-17 09:34:59 -07:00
Evas_Object * gl5_icon_get ( void * data , Evas_Object * obj , const char * part )
2009-08-13 15:41:43 -07:00
{
2009-12-19 05:55:08 -08:00
const Testitem * tit = data ;
2009-08-13 15:41:43 -07:00
char buf [ PATH_MAX ] ;
if ( ! strcmp ( part , " elm.swallow.icon " ) )
{
2011-02-21 07:46:23 -08:00
Evas_Object * bx = elm_box_add ( obj ) ;
Evas_Object * ic ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx , EINA_TRUE ) ;
2011-02-21 07:46:23 -08:00
ic = elm_icon_add ( obj ) ;
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/logo_small.png " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
elm_icon_file_set ( ic , buf , NULL ) ;
elm_icon_scale_set ( ic , 0 , 0 ) ;
evas_object_show ( ic ) ;
elm_box_pack_end ( bx , ic ) ;
ic = elm_icon_add ( obj ) ;
elm_icon_file_set ( ic , buf , NULL ) ;
elm_icon_scale_set ( ic , 0 , 0 ) ;
evas_object_show ( ic ) ;
elm_box_pack_end ( bx , ic ) ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx , EINA_TRUE ) ;
2011-02-21 07:46:23 -08:00
evas_object_show ( bx ) ;
return bx ;
2009-08-13 15:41:43 -07:00
}
else if ( ! strcmp ( part , " elm.swallow.end " ) )
{
2011-02-21 07:46:23 -08:00
Evas_Object * ck ;
ck = elm_check_add ( obj ) ;
2011-06-08 09:58:08 -07:00
evas_object_propagate_events_set ( ck , EINA_FALSE ) ;
2011-02-21 07:46:23 -08:00
elm_check_state_set ( ck , tit - > onoff ) ;
evas_object_smart_callback_add ( ck , " changed " , my_gl_item_check_changed2 , data ) ;
evas_object_show ( ck ) ;
return ck ;
2009-08-13 15:41:43 -07:00
}
return NULL ;
}
2010-10-19 11:25:22 -07:00
Eina_Bool gl5_state_get ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
return EINA_FALSE ;
}
2010-10-19 11:25:22 -07:00
void gl5_del ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
}
2009-09-07 23:35:14 -07:00
static void
2010-10-19 11:25:22 -07:00
item_drag_up ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-09-07 23:35:14 -07:00
{
printf ( " drag up \n " ) ;
}
static void
2010-10-19 11:25:22 -07:00
item_drag_down ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-09-07 23:35:14 -07:00
{
printf ( " drag down \n " ) ;
}
static void
2010-10-19 11:25:22 -07:00
item_drag_left ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-09-07 23:35:14 -07:00
{
printf ( " drag left \n " ) ;
}
static void
2010-10-19 11:25:22 -07:00
item_drag_right ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-09-07 23:35:14 -07:00
{
printf ( " drag right \n " ) ;
}
This small patch allows to get a smart callback when the scrollers in an
elm_list or in an elm_genlist fire the edge,{top,bottom,left,right}
signals, backporting them to the list object.
The new smart callbacks called are:
· "scroll,edge,top" - the list is scrolled until the top edge
· "scroll,edge,bottom" - the list is scrolled until the bottom edge
· "scroll,edge,left" - the list is scrolled until the left edge
· "scroll,edge,right" - the list is scrolled until the right edge
SVN revision: 3
SVN revision: 54393
2010-11-09 18:48:59 -08:00
static void
scroll_top ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
printf ( " Top edge! \n " ) ;
}
static void
scroll_bottom ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
printf ( " Bottom edge! \n " ) ;
}
static void
scroll_left ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
printf ( " Left edge! \n " ) ;
}
static void
scroll_right ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
printf ( " Right edge! \n " ) ;
}
2009-09-07 23:35:14 -07:00
static void
2010-10-19 11:25:22 -07:00
item_drag ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-09-07 23:35:14 -07:00
{
printf ( " drag \n " ) ;
}
static void
2010-10-19 11:25:22 -07:00
item_drag_stop ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-09-07 23:35:14 -07:00
{
printf ( " drag stop \n " ) ;
}
2010-02-25 22:30:17 -08:00
static void
2010-10-19 11:25:22 -07:00
item_longpress ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2010-02-25 22:30:17 -08:00
{
printf ( " longpress \n " ) ;
}
2009-08-13 15:41:43 -07:00
void
2010-10-19 11:25:22 -07:00
test_genlist5 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * win , * bg , * gl , * bx , * bx2 , * bt ;
static Testitem tit [ 3 ] ;
2011-02-21 07:33:40 -08:00
win = elm_win_add ( NULL , " genlist5 " , ELM_WIN_BASIC ) ;
2009-08-13 15:41:43 -07:00
elm_win_title_set ( win , " Genlist 5 " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2009-08-13 15:41:43 -07:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
gl = elm_genlist_add ( win ) ;
elm_genlist_always_select_mode_set ( gl , 1 ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( gl ) ;
itc5 . item_style = " double_label " ;
itc5 . func . label_get = gl5_label_get ;
itc5 . func . icon_get = gl5_icon_get ;
itc5 . func . state_get = gl5_state_get ;
itc5 . func . del = gl5_del ;
tit [ 0 ] . mode = 0 ;
tit [ 0 ] . item = elm_genlist_item_append ( gl , & itc5 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 0 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
tit [ 1 ] . mode = 1 ;
tit [ 1 ] . item = elm_genlist_item_append ( gl , & itc5 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 1 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
tit [ 2 ] . mode = 2 ;
tit [ 2 ] . item = elm_genlist_item_append ( gl , & itc5 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 2 ] ) /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx , gl ) ;
2010-03-01 17:27:08 -08:00
evas_object_show ( bx ) ;
2009-10-10 08:59:55 -07:00
2009-09-07 23:35:14 -07:00
evas_object_smart_callback_add ( gl , " drag,start,up " , item_drag_up , NULL ) ;
evas_object_smart_callback_add ( gl , " drag,start,down " , item_drag_down , NULL ) ;
evas_object_smart_callback_add ( gl , " drag,start,left " , item_drag_left , NULL ) ;
evas_object_smart_callback_add ( gl , " drag,start,right " , item_drag_right , NULL ) ;
This small patch allows to get a smart callback when the scrollers in an
elm_list or in an elm_genlist fire the edge,{top,bottom,left,right}
signals, backporting them to the list object.
The new smart callbacks called are:
· "scroll,edge,top" - the list is scrolled until the top edge
· "scroll,edge,bottom" - the list is scrolled until the bottom edge
· "scroll,edge,left" - the list is scrolled until the left edge
· "scroll,edge,right" - the list is scrolled until the right edge
SVN revision: 3
SVN revision: 54393
2010-11-09 18:48:59 -08:00
evas_object_smart_callback_add ( gl , " scroll,edge,top " , scroll_top , NULL ) ;
evas_object_smart_callback_add ( gl , " scroll,edge,bottom " , scroll_bottom , NULL ) ;
evas_object_smart_callback_add ( gl , " scroll,edge,left " , scroll_left , NULL ) ;
evas_object_smart_callback_add ( gl , " scroll,edge,right " , scroll_right , NULL ) ;
2009-09-07 23:35:14 -07:00
evas_object_smart_callback_add ( gl , " drag " , item_drag , NULL ) ;
evas_object_smart_callback_add ( gl , " drag,stop " , item_drag_stop , NULL ) ;
2010-02-25 22:30:17 -08:00
evas_object_smart_callback_add ( gl , " longpressed " , item_longpress , NULL ) ;
2009-08-13 15:41:43 -07:00
bx2 = elm_box_add ( win ) ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx2 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx2 , EINA_TRUE ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx2 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx2 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
2009-08-13 15:41:43 -07:00
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [1] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 0 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [2] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 1 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [3] " ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( bt , " clicked " , my_gl_update , & ( tit [ 2 ] ) ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
elm_box_pack_end ( bx , bx2 ) ;
evas_object_show ( bx2 ) ;
evas_object_resize ( win , 320 , 320 ) ;
evas_object_show ( win ) ;
}
/*************/
static Elm_Genlist_Item_Class itc4 ;
static void
2010-10-19 11:25:22 -07:00
gl4_sel ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2009-08-13 15:41:43 -07:00
{
2010-10-07 00:30:44 -07:00
Elm_Genlist_Item * it = ( Elm_Genlist_Item * ) event_info ;
int depth = 0 ;
depth = elm_genlist_item_expanded_depth_get ( it ) ;
printf ( " expanded depth for selected item is %d \n " , depth ) ;
2009-08-13 15:41:43 -07:00
}
static void
2010-10-19 11:25:22 -07:00
gl4_exp ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2009-08-13 15:41:43 -07:00
{
Elm_Genlist_Item * it = event_info ;
Evas_Object * gl = elm_genlist_item_genlist_get ( it ) ;
2010-09-24 07:48:15 -07:00
int val = ( int ) ( long ) elm_genlist_item_data_get ( it ) ;
2009-08-13 15:41:43 -07:00
val * = 10 ;
elm_genlist_item_append ( gl , & itc4 ,
2011-02-21 07:46:23 -08:00
( void * ) ( long ) ( val + 1 ) /* item data */ , it /* parent */ ,
2010-09-24 07:48:15 -07:00
ELM_GENLIST_ITEM_NONE , gl4_sel /* func */ ,
2011-02-21 07:46:23 -08:00
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
elm_genlist_item_append ( gl , & itc4 ,
2011-02-21 07:46:23 -08:00
( void * ) ( long ) ( val + 2 ) /* item data */ , it /* parent */ ,
2010-09-24 07:48:15 -07:00
ELM_GENLIST_ITEM_NONE , gl4_sel /* func */ ,
2011-02-21 07:46:23 -08:00
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
elm_genlist_item_append ( gl , & itc4 ,
2011-02-21 07:46:23 -08:00
( void * ) ( long ) ( val + 3 ) /* item data */ , it /* parent */ ,
2010-09-24 07:48:15 -07:00
ELM_GENLIST_ITEM_SUBITEMS , gl4_sel /* func */ ,
2011-02-21 07:46:23 -08:00
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
}
static void
2010-10-19 11:25:22 -07:00
gl4_con ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2009-08-13 15:41:43 -07:00
{
Elm_Genlist_Item * it = event_info ;
elm_genlist_item_subitems_clear ( it ) ;
}
static void
2010-10-19 11:25:22 -07:00
gl4_exp_req ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2009-08-13 15:41:43 -07:00
{
Elm_Genlist_Item * it = event_info ;
elm_genlist_item_expanded_set ( it , 1 ) ;
}
static void
2010-10-19 11:25:22 -07:00
gl4_con_req ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
2009-08-13 15:41:43 -07:00
{
Elm_Genlist_Item * it = event_info ;
elm_genlist_item_expanded_set ( it , 0 ) ;
}
2010-10-19 11:25:22 -07:00
char * gl4_label_get ( void * data , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
char buf [ 256 ] ;
2010-09-24 07:48:15 -07:00
snprintf ( buf , sizeof ( buf ) , " Item mode %i " , ( int ) ( long ) data ) ;
2009-08-13 15:41:43 -07:00
return strdup ( buf ) ;
}
2010-10-19 11:25:22 -07:00
Evas_Object * gl4_icon_get ( void * data __UNUSED__ , Evas_Object * obj , const char * part )
2009-08-13 15:41:43 -07:00
{
char buf [ PATH_MAX ] ;
if ( ! strcmp ( part , " elm.swallow.icon " ) )
{
2011-02-21 07:46:23 -08:00
Evas_Object * ic = elm_icon_add ( obj ) ;
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/logo_small.png " , elm_app_data_dir_get ( ) ) ;
2011-02-21 07:46:23 -08:00
elm_icon_file_set ( ic , buf , NULL ) ;
evas_object_size_hint_aspect_set ( ic , EVAS_ASPECT_CONTROL_VERTICAL , 1 , 1 ) ;
evas_object_show ( ic ) ;
return ic ;
2009-08-13 15:41:43 -07:00
}
else if ( ! strcmp ( part , " elm.swallow.end " ) )
{
2011-02-21 07:46:23 -08:00
Evas_Object * ck ;
ck = elm_check_add ( obj ) ;
2011-06-08 09:58:08 -07:00
evas_object_propagate_events_set ( ck , EINA_FALSE ) ;
2011-02-21 07:46:23 -08:00
evas_object_show ( ck ) ;
return ck ;
2009-08-13 15:41:43 -07:00
}
return NULL ;
}
2010-10-19 11:25:22 -07:00
Eina_Bool gl4_state_get ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
return EINA_FALSE ;
}
2010-10-19 11:25:22 -07:00
void gl4_del ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
}
void
2010-10-19 11:25:22 -07:00
test_genlist6 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2009-08-13 15:41:43 -07:00
{
Evas_Object * win , * bg , * gl , * bx , * bx2 , * bt ;
win = elm_win_add ( NULL , " genlist-tree " , ELM_WIN_BASIC ) ;
elm_win_title_set ( win , " Genlist Tree " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2009-08-13 15:41:43 -07:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
gl = elm_genlist_add ( win ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
2009-08-13 15:41:43 -07:00
evas_object_show ( gl ) ;
itc4 . item_style = " default " ;
itc4 . func . label_get = gl4_label_get ;
itc4 . func . icon_get = gl4_icon_get ;
itc4 . func . state_get = gl4_state_get ;
itc4 . func . del = gl4_del ;
elm_genlist_item_append ( gl , & itc4 ,
2011-02-21 07:46:23 -08:00
( void * ) 1 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_SUBITEMS , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
elm_genlist_item_append ( gl , & itc4 ,
2011-02-21 07:46:23 -08:00
( void * ) 2 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_SUBITEMS , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
elm_genlist_item_append ( gl , & itc4 ,
2011-02-21 07:46:23 -08:00
( void * ) 3 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_NONE , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2009-08-13 15:41:43 -07:00
evas_object_smart_callback_add ( gl , " expand,request " , gl4_exp_req , gl ) ;
evas_object_smart_callback_add ( gl , " contract,request " , gl4_con_req , gl ) ;
evas_object_smart_callback_add ( gl , " expanded " , gl4_exp , gl ) ;
evas_object_smart_callback_add ( gl , " contracted " , gl4_con , gl ) ;
elm_box_pack_end ( bx , gl ) ;
2010-03-01 17:27:08 -08:00
evas_object_show ( bx ) ;
2009-08-13 15:41:43 -07:00
bx2 = elm_box_add ( win ) ;
2011-04-15 04:44:05 -07:00
elm_box_horizontal_set ( bx2 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx2 , EINA_TRUE ) ;
2009-09-28 12:23:33 -07:00
evas_object_size_hint_weight_set ( bx2 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx2 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
2009-08-13 15:41:43 -07:00
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [1] " ) ;
2011-02-21 07:46:23 -08:00
// evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[0]));
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [2] " ) ;
2011-02-21 07:46:23 -08:00
// evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[1]));
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
bt = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt , " [3] " ) ;
2011-02-21 07:46:23 -08:00
// evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[2]));
2009-09-28 12:23:33 -07:00
evas_object_size_hint_align_set ( bt , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt , EVAS_HINT_EXPAND , 0.0 ) ;
2009-08-13 15:41:43 -07:00
elm_box_pack_end ( bx2 , bt ) ;
evas_object_show ( bt ) ;
elm_box_pack_end ( bx , bx2 ) ;
evas_object_show ( bx2 ) ;
evas_object_resize ( win , 320 , 320 ) ;
evas_object_show ( win ) ;
}
2010-10-15 04:24:46 -07:00
/*************/
struct genlist7_data
{
2011-02-21 07:46:23 -08:00
Evas_Object * win , * pager ;
2010-10-15 04:24:46 -07:00
} ;
2010-11-17 09:15:28 -08:00
static Elm_Genlist_Item_Class itc7 ;
static void
gl_sel7 ( void * data , Evas_Object * obj , void * event_info )
{
if ( ! event_info ) return ;
elm_genlist_item_item_class_update ( event_info , & itc7 ) ;
printf ( " sel item data [%p] on genlist obj [%p], item pointer [%p], new item style [%s] \n " , data , obj , event_info , itc7 . item_style ) ;
}
2010-10-15 04:24:46 -07:00
static void
2010-10-19 11:25:22 -07:00
test_genlist7_back_cb ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2010-10-15 04:24:46 -07:00
{
2011-02-21 07:46:23 -08:00
struct genlist7_data * info = data ;
if ( ! info ) return ;
2010-10-15 04:24:46 -07:00
2011-02-21 07:46:23 -08:00
elm_pager_content_pop ( info - > pager ) ;
2010-10-15 04:24:46 -07:00
}
static void
2010-10-19 11:25:22 -07:00
test_genlist7_swipe ( void * data , Evas_Object * obj __UNUSED__ , void * event_info )
2010-10-15 04:24:46 -07:00
{
struct genlist7_data * info = data ;
Evas_Object * box , * entry , * button ;
char item_data [ ] = " Just a simple test " ;
2010-10-22 14:41:22 -07:00
if ( ( ! event_info ) | | ( ! data ) ) return ;
2010-10-15 04:24:46 -07:00
box = elm_box_add ( info - > win ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( box , EINA_FALSE ) ;
2010-10-15 04:24:46 -07:00
evas_object_size_hint_weight_set ( box , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_size_hint_align_set ( box , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_show ( box ) ;
2011-06-17 02:44:31 -07:00
entry = elm_entry_add ( info - > win ) ;
elm_entry_scrollable_set ( entry , EINA_TRUE ) ;
elm_entry_editable_set ( entry , EINA_FALSE ) ;
elm_entry_entry_set ( entry , item_data ) ;
2010-10-15 04:24:46 -07:00
evas_object_size_hint_weight_set ( entry , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_size_hint_align_set ( entry , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_show ( entry ) ;
button = elm_button_add ( info - > win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( button , " back " ) ;
2010-10-15 04:24:46 -07:00
evas_object_size_hint_weight_set ( button , EVAS_HINT_EXPAND , 0 ) ;
evas_object_size_hint_align_set ( button , EVAS_HINT_FILL , 0 ) ;
evas_object_smart_callback_add ( button , " clicked " , test_genlist7_back_cb ,
info ) ;
evas_object_show ( button ) ;
elm_box_pack_start ( box , entry ) ;
elm_box_pack_end ( box , button ) ;
elm_pager_content_push ( info - > pager , box ) ;
}
void
2010-10-19 11:25:22 -07:00
test_genlist7 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
2010-10-15 04:24:46 -07:00
{
2010-10-19 07:17:06 -07:00
Evas_Object * win , * bg , * gl , * pager ;
2010-10-15 04:24:46 -07:00
static struct genlist7_data info ;
static Testitem tit [ 3 ] ;
2011-02-21 07:33:40 -08:00
win = elm_win_add ( NULL , " genlist7 " , ELM_WIN_BASIC ) ;
2010-10-19 04:02:55 -07:00
elm_win_title_set ( win , " Genlist 7 " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2010-10-15 04:24:46 -07:00
info . win = win ;
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_show ( bg ) ;
pager = elm_pager_add ( win ) ;
elm_win_resize_object_add ( win , pager ) ;
evas_object_size_hint_weight_set ( pager , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_size_hint_align_set ( pager , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_show ( pager ) ;
info . pager = pager ;
gl = elm_genlist_add ( win ) ;
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_smart_callback_add ( gl , " swipe " , test_genlist7_swipe , & info ) ;
evas_object_show ( gl ) ;
elm_pager_content_push ( pager , gl ) ;
itc2 . item_style = " default " ;
itc2 . func . label_get = gl2_label_get ;
itc2 . func . icon_get = gl2_icon_get ;
itc2 . func . state_get = gl2_state_get ;
itc2 . func . del = gl2_del ;
2010-11-17 09:15:28 -08:00
itc7 . item_style = " double_label " ;
itc7 . func . label_get = gl5_label_get ;
itc7 . func . icon_get = gl5_icon_get ;
itc7 . func . state_get = gl5_state_get ;
itc7 . func . del = gl5_del ;
2010-10-15 04:24:46 -07:00
tit [ 0 ] . mode = 0 ;
tit [ 0 ] . item = elm_genlist_item_append ( gl , & itc2 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 0 ] ) /* item data */ , NULL /* parent */ ,
2010-11-17 09:15:28 -08:00
ELM_GENLIST_ITEM_NONE , gl_sel7 /* func */ ,
2011-02-21 07:46:23 -08:00
NULL /* func data */ ) ;
2010-10-15 04:24:46 -07:00
tit [ 1 ] . mode = 1 ;
tit [ 1 ] . item = elm_genlist_item_append ( gl , & itc2 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 1 ] ) /* item data */ , NULL /* parent */ ,
2010-11-17 09:15:28 -08:00
ELM_GENLIST_ITEM_NONE , gl_sel7 /* func */ ,
2011-02-21 07:46:23 -08:00
NULL /* func data */ ) ;
2010-10-15 04:24:46 -07:00
tit [ 2 ] . mode = 2 ;
tit [ 2 ] . item = elm_genlist_item_append ( gl , & itc2 ,
2011-02-21 07:46:23 -08:00
& ( tit [ 2 ] ) /* item data */ , NULL /* parent */ ,
2010-11-17 09:15:28 -08:00
ELM_GENLIST_ITEM_NONE , gl_sel7 /* func */ ,
2011-02-21 07:46:23 -08:00
NULL /* func data */ ) ;
2010-10-15 04:24:46 -07:00
evas_object_resize ( win , 320 , 320 ) ;
evas_object_show ( win ) ;
}
2011-01-05 21:13:11 -08:00
/*************/
static Elm_Genlist_Item_Class itc_group ;
char * gl8_label_get ( void * data , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
{
char buf [ 256 ] ;
snprintf ( buf , sizeof ( buf ) , " Group Index # %i (Item # %i) " , ( int ) ( ( long ) data / 10 ) , ( int ) ( long ) data ) ;
return strdup ( buf ) ;
}
static void
_bt_show_cb ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
2011-02-21 07:46:23 -08:00
elm_genlist_item_top_show ( data ) ;
//elm_genlist_item_show(data);
//elm_genlist_item_middle_show(data);
2011-01-05 21:13:11 -08:00
}
static void
_bt_bring_cb ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
2011-02-21 07:46:23 -08:00
elm_genlist_item_top_bring_in ( data ) ;
//elm_genlist_item_bring_in(data);
//elm_genlist_item_middle_bring_in(data);
2011-01-05 21:13:11 -08:00
}
void
test_genlist8 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
Evas_Object * win , * bg , * gl , * bt [ 8 ] , * bx , * bx2 , * bx3 ;
Elm_Genlist_Item * gli = NULL , * git = NULL ;
int i , bt_count , bt_num ;
win = elm_win_add ( NULL , " genlist-group " , ELM_WIN_BASIC ) ;
elm_win_title_set ( win , " Genlist Group " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2011-01-05 21:13:11 -08:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
gl = elm_genlist_add ( win ) ;
evas_object_smart_callback_add ( gl , " selected " , _gl_selected , NULL ) ;
2011-04-12 10:29:59 -07:00
evas_object_smart_callback_add ( gl , " clicked,double " , _gl_double_clicked , NULL ) ;
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( gl , " longpressed " , _gl_longpress , NULL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
elm_box_pack_end ( bx , gl ) ;
evas_object_show ( gl ) ;
itc1 . item_style = " default " ;
itc1 . func . label_get = gl_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
itc_group . item_style = " group_index " ;
itc_group . func . label_get = gl8_label_get ;
itc_group . func . icon_get = NULL ;
itc_group . func . state_get = NULL ;
itc_group . func . del = gl_del ;
bx2 = elm_box_add ( win ) ;
elm_box_horizontal_set ( bx2 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx2 , EINA_TRUE ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_weight_set ( bx2 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx2 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
bt_num = 0 ;
bt [ bt_num ] = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt [ bt_num ] , " Show 0 " ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_align_set ( bt [ bt_num ] , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt [ bt_num ] , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_show ( bt [ bt_num ] ) ;
elm_box_pack_end ( bx2 , bt [ bt_num ] ) ;
bt [ + + bt_num ] = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt [ bt_num ] , " Show 26 " ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_align_set ( bt [ bt_num ] , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt [ bt_num ] , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_show ( bt [ bt_num ] ) ;
elm_box_pack_end ( bx2 , bt [ bt_num ] ) ;
bt [ + + bt_num ] = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt [ bt_num ] , " Show 101 " ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_align_set ( bt [ bt_num ] , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt [ bt_num ] , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_show ( bt [ bt_num ] ) ;
elm_box_pack_end ( bx2 , bt [ bt_num ] ) ;
bt [ + + bt_num ] = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt [ bt_num ] , " Show 480 " ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_align_set ( bt [ bt_num ] , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt [ bt_num ] , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_show ( bt [ bt_num ] ) ;
elm_box_pack_end ( bx2 , bt [ bt_num ] ) ;
elm_box_pack_end ( bx , bx2 ) ;
evas_object_show ( bx2 ) ;
bx3 = elm_box_add ( win ) ;
elm_box_horizontal_set ( bx3 , EINA_TRUE ) ;
2011-05-03 21:53:39 -07:00
elm_box_homogeneous_set ( bx3 , EINA_TRUE ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_weight_set ( bx3 , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_size_hint_align_set ( bx3 , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
bt [ + + bt_num ] = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt [ bt_num ] , " Bring top 0 " ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_align_set ( bt [ bt_num ] , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt [ bt_num ] , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_show ( bt [ bt_num ] ) ;
elm_box_pack_end ( bx3 , bt [ bt_num ] ) ;
bt [ + + bt_num ] = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt [ bt_num ] , " Bring top 31 " ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_align_set ( bt [ bt_num ] , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt [ bt_num ] , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_show ( bt [ bt_num ] ) ;
elm_box_pack_end ( bx3 , bt [ bt_num ] ) ;
bt [ + + bt_num ] = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt [ bt_num ] , " Bring top 239 " ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_align_set ( bt [ bt_num ] , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt [ bt_num ] , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_show ( bt [ bt_num ] ) ;
elm_box_pack_end ( bx3 , bt [ bt_num ] ) ;
bt [ + + bt_num ] = elm_button_add ( win ) ;
2011-06-29 00:11:54 -07:00
elm_object_text_set ( bt [ bt_num ] , " Bring top 477 " ) ;
2011-01-05 21:13:11 -08:00
evas_object_size_hint_align_set ( bt [ bt_num ] , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( bt [ bt_num ] , EVAS_HINT_EXPAND , 0.0 ) ;
evas_object_show ( bt [ bt_num ] ) ;
elm_box_pack_end ( bx3 , bt [ bt_num ] ) ;
elm_box_pack_end ( bx , bx3 ) ;
evas_object_show ( bx3 ) ;
bt_count = 0 ;
for ( i = 0 ; i < 500 ; i + + )
{
if ( ! ( i % 10 ) )
{
gli = git = elm_genlist_item_append ( gl , & itc_group ,
2011-02-21 07:46:23 -08:00
( void * ) ( long ) i /* item data */ ,
NULL /* parent */ ,
ELM_GENLIST_ITEM_GROUP ,
gl_sel /* func */ ,
( void * ) ( long ) ( i * 10 ) /* func data */ ) ;
2011-02-21 08:31:32 -08:00
elm_genlist_item_display_only_set ( git , EINA_TRUE ) ;
2011-01-05 21:13:11 -08:00
}
else if ( git )
{
gli = elm_genlist_item_append ( gl , & itc1 ,
( void * ) ( long ) i /* item data */ ,
git /* parent */ ,
ELM_GENLIST_ITEM_NONE ,
gl_sel /* func */ ,
( void * ) ( long ) ( i * 10 ) /* func data */ ) ;
}
switch ( i )
{
2011-03-28 17:51:56 -07:00
case 0 :
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( bt [ 0 ] , " clicked " , _bt_show_cb , gli ) ;
evas_object_smart_callback_add ( bt [ 4 ] , " clicked " , _bt_bring_cb , gli ) ;
break ;
2011-03-28 17:51:56 -07:00
case 26 :
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( bt [ 1 ] , " clicked " , _bt_show_cb , gli ) ;
break ;
2011-03-28 17:51:56 -07:00
case 31 :
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( bt [ 5 ] , " clicked " , _bt_bring_cb , gli ) ;
break ;
2011-03-28 17:51:56 -07:00
case 101 :
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( bt [ 2 ] , " clicked " , _bt_show_cb , gli ) ;
break ;
2011-03-28 17:51:56 -07:00
case 239 :
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( bt [ 6 ] , " clicked " , _bt_bring_cb , gli ) ;
break ;
2011-03-28 17:51:56 -07:00
case 477 :
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( bt [ 7 ] , " clicked " , _bt_bring_cb , gli ) ;
break ;
2011-03-28 17:51:56 -07:00
case 480 :
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( bt [ 3 ] , " clicked " , _bt_show_cb , gli ) ;
break ;
}
}
evas_object_resize ( win , 480 , 800 ) ;
evas_object_show ( win ) ;
}
/*************/
static void
gl9_exp ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
{
Elm_Genlist_Item * it = event_info ;
Evas_Object * gl = elm_genlist_item_genlist_get ( it ) ;
int val = ( int ) ( long ) elm_genlist_item_data_get ( it ) ;
val * = 10 ;
elm_genlist_item_append ( gl , & itc1 ,
( void * ) ( long ) ( val + 1 ) /* item data */ , it /* parent */ ,
ELM_GENLIST_ITEM_NONE , gl4_sel /* func */ ,
NULL /* func data */ ) ;
elm_genlist_item_append ( gl , & itc1 ,
( void * ) ( long ) ( val + 2 ) /* item data */ , it /* parent */ ,
ELM_GENLIST_ITEM_NONE , gl4_sel /* func */ ,
NULL /* func data */ ) ;
elm_genlist_item_append ( gl , & itc1 ,
( void * ) ( long ) ( val + 3 ) /* item data */ , it /* parent */ ,
ELM_GENLIST_ITEM_SUBITEMS , gl4_sel /* func */ ,
NULL /* func data */ ) ;
}
static void
gl9_con ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
{
Elm_Genlist_Item * it = event_info ;
elm_genlist_item_subitems_clear ( it ) ;
}
static void
gl9_exp_req ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
{
Elm_Genlist_Item * it = event_info ;
elm_genlist_item_expanded_set ( it , EINA_TRUE ) ;
}
static void
gl9_con_req ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info )
{
Elm_Genlist_Item * it = event_info ;
elm_genlist_item_expanded_set ( it , EINA_FALSE ) ;
}
void
test_genlist9 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
Evas_Object * win , * bg , * gl , * bx ;
Elm_Genlist_Item * git ;
win = elm_win_add ( NULL , " genlist-group-tree " , ELM_WIN_BASIC ) ;
elm_win_title_set ( win , " Genlist Group Tree " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2011-01-05 21:13:11 -08:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
gl = elm_genlist_add ( win ) ;
evas_object_smart_callback_add ( gl , " selected " , _gl_selected , NULL ) ;
2011-04-12 10:29:59 -07:00
evas_object_smart_callback_add ( gl , " clicked,double " , _gl_double_clicked , NULL ) ;
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( gl , " longpressed " , _gl_longpress , NULL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
elm_box_pack_end ( bx , gl ) ;
evas_object_show ( gl ) ;
itc1 . item_style = " default " ;
itc1 . func . label_get = gl_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
itc_group . item_style = " group_index " ;
itc_group . func . label_get = gl8_label_get ;
itc_group . func . icon_get = NULL ;
itc_group . func . state_get = NULL ;
itc_group . func . del = gl_del ;
git = elm_genlist_item_append ( gl , & itc_group ,
2011-02-21 07:46:23 -08:00
( void * ) 0 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_GROUP , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2011-02-21 08:31:32 -08:00
elm_genlist_item_display_only_set ( git , EINA_TRUE ) ;
2011-01-05 21:13:11 -08:00
elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 1 /* item data */ , git /* parent */ , ELM_GENLIST_ITEM_SUBITEMS , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2011-01-05 21:13:11 -08:00
elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 2 /* item data */ , git /* parent */ , ELM_GENLIST_ITEM_NONE , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2011-01-05 21:13:11 -08:00
elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 3 /* item data */ , git /* parent */ , ELM_GENLIST_ITEM_SUBITEMS , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2011-01-05 21:13:11 -08:00
git = elm_genlist_item_append ( gl , & itc_group ,
2011-02-21 07:46:23 -08:00
( void * ) 4 /* item data */ , NULL /* parent */ , ELM_GENLIST_ITEM_GROUP , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2011-02-21 08:31:32 -08:00
elm_genlist_item_display_only_set ( git , EINA_TRUE ) ;
2011-01-05 21:13:11 -08:00
elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 5 /* item data */ , git /* parent */ , ELM_GENLIST_ITEM_SUBITEMS , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2011-01-05 21:13:11 -08:00
elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 6 /* item data */ , git /* parent */ , ELM_GENLIST_ITEM_NONE , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2011-01-05 21:13:11 -08:00
elm_genlist_item_append ( gl , & itc1 ,
2011-02-21 07:46:23 -08:00
( void * ) 7 /* item data */ , git /* parent */ , ELM_GENLIST_ITEM_SUBITEMS , gl4_sel /* func */ ,
NULL /* func data */ ) ;
2011-01-05 21:13:11 -08:00
evas_object_smart_callback_add ( gl , " expand,request " , gl9_exp_req , gl ) ;
evas_object_smart_callback_add ( gl , " contract,request " , gl9_con_req , gl ) ;
evas_object_smart_callback_add ( gl , " expanded " , gl9_exp , gl ) ;
evas_object_smart_callback_add ( gl , " contracted " , gl9_con , gl ) ;
evas_object_resize ( win , 480 , 800 ) ;
evas_object_show ( win ) ;
}
2011-04-21 04:47:36 -07:00
/*************/
static Elm_Genlist_Item_Class itc10 ;
static char * mode_type [ ] = { " slide " , " rotate " } ;
char * gl10_label_get ( void * data , Evas_Object * obj __UNUSED__ , const char * part )
{
char buf [ 256 ] ;
if ( ! strcmp ( part , " elm.text.mode " ) )
snprintf ( buf , sizeof ( buf ) , " Mode # %i " , ( int ) ( long ) data ) ;
else
snprintf ( buf , sizeof ( buf ) , " Item # %i " , ( int ) ( long ) data ) ;
return strdup ( buf ) ;
}
Evas_Object * gl10_icon_get ( void * data __UNUSED__ , Evas_Object * obj , const char * part )
{
char buf [ PATH_MAX ] ;
Evas_Object * ic = elm_icon_add ( obj ) ;
if ( ! strcmp ( part , " elm.swallow.end " ) )
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/bubble.png " , elm_app_data_dir_get ( ) ) ;
2011-04-21 04:47:36 -07:00
else
2011-08-25 03:01:59 -07:00
snprintf ( buf , sizeof ( buf ) , " %s/images/logo_small.png " , elm_app_data_dir_get ( ) ) ;
2011-04-21 04:47:36 -07:00
elm_icon_file_set ( ic , buf , NULL ) ;
evas_object_size_hint_aspect_set ( ic , EVAS_ASPECT_CONTROL_VERTICAL , 1 , 1 ) ;
return ic ;
}
static void
_gl_sel10 ( void * data , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
if ( ! data ) return ;
int v = elm_radio_value_get ( data ) ;
if ( v = = 1 )
elm_genlist_item_mode_set ( event_info , mode_type [ v ] , EINA_TRUE ) ;
}
static void
_my_gl_mode_right ( void * data , Evas_Object * obj __UNUSED__ , void * event_info )
{
if ( ! data ) return ;
int v = elm_radio_value_get ( data ) ;
if ( v = = 0 )
elm_genlist_item_mode_set ( event_info , mode_type [ v ] , EINA_TRUE ) ;
}
static void
_my_gl_mode_left ( void * data , Evas_Object * obj __UNUSED__ , void * event_info )
{
if ( ! data ) return ;
int v = elm_radio_value_get ( data ) ;
if ( v = = 0 )
elm_genlist_item_mode_set ( event_info , mode_type [ v ] , EINA_FALSE ) ;
}
static void
_my_gl_mode_cancel ( void * data , Evas_Object * obj , void * event_info __UNUSED__ )
{
fprintf ( stderr , " drag \n " ) ;
if ( ! data ) return ;
int v = elm_radio_value_get ( data ) ;
Elm_Genlist_Item * it = ( Elm_Genlist_Item * ) elm_genlist_mode_item_get ( obj ) ;
if ( it )
elm_genlist_item_mode_set ( it , mode_type [ v ] , EINA_FALSE ) ;
}
void
test_genlist10 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
Evas_Object * win , * bg , * fr , * lb , * bx , * bx2 , * bx3 , * rd , * rdg , * gl ;
int i ;
win = elm_win_add ( NULL , " genlist10 " , ELM_WIN_BASIC ) ;
elm_win_title_set ( win , " Genlist Mode " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2011-04-21 04:47:36 -07:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
fr = elm_frame_add ( win ) ;
2011-06-29 02:11:48 -07:00
elm_object_text_set ( fr , " Mode Type " ) ;
2011-04-21 04:47:36 -07:00
elm_box_pack_end ( bx , fr ) ;
evas_object_show ( fr ) ;
bx2 = elm_box_add ( win ) ;
elm_frame_content_set ( fr , bx2 ) ;
evas_object_show ( bx2 ) ;
lb = elm_label_add ( win ) ;
2011-06-28 23:41:31 -07:00
elm_object_text_set ( lb ,
2011-04-21 04:47:36 -07:00
" Sweep genlist items to the right.<br> "
" Test this by changing Mode Type to Slide or Rotate. " ) ;
elm_box_pack_end ( bx2 , lb ) ;
evas_object_show ( lb ) ;
bx3 = elm_box_add ( win ) ;
elm_box_horizontal_set ( bx3 , EINA_TRUE ) ;
elm_box_pack_end ( bx2 , bx3 ) ;
evas_object_show ( bx3 ) ;
rd = elm_radio_add ( win ) ;
evas_object_size_hint_weight_set ( rd , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
elm_radio_state_value_set ( rd , 0 ) ;
2011-07-04 03:13:46 -07:00
elm_object_text_set ( rd , " Slide " ) ;
2011-04-21 04:47:36 -07:00
evas_object_show ( rd ) ;
elm_box_pack_end ( bx3 , rd ) ;
rdg = rd ;
rd = elm_radio_add ( win ) ;
evas_object_size_hint_weight_set ( rd , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
elm_radio_state_value_set ( rd , 1 ) ;
2011-07-04 03:13:46 -07:00
elm_object_text_set ( rd , " Rotate " ) ;
2011-04-21 04:47:36 -07:00
elm_radio_group_add ( rd , rdg ) ;
evas_object_show ( rd ) ;
elm_box_pack_end ( bx3 , rd ) ;
gl = elm_genlist_add ( win ) ;
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_smart_callback_add ( gl , " drag,start,right " , _my_gl_mode_right , rdg ) ;
evas_object_smart_callback_add ( gl , " drag,start,left " , _my_gl_mode_left , rdg ) ;
evas_object_smart_callback_add ( gl , " drag,start,up " , _my_gl_mode_cancel , rdg ) ;
evas_object_smart_callback_add ( gl , " drag,start,down " , _my_gl_mode_cancel , rdg ) ;
evas_object_show ( gl ) ;
itc10 . item_style = " default " ;
itc10 . func . label_get = gl10_label_get ;
itc10 . func . icon_get = gl10_icon_get ;
itc10 . func . state_get = gl_state_get ;
itc10 . func . del = gl_del ;
itc10 . mode_item_style = " mode " ;
for ( i = 0 ; i < 50 ; i + + )
elm_genlist_item_append ( gl ,
& itc10 ,
( void * ) ( 1000 + i ) /* item data */ ,
NULL /* parent */ ,
ELM_GENLIST_ITEM_NONE /* flags */ ,
_gl_sel10 /* func */ ,
rdg /* func data */ ) ;
elm_box_pack_end ( bx , gl ) ;
evas_object_resize ( win , 520 , 520 ) ;
evas_object_show ( win ) ;
}
2011-06-01 20:10:11 -07:00
/*************/
static void
2011-06-03 18:52:08 -07:00
_reorder_tg_changed_cb ( void * data , Evas_Object * obj , void * event_info __UNUSED__ )
2011-06-01 20:10:11 -07:00
{
elm_genlist_reorder_mode_set ( data , elm_toggle_state_get ( obj ) ) ;
}
/**
* gl_moved is called after an item was reordered .
* This is only called when reorder mode is enabled .
*
* @ param obj : the genlist object .
* @ param item : the moved item .
* @ param rel_item : the relative item .
* @ param move_after : whether or not the rel_item is after item .
*
* If the move_after is true ,
* the item ( * item ) had been moved after the given relative item ( * rel_item ) in list .
* If the move_after is false ,
* the item ( * item ) had been moved before the given relative item ( * rel_item ) in list .
*
*/
2011-06-01 21:41:04 -07:00
static void gl_moved ( Evas_Object * obj __UNUSED__ , Elm_Genlist_Item * item __UNUSED__ , Elm_Genlist_Item * rel_item __UNUSED__ , Eina_Bool move_after __UNUSED__ )
2011-06-01 20:10:11 -07:00
{
// if needed, add application logic.
}
void
test_genlist11 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
Evas_Object * win , * bg , * fr , * lb , * bx , * tg , * gl ;
int i ;
2011-06-03 18:52:08 -07:00
win = elm_win_add ( NULL , " genlist-reorder-mode " , ELM_WIN_BASIC ) ;
2011-06-01 20:10:11 -07:00
elm_win_title_set ( win , " Genlist Reorder Mode " ) ;
2011-07-25 07:22:19 -07:00
elm_win_autodel_set ( win , EINA_TRUE ) ;
2011-06-01 20:10:11 -07:00
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
fr = elm_frame_add ( win ) ;
2011-06-29 02:11:48 -07:00
elm_object_text_set ( fr , " Reorder Mode " ) ;
2011-06-01 20:10:11 -07:00
elm_box_pack_end ( bx , fr ) ;
evas_object_show ( fr ) ;
lb = elm_label_add ( win ) ;
2011-06-28 23:41:31 -07:00
elm_object_text_set ( lb ,
2011-06-01 20:10:11 -07:00
" Enable reorder mode if you want to move item.<br> "
" Then long press and drag item. " ) ;
elm_frame_content_set ( fr , lb ) ;
evas_object_show ( lb ) ;
gl = elm_genlist_add ( win ) ;
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_show ( gl ) ;
tg = elm_toggle_add ( win ) ;
2011-06-29 01:57:43 -07:00
elm_object_text_set ( tg , " Reorder Mode: " ) ;
2011-06-01 20:10:11 -07:00
elm_toggle_state_set ( tg , elm_mirrored_get ( ) ) ;
2011-06-03 18:52:08 -07:00
evas_object_smart_callback_add ( tg , " changed " , _reorder_tg_changed_cb , gl ) ;
2011-06-01 20:10:11 -07:00
elm_box_pack_end ( bx , tg ) ;
evas_object_show ( tg ) ;
2011-06-03 18:52:08 -07:00
itc1 . item_style = " default " ;
itc1 . func . label_get = gl_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
itc1 . func . moved = gl_moved ;
2011-06-01 20:10:11 -07:00
for ( i = 0 ; i < 50 ; i + + )
elm_genlist_item_append ( gl ,
2011-06-03 18:52:08 -07:00
& itc1 ,
2011-06-01 20:10:11 -07:00
( void * ) ( 1 + i ) /* item data */ ,
NULL /* parent */ ,
ELM_GENLIST_ITEM_NONE /* flags */ ,
NULL /* func */ ,
NULL /* func data */ ) ;
elm_box_pack_end ( bx , gl ) ;
evas_object_resize ( win , 400 , 500 ) ;
evas_object_show ( win ) ;
}
2011-09-08 03:21:04 -07:00
char * gl12_label_get ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , const char * part __UNUSED__ )
{
return strdup ( " Enlightenment is not just a window manager for Linux/X11 and others, but also a whole suite of libraries to help you create beautiful user interfaces with much less work than doing it the old fashioned way and fighting with traditional toolkits, not to mention a traditional window manager. It covers uses from small mobile devices like phones all the way to powerful multi-core desktops (which are the primary development environment) . " ) ;
}
void
test_genlist12 ( void * data __UNUSED__ , Evas_Object * obj __UNUSED__ , void * event_info __UNUSED__ )
{
Evas_Object * win , * bg , * bx , * gl ;
int i ;
Elm_Genlist_Item * gli ;
win = elm_win_add ( NULL , " genlist-textblock " , ELM_WIN_BASIC ) ;
elm_win_title_set ( win , " Genlist Textblock " ) ;
elm_win_autodel_set ( win , EINA_TRUE ) ;
bg = elm_bg_add ( win ) ;
elm_win_resize_object_add ( win , bg ) ;
evas_object_size_hint_weight_set ( bg , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_show ( bg ) ;
bx = elm_box_add ( win ) ;
evas_object_size_hint_weight_set ( bx , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
elm_win_resize_object_add ( win , bx ) ;
evas_object_show ( bx ) ;
gl = elm_genlist_add ( win ) ;
elm_genlist_height_for_width_mode_set ( gl , EINA_TRUE ) ;
evas_object_size_hint_weight_set ( gl , EVAS_HINT_EXPAND , EVAS_HINT_EXPAND ) ;
evas_object_size_hint_align_set ( gl , EVAS_HINT_FILL , EVAS_HINT_FILL ) ;
elm_box_pack_end ( bx , gl ) ;
evas_object_show ( gl ) ;
itc1 . item_style = " message " ;
itc1 . func . label_get = gl12_label_get ;
itc1 . func . icon_get = gl_icon_get ;
itc1 . func . state_get = gl_state_get ;
itc1 . func . del = gl_del ;
for ( i = 0 ; i < 1000 ; i + + )
{
gli = elm_genlist_item_append ( gl , & itc1 ,
( void * ) ( long ) i /* item data */ ,
NULL /* parent */ ,
ELM_GENLIST_ITEM_NONE ,
gl_sel /* func */ ,
( void * ) ( long ) ( i * 10 ) /* func data */ ) ;
}
evas_object_resize ( win , 400 , 500 ) ;
evas_object_show ( win ) ;
}
2009-09-13 21:21:52 -07:00
# endif