2012-08-30 09:45:28 -07:00
//FIXME this widget should inherit from file selector button
2013-04-25 22:13:00 -07:00
# ifdef HAVE_CONFIG_H
# include "elementary_config.h"
# endif
2012-08-30 09:45:28 -07:00
2010-10-13 18:18:14 -07:00
# include <Elementary.h>
# include "elm_priv.h"
2012-08-30 09:45:28 -07:00
# include "elm_widget_fileselector_entry.h"
2010-10-13 18:18:14 -07:00
2012-11-25 22:32:53 -08:00
EAPI Eo_Op ELM_OBJ_FILESELECTOR_ENTRY_BASE_ID = EO_NOOP ;
# define MY_CLASS ELM_OBJ_FILESELECTOR_ENTRY_CLASS
2013-11-07 03:44:22 -08:00
# define MY_CLASS_NAME "Elm_Fileselector_Entry"
# define MY_CLASS_NAME_LEGACY "elm_fileselector_entry"
2012-11-25 22:32:53 -08:00
2012-08-30 09:45:28 -07:00
EAPI const char ELM_FILESELECTOR_ENTRY_SMART_NAME [ ] = " elm_fileselector_entry " ;
2010-10-13 18:18:14 -07:00
2013-09-02 16:39:02 -07:00
# define ELM_PRIV_FILESELECTOR_ENTRY_SIGNALS(cmd) \
cmd ( SIG_CHANGED , " changed " , " " ) \
cmd ( SIG_ACTIVATED , " activated " , " " ) \
cmd ( SIG_PRESS , " press " , " " ) \
cmd ( SIG_LONGPRESSED , " longpressed " , " " ) \
cmd ( SIG_CLICKED , " clicked " , " " ) \
cmd ( SIG_CLICKED_DOUBLE , " clicked,double " , " " ) \
cmd ( SIG_FOCUSED , " focused " , " " ) \
cmd ( SIG_UNFOCUSED , " unfocused " , " " ) \
cmd ( SIG_SELECTION_PASTE , " selection,paste " , " " ) \
cmd ( SIG_SELECTION_COPY , " selection,copy " , " " ) \
cmd ( SIG_SELECTION_CUT , " selection,cut " , " " ) \
cmd ( SIG_UNPRESSED , " unpressed " , " " ) \
cmd ( SIG_FILE_CHOSEN , " file,chosen " , " s " ) \
cmd ( SIG_LANG_CHANGED , " language,changed " , " " )
ELM_PRIV_FILESELECTOR_ENTRY_SIGNALS ( ELM_PRIV_STATIC_VARIABLE_DECLARE ) ;
2013-04-23 05:00:50 -07:00
2012-08-30 09:45:28 -07:00
static const Evas_Smart_Cb_Description _smart_callbacks [ ] =
{
2013-09-02 16:39:02 -07:00
ELM_PRIV_FILESELECTOR_ENTRY_SIGNALS ( ELM_PRIV_SMART_CALLBACKS_DESC )
2012-08-30 09:45:28 -07:00
{ NULL , NULL }
2010-10-13 18:18:14 -07:00
} ;
2013-10-18 10:20:34 -07:00
# undef ELM_PRIV_FILESELECTOR_ENTRY_SIGNALS
2010-10-13 18:18:14 -07:00
2012-08-30 09:45:28 -07:00
# define SIG_FWD(name) \
static void \
_ # # name # # _fwd ( void * data , Evas_Object * obj __UNUSED__ , void * event_info ) \
{ \
evas_object_smart_callback_call ( data , SIG_ # # name , event_info ) ; \
}
2010-10-13 18:18:14 -07:00
SIG_FWD ( CHANGED )
SIG_FWD ( PRESS )
SIG_FWD ( LONGPRESSED )
SIG_FWD ( CLICKED )
SIG_FWD ( CLICKED_DOUBLE )
SIG_FWD ( FOCUSED )
SIG_FWD ( UNFOCUSED )
SIG_FWD ( SELECTION_PASTE )
SIG_FWD ( SELECTION_COPY )
SIG_FWD ( SELECTION_CUT )
SIG_FWD ( UNPRESSED )
# undef SIG_FWD
static void
2012-08-30 09:45:28 -07:00
_FILE_CHOSEN_fwd ( void * data ,
Evas_Object * obj __UNUSED__ ,
void * event_info )
2010-10-13 18:18:14 -07:00
{
const char * file = event_info ;
2012-04-20 05:51:10 -07:00
char * s ;
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_DATA_GET ( data , sd ) ;
2012-04-20 05:51:10 -07:00
s = elm_entry_utf8_to_markup ( file ) ;
2013-07-17 18:25:57 -07:00
if ( ! s ) return ;
2012-08-30 09:45:28 -07:00
elm_object_text_set ( sd - > entry , s ) ;
2012-04-20 05:51:10 -07:00
free ( s ) ;
2010-10-13 18:18:14 -07:00
evas_object_smart_callback_call ( data , SIG_FILE_CHOSEN , event_info ) ;
}
static void
2012-08-30 09:45:28 -07:00
_ACTIVATED_fwd ( void * data ,
Evas_Object * obj __UNUSED__ ,
void * event_info )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
const char * file ;
2010-10-13 18:18:14 -07:00
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_DATA_GET ( data , sd ) ;
2011-10-30 17:13:32 -07:00
2012-08-30 09:45:28 -07:00
file = elm_object_text_get ( sd - > entry ) ;
elm_fileselector_button_path_set ( sd - > button , file ) ;
evas_object_smart_callback_call ( data , SIG_ACTIVATED , event_info ) ;
2010-10-13 18:18:14 -07:00
}
2013-04-23 05:00:50 -07:00
static void
_elm_fileselector_entry_smart_translate ( Eo * obj , void * _pd EINA_UNUSED , va_list * list )
{
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
evas_object_smart_callback_call ( obj , SIG_LANG_CHANGED , NULL ) ;
if ( ret ) * ret = EINA_TRUE ;
}
2010-10-13 18:18:14 -07:00
static void
2012-11-25 22:32:53 -08:00
_elm_fileselector_entry_smart_sizing_eval ( Eo * obj , void * _pd EINA_UNUSED , va_list * list EINA_UNUSED )
2010-10-13 18:18:14 -07:00
{
Evas_Coord minw = - 1 , minh = - 1 ;
2012-08-30 09:45:28 -07:00
2013-10-05 01:12:27 -07:00
ELM_WIDGET_DATA_GET_OR_RETURN ( obj , wd ) ;
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
edje_object_size_min_calc ( wd - > resize_obj , & minw , & minh ) ;
2010-10-13 18:18:14 -07:00
evas_object_size_hint_min_set ( obj , minw , minh ) ;
evas_object_size_hint_max_set ( obj , - 1 , - 1 ) ;
}
2012-11-25 22:32:53 -08:00
static void
_elm_fileselector_entry_smart_focus_next_manager_is ( Eo * obj EINA_UNUSED , void * _pd EINA_UNUSED , va_list * list )
{
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
* ret = EINA_TRUE ;
}
static void
_elm_fileselector_entry_smart_focus_direction_manager_is ( Eo * obj EINA_UNUSED , void * _pd EINA_UNUSED , va_list * list )
{
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
* ret = EINA_FALSE ;
}
static void
_elm_fileselector_entry_smart_focus_next ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
2010-10-13 18:18:14 -07:00
{
2010-10-15 10:28:49 -07:00
Evas_Object * chain [ 2 ] ;
2012-08-30 09:45:28 -07:00
Evas_Object * to_focus ;
unsigned char i ;
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
Elm_Focus_Direction dir = va_arg ( * list , Elm_Focus_Direction ) ;
Evas_Object * * next = va_arg ( * list , Evas_Object * * ) ;
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
Eina_Bool int_ret = EINA_FALSE ;
2010-10-15 10:28:49 -07:00
/* Direction */
if ( dir = = ELM_FOCUS_PREVIOUS )
{
2012-08-30 09:45:28 -07:00
chain [ 0 ] = sd - > button ;
chain [ 1 ] = sd - > entry ;
2010-10-15 10:28:49 -07:00
}
else if ( dir = = ELM_FOCUS_NEXT )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
chain [ 0 ] = sd - > entry ;
chain [ 1 ] = sd - > button ;
2010-10-13 18:18:14 -07:00
}
else
2012-11-25 22:32:53 -08:00
goto end ;
2010-10-15 10:28:49 -07:00
2012-08-30 09:45:28 -07:00
i = elm_widget_focus_get ( chain [ 1 ] ) ;
2010-10-15 10:28:49 -07:00
if ( elm_widget_focus_next_get ( chain [ i ] , dir , next ) )
2012-11-25 22:32:53 -08:00
{
int_ret = EINA_TRUE ;
goto end ;
}
2010-10-15 10:28:49 -07:00
i = ! i ;
if ( elm_widget_focus_next_get ( chain [ i ] , dir , & to_focus ) )
2010-10-13 18:18:14 -07:00
{
2010-10-15 10:28:49 -07:00
* next = to_focus ;
2012-11-25 22:32:53 -08:00
int_ret = ! ! i ;
goto end ;
2010-10-13 18:18:14 -07:00
}
2010-10-15 10:28:49 -07:00
2012-11-25 22:32:53 -08:00
end :
if ( ret ) * ret = int_ret ;
2010-10-13 18:18:14 -07:00
}
2011-02-08 04:08:28 -08:00
static void
2012-08-30 09:45:28 -07:00
_mirrored_set ( Evas_Object * obj ,
Eina_Bool rtl )
2011-02-08 04:08:28 -08:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_DATA_GET ( obj , sd ) ;
elm_widget_mirrored_set ( sd - > button , rtl ) ;
2011-02-08 04:08:28 -08:00
}
2012-11-25 22:32:53 -08:00
static void
_elm_fileselector_entry_smart_theme ( Eo * obj , void * _pd , va_list * list )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
const char * style ;
2010-10-14 11:24:24 -07:00
char buf [ 1024 ] ;
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2013-10-05 01:12:27 -07:00
ELM_WIDGET_DATA_GET_OR_RETURN ( obj , wd ) ;
2012-11-25 22:32:53 -08:00
Eina_Bool int_ret ;
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
if ( ret ) * ret = EINA_FALSE ;
2012-08-30 09:45:28 -07:00
2013-03-18 09:07:38 -07:00
eo_do_super ( obj , MY_CLASS , elm_wdg_theme ( & int_ret ) ) ;
2012-11-25 22:32:53 -08:00
if ( ! int_ret ) return ;
2012-08-30 09:45:28 -07:00
style = elm_widget_style_get ( obj ) ;
2011-02-08 04:08:28 -08:00
_mirrored_set ( obj , elm_widget_mirrored_get ( obj ) ) ;
2011-02-10 07:13:05 -08:00
2010-10-13 18:18:14 -07:00
if ( elm_object_disabled_get ( obj ) )
2012-08-30 09:45:28 -07:00
elm_layout_signal_emit ( obj , " elm,state,disabled " , " elm " ) ;
2010-10-13 18:18:14 -07:00
2010-10-14 11:24:24 -07:00
if ( ! style ) style = " default " ;
snprintf ( buf , sizeof ( buf ) , " fileselector_entry/%s " , style ) ;
2012-08-30 09:45:28 -07:00
elm_widget_style_set ( sd - > button , buf ) ;
elm_widget_style_set ( sd - > entry , buf ) ;
2010-10-14 11:24:24 -07:00
2012-11-25 22:32:53 -08:00
edje_object_message_signal_process ( wd - > resize_obj ) ;
2010-10-13 18:18:14 -07:00
2012-08-30 09:45:28 -07:00
elm_layout_sizing_eval ( obj ) ;
2012-11-25 22:32:53 -08:00
if ( ret ) * ret = EINA_TRUE ;
2010-10-13 18:18:14 -07:00
}
2012-11-25 22:32:53 -08:00
static void
_elm_fileselector_entry_smart_disable ( Eo * obj , void * _pd , va_list * list )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
Eina_Bool val ;
2010-10-13 18:18:14 -07:00
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
if ( ret ) * ret = EINA_FALSE ;
Eina_Bool int_ret ;
2010-10-13 18:18:14 -07:00
2013-03-18 09:07:38 -07:00
eo_do_super ( obj , MY_CLASS , elm_wdg_disable ( & int_ret ) ) ;
2012-11-25 22:32:53 -08:00
if ( ! int_ret ) return ;
2012-08-30 09:45:28 -07:00
val = elm_widget_disabled_get ( obj ) ;
elm_widget_disabled_set ( sd - > button , val ) ;
elm_widget_disabled_set ( sd - > entry , val ) ;
2012-11-25 22:32:53 -08:00
if ( ret ) * ret = EINA_TRUE ;
2010-10-13 18:18:14 -07:00
}
2012-11-25 22:32:53 -08:00
static void
_elm_fileselector_entry_smart_text_set ( Eo * obj , void * _pd , va_list * list )
2011-07-04 03:14:05 -07:00
{
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2013-07-22 13:34:19 -07:00
const char * part = va_arg ( * list , const char * ) ;
2012-11-25 22:32:53 -08:00
const char * label = va_arg ( * list , const char * ) ;
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
Eina_Bool int_ret ;
2012-08-30 09:45:28 -07:00
2013-07-22 13:34:19 -07:00
if ( part & & strcmp ( part , " default " ) )
2012-11-25 22:32:53 -08:00
{
2013-07-22 14:05:16 -07:00
eo_do_super ( obj , MY_CLASS ,
elm_obj_layout_text_set ( part , label , & int_ret ) ) ;
2012-11-25 22:32:53 -08:00
goto end ;
}
2012-08-30 09:45:28 -07:00
elm_object_text_set ( sd - > button , label ) ;
2012-11-25 22:32:53 -08:00
int_ret = EINA_TRUE ;
2013-07-22 14:05:16 -07:00
2012-11-25 22:32:53 -08:00
end :
if ( ret ) * ret = int_ret ;
2011-07-04 03:14:05 -07:00
}
2012-11-25 22:32:53 -08:00
static void
_elm_fileselector_entry_smart_text_get ( Eo * obj , void * _pd , va_list * list )
2011-07-04 03:14:05 -07:00
{
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2013-07-22 13:34:19 -07:00
const char * part = va_arg ( * list , const char * ) ;
2012-11-25 22:32:53 -08:00
const char * * text = va_arg ( * list , const char * * ) ;
2012-08-30 09:45:28 -07:00
2013-07-22 13:34:19 -07:00
if ( part & & strcmp ( part , " default " ) )
2012-11-25 22:32:53 -08:00
{
2013-07-22 13:34:19 -07:00
eo_do_super ( obj , MY_CLASS , elm_obj_layout_text_get ( part , text ) ) ;
2012-11-25 22:32:53 -08:00
return ;
}
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
* text = elm_object_text_get ( sd - > button ) ;
2011-07-04 03:14:05 -07:00
}
2012-11-25 22:32:53 -08:00
static void
_elm_fileselector_entry_smart_content_set ( Eo * obj , void * _pd , va_list * list )
2012-01-09 00:06:43 -08:00
{
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
const char * part = va_arg ( * list , const char * ) ;
Evas_Object * content = va_arg ( * list , Evas_Object * ) ;
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
Eina_Bool int_ret ;
2012-08-30 09:45:28 -07:00
if ( part & & strcmp ( part , " button icon " ) )
2012-11-25 22:32:53 -08:00
{
2013-03-18 09:07:38 -07:00
eo_do_super ( obj , MY_CLASS , elm_obj_container_content_set ( part , content , & int_ret ) ) ;
2012-11-25 22:32:53 -08:00
goto end ;
}
2012-08-30 09:45:28 -07:00
elm_layout_content_set ( sd - > button , NULL , content ) ;
2012-11-25 22:32:53 -08:00
int_ret = EINA_TRUE ;
end :
if ( ret ) * ret = int_ret ;
2012-01-09 00:06:43 -08:00
}
2012-11-25 22:32:53 -08:00
static void
_elm_fileselector_entry_smart_content_get ( Eo * obj , void * _pd , va_list * list )
2012-01-09 00:06:43 -08:00
{
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
const char * part = va_arg ( * list , const char * ) ;
Evas_Object * * ret = va_arg ( * list , Evas_Object * * ) ;
* ret = NULL ;
2012-08-30 09:45:28 -07:00
if ( part & & strcmp ( part , " button icon " ) )
2012-11-25 22:32:53 -08:00
{
2013-03-18 09:07:38 -07:00
eo_do_super ( obj , MY_CLASS , elm_obj_container_content_get ( part , ret ) ) ;
2012-11-25 22:32:53 -08:00
return ;
}
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
* ret = elm_layout_content_get ( sd - > button , NULL ) ;
2012-01-09 00:06:43 -08:00
}
2012-11-25 22:32:53 -08:00
static void
_elm_fileselector_entry_smart_content_unset ( Eo * obj , void * _pd , va_list * list )
2012-01-09 00:06:43 -08:00
{
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
const char * part = va_arg ( * list , const char * ) ;
Evas_Object * * ret = va_arg ( * list , Evas_Object * * ) ;
Evas_Object * int_ret ;
2012-08-30 09:45:28 -07:00
if ( part & & strcmp ( part , " button icon " ) )
2012-11-25 22:32:53 -08:00
{
2013-03-18 09:07:38 -07:00
eo_do_super ( obj , MY_CLASS , elm_obj_container_content_unset ( part , & int_ret ) ) ;
2012-11-25 22:32:53 -08:00
goto end ;
}
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
int_ret = elm_layout_content_unset ( sd - > button , NULL ) ;
end :
if ( ret ) * ret = int_ret ;
2012-01-09 00:06:43 -08:00
}
2012-08-30 09:45:28 -07:00
static void
2012-11-25 22:32:53 -08:00
_elm_fileselector_entry_smart_add ( Eo * obj , void * _pd , va_list * list EINA_UNUSED )
2010-10-13 18:18:14 -07:00
{
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * priv = _pd ;
2012-08-30 09:45:28 -07:00
2013-03-18 09:07:38 -07:00
eo_do_super ( obj , MY_CLASS , evas_obj_smart_add ( ) ) ;
2013-09-24 21:33:39 -07:00
elm_widget_sub_object_parent_add ( obj ) ;
2013-08-26 08:29:45 -07:00
2013-03-01 18:04:31 -08:00
if ( ! elm_layout_theme_set
( obj , " fileselector_entry " , " base " , elm_widget_style_get ( obj ) ) )
2013-12-25 20:03:55 -08:00
CRI ( " Failed to set layout! " ) ;
2012-08-30 09:45:28 -07:00
priv - > button = elm_fileselector_button_add ( obj ) ;
elm_widget_mirrored_automatic_set ( priv - > button , EINA_FALSE ) ;
elm_widget_style_set ( priv - > button , " fileselector_entry/default " ) ;
elm_layout_content_set ( obj , " elm.swallow.button " , priv - > button ) ;
elm_fileselector_button_expandable_set
( priv - > button , _elm_config - > fileselector_expand_enable ) ;
# define SIG_FWD(name) \
evas_object_smart_callback_add ( priv - > button , SIG_ # # name , _ # # name # # _fwd , obj )
2010-10-13 18:18:14 -07:00
SIG_FWD ( CLICKED ) ;
SIG_FWD ( UNPRESSED ) ;
SIG_FWD ( FILE_CHOSEN ) ;
# undef SIG_FWD
2012-08-30 09:45:28 -07:00
priv - > entry = elm_entry_add ( obj ) ;
elm_entry_scrollable_set ( priv - > entry , EINA_TRUE ) ;
elm_widget_mirrored_automatic_set ( priv - > entry , EINA_FALSE ) ;
elm_widget_style_set ( priv - > entry , " fileselector_entry/default " ) ;
elm_entry_single_line_set ( priv - > entry , EINA_TRUE ) ;
elm_entry_editable_set ( priv - > entry , EINA_TRUE ) ;
elm_layout_content_set ( obj , " elm.swallow.entry " , priv - > entry ) ;
# define SIG_FWD(name) \
evas_object_smart_callback_add ( priv - > entry , SIG_ # # name , _ # # name # # _fwd , obj )
2010-10-13 18:18:14 -07:00
SIG_FWD ( CHANGED ) ;
SIG_FWD ( ACTIVATED ) ;
SIG_FWD ( PRESS ) ;
SIG_FWD ( LONGPRESSED ) ;
SIG_FWD ( CLICKED ) ;
SIG_FWD ( CLICKED_DOUBLE ) ;
SIG_FWD ( FOCUSED ) ;
SIG_FWD ( UNFOCUSED ) ;
SIG_FWD ( SELECTION_PASTE ) ;
SIG_FWD ( SELECTION_COPY ) ;
SIG_FWD ( SELECTION_CUT ) ;
# undef SIG_FWD
2012-08-30 09:45:28 -07:00
elm_widget_can_focus_set ( obj , EINA_FALSE ) ;
2011-02-08 04:08:28 -08:00
_mirrored_set ( obj , elm_widget_mirrored_get ( obj ) ) ;
2012-08-30 09:45:28 -07:00
elm_layout_sizing_eval ( obj ) ;
}
static void
2012-11-25 22:32:53 -08:00
_elm_fileselector_entry_smart_del ( Eo * obj , void * _pd , va_list * list EINA_UNUSED )
2012-08-30 09:45:28 -07:00
{
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
if ( sd - > path ) free ( sd - > path ) ;
2013-03-18 09:07:38 -07:00
eo_do_super ( obj , MY_CLASS , evas_obj_smart_del ( ) ) ;
2012-08-30 09:45:28 -07:00
}
EAPI Evas_Object *
elm_fileselector_entry_add ( Evas_Object * parent )
{
EINA_SAFETY_ON_NULL_RETURN_VAL ( parent , NULL ) ;
2012-11-25 22:32:53 -08:00
Evas_Object * obj = eo_add ( MY_CLASS , parent ) ;
eo_unref ( obj ) ;
return obj ;
}
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
static void
_constructor ( Eo * obj , void * _pd EINA_UNUSED , va_list * list EINA_UNUSED )
{
2013-03-18 09:07:38 -07:00
eo_do_super ( obj , MY_CLASS , eo_constructor ( ) ) ;
2012-11-25 22:32:53 -08:00
eo_do ( obj ,
2013-11-07 03:44:22 -08:00
evas_obj_type_set ( MY_CLASS_NAME_LEGACY ) ,
2012-11-25 22:32:53 -08:00
evas_obj_smart_callbacks_descriptions_set ( _smart_callbacks , NULL ) ) ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_selected_set ( Evas_Object * obj ,
const char * path )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
2012-11-25 22:32:53 -08:00
eo_do ( obj , elm_obj_fileselector_entry_selected_set ( path ) ) ;
}
static void
_selected_set ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
const char * path = va_arg ( * list , const char * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_path_set ( sd - > button , path ) ;
2010-10-13 18:18:14 -07:00
}
EAPI const char *
elm_fileselector_entry_selected_get ( const Evas_Object * obj )
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) NULL ;
2012-11-25 22:32:53 -08:00
const char * ret = NULL ;
eo_do ( ( Eo * ) obj , elm_obj_fileselector_entry_selected_get ( & ret ) ) ;
return ret ;
}
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
static void
_selected_get ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
const char * * ret = va_arg ( * list , const char * * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
* ret = elm_fileselector_button_path_get ( sd - > button ) ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_window_title_set ( Evas_Object * obj ,
const char * title )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
2012-11-25 22:32:53 -08:00
eo_do ( obj , elm_obj_fileselector_entry_window_title_set ( title ) ) ;
}
static void
_window_title_set ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
const char * title = va_arg ( * list , const char * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_window_title_set ( sd - > button , title ) ;
2010-10-13 18:18:14 -07:00
}
EAPI const char *
elm_fileselector_entry_window_title_get ( const Evas_Object * obj )
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) NULL ;
2012-11-25 22:32:53 -08:00
const char * ret = NULL ;
eo_do ( ( Eo * ) obj , elm_obj_fileselector_entry_window_title_get ( & ret ) ) ;
return ret ;
}
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
static void
_window_title_get ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
const char * * ret = va_arg ( * list , const char * * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
* ret = elm_fileselector_button_window_title_get ( sd - > button ) ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_window_size_set ( Evas_Object * obj ,
Evas_Coord width ,
Evas_Coord height )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
2012-11-25 22:32:53 -08:00
eo_do ( obj , elm_obj_fileselector_entry_window_size_set ( width , height ) ) ;
}
static void
_window_size_set ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Evas_Coord width = va_arg ( * list , Evas_Coord ) ;
Evas_Coord height = va_arg ( * list , Evas_Coord ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_window_size_set ( sd - > button , width , height ) ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_window_size_get ( const Evas_Object * obj ,
Evas_Coord * width ,
Evas_Coord * height )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
2012-11-25 22:32:53 -08:00
eo_do ( ( Eo * ) obj , elm_obj_fileselector_entry_window_size_get ( width , height ) ) ;
}
static void
_window_size_get ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Evas_Coord * width = va_arg ( * list , Evas_Coord * ) ;
Evas_Coord * height = va_arg ( * list , Evas_Coord * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_window_size_get ( sd - > button , width , height ) ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_path_set ( Evas_Object * obj ,
const char * path )
2012-11-25 22:32:53 -08:00
{
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
eo_do ( obj , elm_obj_fileselector_entry_path_set ( path ) ) ;
}
static void
_path_set ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
2010-10-13 18:18:14 -07:00
{
2012-04-20 05:51:10 -07:00
char * s ;
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
const char * path = va_arg ( * list , const char * ) ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_path_set ( sd - > button , path ) ;
2012-04-20 05:51:10 -07:00
s = elm_entry_utf8_to_markup ( path ) ;
2013-07-17 18:25:57 -07:00
if ( s )
{
elm_object_text_set ( sd - > entry , s ) ;
free ( s ) ;
}
2010-10-13 18:18:14 -07:00
}
EAPI const char *
elm_fileselector_entry_path_get ( const Evas_Object * obj )
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) NULL ;
2012-11-25 22:32:53 -08:00
const char * ret = NULL ;
eo_do ( ( Eo * ) obj , elm_obj_fileselector_entry_path_get ( & ret ) ) ;
return ret ;
}
static void
_path_get ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
const char * * ret = va_arg ( * list , const char * * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
if ( sd - > path ) free ( sd - > path ) ;
sd - > path = elm_entry_markup_to_utf8 ( elm_object_text_get ( sd - > entry ) ) ;
2012-11-25 22:32:53 -08:00
* ret = sd - > path ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_expandable_set ( Evas_Object * obj ,
Eina_Bool value )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
2012-11-25 22:32:53 -08:00
eo_do ( obj , elm_obj_fileselector_entry_expandable_set ( value ) ) ;
}
static void
_expandable_set ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Eina_Bool value = va_arg ( * list , int ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_expandable_set ( sd - > button , value ) ;
2010-10-13 18:18:14 -07:00
}
EAPI Eina_Bool
elm_fileselector_entry_expandable_get ( const Evas_Object * obj )
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) EINA_FALSE ;
2012-11-25 22:32:53 -08:00
Eina_Bool ret = EINA_FALSE ;
eo_do ( ( Eo * ) obj , elm_obj_fileselector_entry_expandable_get ( & ret ) ) ;
return ret ;
}
static void
_expandable_get ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
* ret = elm_fileselector_button_expandable_get ( sd - > button ) ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_folder_only_set ( Evas_Object * obj ,
Eina_Bool value )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
2012-11-25 22:32:53 -08:00
eo_do ( obj , elm_obj_fileselector_entry_folder_only_set ( value ) ) ;
}
static void
_folder_only_set ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Eina_Bool value = va_arg ( * list , int ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_folder_only_set ( sd - > button , value ) ;
2010-10-13 18:18:14 -07:00
}
EAPI Eina_Bool
elm_fileselector_entry_folder_only_get ( const Evas_Object * obj )
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) EINA_FALSE ;
2012-11-25 22:32:53 -08:00
Eina_Bool ret = EINA_FALSE ;
eo_do ( ( Eo * ) obj , elm_obj_fileselector_entry_folder_only_get ( & ret ) ) ;
return ret ;
}
static void
_folder_only_get ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
* ret = elm_fileselector_button_folder_only_get ( sd - > button ) ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_is_save_set ( Evas_Object * obj ,
Eina_Bool value )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
2012-11-25 22:32:53 -08:00
eo_do ( obj , elm_obj_fileselector_entry_is_save_set ( value ) ) ;
}
static void
_is_save_set ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Eina_Bool value = va_arg ( * list , int ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_is_save_set ( sd - > button , value ) ;
2010-10-13 18:18:14 -07:00
}
EAPI Eina_Bool
elm_fileselector_entry_is_save_get ( const Evas_Object * obj )
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) EINA_FALSE ;
2012-11-25 22:32:53 -08:00
Eina_Bool ret = EINA_FALSE ;
eo_do ( ( Eo * ) obj , elm_obj_fileselector_entry_is_save_get ( & ret ) ) ;
return ret ;
}
static void
_is_save_get ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
* ret = elm_fileselector_button_is_save_get ( sd - > button ) ;
2010-10-13 18:18:14 -07:00
}
EAPI void
2012-08-30 09:45:28 -07:00
elm_fileselector_entry_inwin_mode_set ( Evas_Object * obj ,
Eina_Bool value )
2010-10-13 18:18:14 -07:00
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) ;
2012-11-25 22:32:53 -08:00
eo_do ( obj , elm_obj_fileselector_entry_inwin_mode_set ( value ) ) ;
}
static void
_inwin_mode_set ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Eina_Bool value = va_arg ( * list , int ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
elm_fileselector_button_inwin_mode_set ( sd - > button , value ) ;
2010-10-13 18:18:14 -07:00
}
EAPI Eina_Bool
elm_fileselector_entry_inwin_mode_get ( const Evas_Object * obj )
{
2012-08-30 09:45:28 -07:00
ELM_FILESELECTOR_ENTRY_CHECK ( obj ) EINA_FALSE ;
2012-11-25 22:32:53 -08:00
Eina_Bool ret = EINA_FALSE ;
eo_do ( ( Eo * ) obj , elm_obj_fileselector_entry_inwin_mode_get ( & ret ) ) ;
return ret ;
}
static void
_inwin_mode_get ( Eo * obj EINA_UNUSED , void * _pd , va_list * list )
{
Eina_Bool * ret = va_arg ( * list , Eina_Bool * ) ;
Elm_Fileselector_Entry_Smart_Data * sd = _pd ;
2012-08-30 09:45:28 -07:00
2012-11-25 22:32:53 -08:00
* ret = elm_fileselector_button_inwin_mode_get ( sd - > button ) ;
2010-10-13 18:18:14 -07:00
}
2012-11-25 22:32:53 -08:00
static void
_class_constructor ( Eo_Class * klass )
{
const Eo_Op_Func_Description func_desc [ ] = {
EO_OP_FUNC ( EO_BASE_ID ( EO_BASE_SUB_ID_CONSTRUCTOR ) , _constructor ) ,
EO_OP_FUNC ( EVAS_OBJ_SMART_ID ( EVAS_OBJ_SMART_SUB_ID_ADD ) , _elm_fileselector_entry_smart_add ) ,
EO_OP_FUNC ( EVAS_OBJ_SMART_ID ( EVAS_OBJ_SMART_SUB_ID_DEL ) , _elm_fileselector_entry_smart_del ) ,
EO_OP_FUNC ( ELM_WIDGET_ID ( ELM_WIDGET_SUB_ID_DISABLE ) , _elm_fileselector_entry_smart_disable ) ,
EO_OP_FUNC ( ELM_WIDGET_ID ( ELM_WIDGET_SUB_ID_THEME ) , _elm_fileselector_entry_smart_theme ) ,
2013-04-23 05:00:50 -07:00
EO_OP_FUNC ( ELM_WIDGET_ID ( ELM_WIDGET_SUB_ID_TRANSLATE ) , _elm_fileselector_entry_smart_translate ) ,
2012-11-25 22:32:53 -08:00
EO_OP_FUNC ( ELM_WIDGET_ID ( ELM_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS ) , _elm_fileselector_entry_smart_focus_next_manager_is ) ,
EO_OP_FUNC ( ELM_WIDGET_ID ( ELM_WIDGET_SUB_ID_FOCUS_NEXT ) , _elm_fileselector_entry_smart_focus_next ) ,
EO_OP_FUNC ( ELM_WIDGET_ID ( ELM_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS ) , _elm_fileselector_entry_smart_focus_direction_manager_is ) ,
EO_OP_FUNC ( ELM_OBJ_CONTAINER_ID ( ELM_OBJ_CONTAINER_SUB_ID_CONTENT_SET ) , _elm_fileselector_entry_smart_content_set ) ,
EO_OP_FUNC ( ELM_OBJ_CONTAINER_ID ( ELM_OBJ_CONTAINER_SUB_ID_CONTENT_GET ) , _elm_fileselector_entry_smart_content_get ) ,
EO_OP_FUNC ( ELM_OBJ_CONTAINER_ID ( ELM_OBJ_CONTAINER_SUB_ID_CONTENT_UNSET ) , _elm_fileselector_entry_smart_content_unset ) ,
EO_OP_FUNC ( ELM_OBJ_LAYOUT_ID ( ELM_OBJ_LAYOUT_SUB_ID_TEXT_SET ) , _elm_fileselector_entry_smart_text_set ) ,
EO_OP_FUNC ( ELM_OBJ_LAYOUT_ID ( ELM_OBJ_LAYOUT_SUB_ID_TEXT_GET ) , _elm_fileselector_entry_smart_text_get ) ,
EO_OP_FUNC ( ELM_OBJ_LAYOUT_ID ( ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL ) , _elm_fileselector_entry_smart_sizing_eval ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_SET ) , _selected_set ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_GET ) , _selected_get ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_SET ) , _window_title_set ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_GET ) , _window_title_get ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_SET ) , _window_size_set ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_GET ) , _window_size_get ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_SET ) , _path_set ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_GET ) , _path_get ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_SET ) , _expandable_set ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_GET ) , _expandable_get ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_SET ) , _folder_only_set ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_GET ) , _folder_only_get ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_SET ) , _is_save_set ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_GET ) , _is_save_get ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_SET ) , _inwin_mode_set ) ,
EO_OP_FUNC ( ELM_OBJ_FILESELECTOR_ENTRY_ID ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_GET ) , _inwin_mode_get ) ,
EO_OP_FUNC_SENTINEL
} ;
eo_class_funcs_set ( klass , func_desc ) ;
2013-02-09 23:52:31 -08:00
2013-11-07 03:44:22 -08:00
evas_smart_legacy_type_register ( MY_CLASS_NAME_LEGACY , klass ) ;
2012-11-25 22:32:53 -08:00
}
static const Eo_Op_Description op_desc [ ] = {
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_SET , " Set the initial file system path for a given file selector entry widget. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_SELECTED_GET , " Get the parent directory's path to the latest file selection on a given filer selector entry widget. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_SET , " Set the title for a given file selector entry widget's window. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_TITLE_GET , " Get the title set for a given file selector entry widget's window. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_SET , " Set the size of a given file selector entry widget's window, holding the file selector itself. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_WINDOW_SIZE_GET , " Get the size of a given file selector entry widget's window, holding the file selector itself. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_SET , " Set the initial file system path and the entry's path string for a given file selector entry widget. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_PATH_GET , " Get the entry's path string for a given file selector entry widget. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_SET , " Enable/disable a tree view in the given file selector entry widget's internal file selector. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_EXPANDABLE_GET , " Get whether tree view is enabled for the given file selector entry widget's internal file selector. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_SET , " Set whether a given file selector entry widget's internal file selector is to display folders only or the directory contents, as well. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_FOLDER_ONLY_GET , " Get whether a given file selector entry widget's internal file selector is to display folders only or the directory contents, as well. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_SET , " Enable/disable the file name entry box where the user can type in a name for a file, in a given file selector entry widget's internal file selector. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_IS_SAVE_GET , " Get whether the given file selector entry widget's internal file selector is in 'saving dialog' mode. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_SET , " Set whether a given file selector entry widget's internal file selector will raise an Elementary 'inner window', instead of a dedicated Elementary window. " ) ,
EO_OP_DESCRIPTION ( ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_INWIN_MODE_GET , " Get whether a given file selector entry widget's internal file selector will raise an Elementary 'inner window', instead of a dedicated Elementary window. " ) ,
EO_OP_DESCRIPTION_SENTINEL
} ;
static const Eo_Class_Description class_desc = {
EO_VERSION ,
MY_CLASS_NAME ,
EO_CLASS_TYPE_REGULAR ,
EO_CLASS_DESCRIPTION_OPS ( & ELM_OBJ_FILESELECTOR_ENTRY_BASE_ID , op_desc , ELM_OBJ_FILESELECTOR_ENTRY_SUB_ID_LAST ) ,
NULL ,
sizeof ( Elm_Fileselector_Entry_Smart_Data ) ,
_class_constructor ,
NULL
} ;
EO_DEFINE_CLASS ( elm_obj_fileselector_entry_class_get , & class_desc , ELM_OBJ_LAYOUT_CLASS , NULL ) ;