diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index 2823878ba5..ec34d3eda7 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -187,7 +187,6 @@ elm_private_eolian_files = \ elm_legacy_eolian_files = \ lib/elementary/efl_ui_clock_legacy.eo \ lib/elementary/elm_interface_fileselector.eo \ - lib/elementary/elm_fileselector.eo \ lib/elementary/elm_gengrid.eo \ lib/elementary/elm_gengrid_pan.eo \ lib/elementary/elm_genlist.eo \ @@ -237,8 +236,6 @@ elm_legacy_eolian_files = \ lib/elementary/elm_actionslider_part.eo \ lib/elementary/elm_bubble_part.eo \ lib/elementary/elm_fileselector_part.eo \ - lib/elementary/elm_fileselector_button.eo \ - lib/elementary/elm_fileselector_entry.eo \ lib/elementary/elm_flipselector.eo \ lib/elementary/elm_grid.eo \ lib/elementary/elm_icon.eo \ @@ -346,6 +343,10 @@ lib/elementary/elm_diskselector_item_eo.legacy.c \ lib/elementary/elm_diskselector_item_eo.c \ lib/elementary/elm_entry_eo.legacy.c \ lib/elementary/elm_entry_eo.c \ +lib/elementary/elm_fileselector_button_eo.c \ +lib/elementary/elm_fileselector_entry_eo.c \ +lib/elementary/elm_fileselector_eo.legacy.c \ +lib/elementary/elm_fileselector_eo.c \ lib/elementary/elm_hoversel_eo.c \ lib/elementary/elm_hoversel_item_eo.c \ lib/elementary/elm_hoversel_item_eo.legacy.c @@ -431,6 +432,12 @@ lib/elementary/elm_diskselector_item_eo.h \ lib/elementary/elm_diskselector_item_eo.legacy.h \ lib/elementary/elm_entry_eo.h \ lib/elementary/elm_entry_eo.legacy.h \ +lib/elementary/elm_fileselector_button_eo.h \ +lib/elementary/elm_fileselector_button_eo.legacy.h \ +lib/elementary/elm_fileselector_entry_eo.h \ +lib/elementary/elm_fileselector_entry_eo.legacy.h \ +lib/elementary/elm_fileselector_eo.h \ +lib/elementary/elm_fileselector_eo.legacy.h \ lib/elementary/elm_hoversel_eo.h \ lib/elementary/elm_hoversel_eo.legacy.h \ lib/elementary/elm_hoversel_item_eo.h \ diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 03ff26b725..9df3e4a583 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -17,12 +17,12 @@ #include #include "Eio_Eo.h" #include "elm_priv.h" -#include "elm_fileselector_button.eo.h" -#include "elm_fileselector_entry.eo.h" +#include "elm_fileselector_button_eo.h" +#include "elm_fileselector_entry_eo.h" #include "elm_interface_fileselector.h" #include "elm_widget_fileselector.h" #include "elm_entry_eo.h" -#include "elm_fileselector.eo.h" +#include "elm_fileselector_eo.h" #include "elm_genlist.eo.h" #include "elm_gengrid.eo.h" @@ -3079,4 +3079,4 @@ ELM_PART_OVERRIDE_TEXT_SET(elm_fileselector, ELM_FILESELECTOR, Elm_Fileselector_ EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_fileselector), \ EFL_OBJECT_OP_FUNC(efl_event_callback_legacy_call, _elm_fileselector_efl_object_event_callback_legacy_call) -#include "elm_fileselector.eo.c" +#include "elm_fileselector_eo.c" diff --git a/src/lib/elementary/elc_fileselector_button.c b/src/lib/elementary/elc_fileselector_button.c index 8f2b763889..96e5acc141 100644 --- a/src/lib/elementary/elc_fileselector_button.c +++ b/src/lib/elementary/elc_fileselector_button.c @@ -7,11 +7,11 @@ #include #include "Eio_Eo.h" #include "elm_priv.h" -#include "elm_fileselector_button.eo.h" -#include "elm_fileselector_entry.eo.h" +#include "elm_fileselector_button_eo.h" +#include "elm_fileselector_entry_eo.h" #include "elm_interface_fileselector.h" #include "elm_widget_fileselector_button.h" -#include "elm_fileselector.eo.h" +#include "elm_fileselector_eo.h" #define MY_CLASS ELM_FILESELECTOR_BUTTON_CLASS @@ -703,4 +703,4 @@ elm_fileselector_button_inwin_mode_get(const Eo *obj) #define ELM_FILESELECTOR_BUTTON_EXTRA_OPS \ EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_fileselector_button) -#include "elm_fileselector_button.eo.c" +#include "elm_fileselector_button_eo.c" diff --git a/src/lib/elementary/elc_fileselector_button_legacy.h b/src/lib/elementary/elc_fileselector_button_legacy.h index 0b74a9117f..f34e1a1d7c 100644 --- a/src/lib/elementary/elc_fileselector_button_legacy.h +++ b/src/lib/elementary/elc_fileselector_button_legacy.h @@ -10,7 +10,7 @@ */ EAPI Evas_Object *elm_fileselector_button_add(Evas_Object *parent); -#include "elm_fileselector_button.eo.legacy.h" +#include "elm_fileselector_button_eo.legacy.h" /** * @brief Set whether a given file selector button widget's internal file diff --git a/src/lib/elementary/elc_fileselector_entry.c b/src/lib/elementary/elc_fileselector_entry.c index 9004408b25..2df184ea4a 100644 --- a/src/lib/elementary/elc_fileselector_entry.c +++ b/src/lib/elementary/elc_fileselector_entry.c @@ -9,12 +9,12 @@ #include #include "Eio_Eo.h" #include "elm_priv.h" -#include "elm_fileselector_button.eo.h" -#include "elm_fileselector_entry.eo.h" +#include "elm_fileselector_button_eo.h" +#include "elm_fileselector_entry_eo.h" #include "elm_interface_fileselector.h" #include "elm_widget_fileselector_entry.h" #include "elm_entry_eo.h" -#include "elm_fileselector.eo.h" +#include "elm_fileselector_eo.h" #include "elm_fileselector_entry_part.eo.h" #include "elm_part_helper.h" @@ -574,4 +574,4 @@ ELM_PART_CONTENT_DEFAULT_GET(elm_fileselector_entry, "button icon") ELM_LAYOUT_SIZING_EVAL_OPS(elm_fileselector_entry), \ EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_fileselector_entry) -#include "elm_fileselector_entry.eo.c" +#include "elm_fileselector_entry_eo.c" diff --git a/src/lib/elementary/elc_fileselector_entry_legacy.h b/src/lib/elementary/elc_fileselector_entry_legacy.h index f06d403a37..af983d738b 100644 --- a/src/lib/elementary/elc_fileselector_entry_legacy.h +++ b/src/lib/elementary/elc_fileselector_entry_legacy.h @@ -11,7 +11,7 @@ */ EAPI Evas_Object *elm_fileselector_entry_add(Evas_Object *parent); -#include "elm_fileselector_entry.eo.legacy.h" +#include "elm_fileselector_entry_eo.legacy.h" /** * @brief Set whether a given file selector entry widget's internal file diff --git a/src/lib/elementary/elc_fileselector_legacy.h b/src/lib/elementary/elc_fileselector_legacy.h index 8fc10654e4..abc15a862e 100644 --- a/src/lib/elementary/elc_fileselector_legacy.h +++ b/src/lib/elementary/elc_fileselector_legacy.h @@ -411,4 +411,4 @@ EAPI Elm_Fileselector_Sort elm_fileselector_sort_method_get(const Evas_Object *o */ EAPI void elm_fileselector_sort_method_set(Evas_Object *obj, Elm_Fileselector_Sort sort); -#include "elm_fileselector.eo.legacy.h" +#include "elm_fileselector_eo.legacy.h" diff --git a/src/lib/elementary/elm_fileselector.eo b/src/lib/elementary/elm_fileselector.eo deleted file mode 100644 index 177a75a0c2..0000000000 --- a/src/lib/elementary/elm_fileselector.eo +++ /dev/null @@ -1,65 +0,0 @@ -class Elm.Fileselector extends Efl.Ui.Layout_Base implements Elm.Interface.Fileselector, - Efl.Access.Widget.Action, Efl.Ui.Focus.Composition, - Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy -{ - [[Elementary fileselector class]] - legacy_prefix: elm_fileselector; - eo_prefix: elm_obj_fileselector; - event_prefix: elm_fileselector; - methods { - @property buttons_ok_cancel { - set { - [[Enable/disable the "ok" and "cancel" buttons on a given file - selector widget - - Note: A file selector without those buttons will never emit the - "done" smart event, and is only usable if one is just hooking - to the other two events. - - See also @.buttons_ok_cancel.get. - ]] - } - get { - [[Get whether the "ok" and "cancel" buttons on a given file - selector widget are being shown. - - See also @.buttons_ok_cancel.set for more details. - ]] - } - values { - visible: bool; [[$true to show buttons, $false to hide.]] - } - } - } - implements { - class.constructor; - class.destructor; - Efl.Object.constructor; - Efl.Ui.Widget.widget_input_event_handler; - Efl.Ui.Widget.theme_apply; - Elm.Interface.Fileselector.selected_models { get; } - Elm.Interface.Fileselector.selected_model { get; set; } - Elm.Interface.Fileselector.custom_filter_append; - Elm.Interface.Fileselector.expandable { get; set; } - Elm.Interface.Fileselector.thumbnail_size { get; set; } - Elm.Interface.Fileselector.mime_types_filter_append; - Elm.Interface.Fileselector.hidden_visible { get; set; } - Elm.Interface.Fileselector.filters_clear; - Elm.Interface.Fileselector.is_save { get; set; } - Efl.Ui.View.model { get; set; } - Elm.Interface.Fileselector.sort_method { get; set; } - Elm.Interface.Fileselector.multi_select { get; set; } - Elm.Interface.Fileselector.folder_only { get; set; } - Elm.Interface.Fileselector.mode { get; set; } - Elm.Interface.Fileselector.current_name { get; set; } - Efl.Access.Widget.Action.elm_actions { get; } - Efl.Part.part_get; - } - events { - done: string; [[Called when OK button was pressed]] - /* FIXME: For all three events below, event_info can either be a string or an Efl.Model */ - activated: void; [[Called when the filesector was activated]] - selected,invalid: void; [[Called when fileselector was selected]] - directory,open: void; [[Called when a directory was opened]] - } -} diff --git a/src/lib/elementary/elm_fileselector_button.eo b/src/lib/elementary/elm_fileselector_button.eo deleted file mode 100644 index be3de44d08..0000000000 --- a/src/lib/elementary/elm_fileselector_button.eo +++ /dev/null @@ -1,30 +0,0 @@ -class Elm.Fileselector_Button extends Efl.Ui.Button implements Elm.Interface.Fileselector, - Efl.Ui.Legacy -{ - [[Elementary fileselector button class]] - event_prefix: elm_fileselector_button; - implements { - Efl.Object.constructor; - Efl.Ui.Widget.theme_apply; - Efl.Ui.Autorepeat.autorepeat_supported { get; } - Elm.Interface.Fileselector.selected_models { get; } - Elm.Interface.Fileselector.expandable { get; set; } - Elm.Interface.Fileselector.thumbnail_size { get; set; } - Elm.Interface.Fileselector.selected_model { get; set; } - Elm.Interface.Fileselector.hidden_visible { get; set; } - Elm.Interface.Fileselector.is_save { get; set; } - Efl.Ui.View.model { get; set; } - Elm.Interface.Fileselector.sort_method { get; set; } - Elm.Interface.Fileselector.multi_select { get; set; } - Elm.Interface.Fileselector.folder_only { get; set; } - Elm.Interface.Fileselector.mode { get; set; } - Elm.Interface.Fileselector.current_name { get; set; } - Elm.Interface.Fileselector.custom_filter_append; - Elm.Interface.Fileselector.mime_types_filter_append; - Elm.Interface.Fileselector.filters_clear; - } - events { - /* FIXME: Can be Efl.Model, string and NULL */ - file,chosen: void; [[Called when a file was chosen in the fileselector]] - } -} diff --git a/src/lib/elementary/elm_fileselector_button_eo.c b/src/lib/elementary/elm_fileselector_button_eo.c new file mode 100644 index 0000000000..36436bbbde --- /dev/null +++ b/src/lib/elementary/elm_fileselector_button_eo.c @@ -0,0 +1,149 @@ +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_BUTTON_EVENT_FILE_CHOSEN = + EFL_EVENT_DESCRIPTION("file,chosen"); + +Efl_Object *_elm_fileselector_button_efl_object_constructor(Eo *obj, Elm_Fileselector_Button_Data *pd); + + +Eina_Error _elm_fileselector_button_efl_ui_widget_theme_apply(Eo *obj, Elm_Fileselector_Button_Data *pd); + + +Eina_Bool _elm_fileselector_button_efl_ui_autorepeat_autorepeat_supported_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +const Eina_List *_elm_fileselector_button_elm_interface_fileselector_selected_models_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_expandable_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Eina_Bool expand); + + +Eina_Bool _elm_fileselector_button_elm_interface_fileselector_expandable_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_thumbnail_size_set(Eo *obj, Elm_Fileselector_Button_Data *pd, int w, int h); + + +void _elm_fileselector_button_elm_interface_fileselector_thumbnail_size_get(const Eo *obj, Elm_Fileselector_Button_Data *pd, int *w, int *h); + + +Eina_Bool _elm_fileselector_button_elm_interface_fileselector_selected_model_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Efl_Io_Model *model); + + +Efl_Io_Model *_elm_fileselector_button_elm_interface_fileselector_selected_model_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_hidden_visible_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Eina_Bool hidden); + + +Eina_Bool _elm_fileselector_button_elm_interface_fileselector_hidden_visible_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_is_save_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Eina_Bool is_save); + + +Eina_Bool _elm_fileselector_button_elm_interface_fileselector_is_save_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_efl_ui_view_model_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Efl_Model *model); + + +Efl_Model *_elm_fileselector_button_efl_ui_view_model_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_sort_method_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Elm_Fileselector_Sort sort); + + +Elm_Fileselector_Sort _elm_fileselector_button_elm_interface_fileselector_sort_method_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_multi_select_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Eina_Bool multi); + + +Eina_Bool _elm_fileselector_button_elm_interface_fileselector_multi_select_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_folder_only_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Eina_Bool only); + + +Eina_Bool _elm_fileselector_button_elm_interface_fileselector_folder_only_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_mode_set(Eo *obj, Elm_Fileselector_Button_Data *pd, Elm_Fileselector_Mode mode); + + +Elm_Fileselector_Mode _elm_fileselector_button_elm_interface_fileselector_mode_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +void _elm_fileselector_button_elm_interface_fileselector_current_name_set(Eo *obj, Elm_Fileselector_Button_Data *pd, const char *name); + + +const char *_elm_fileselector_button_elm_interface_fileselector_current_name_get(const Eo *obj, Elm_Fileselector_Button_Data *pd); + + +Eina_Bool _elm_fileselector_button_elm_interface_fileselector_custom_filter_append(Eo *obj, Elm_Fileselector_Button_Data *pd, Elm_Fileselector_Filter_Func func, void *data, const char *filter_name); + + +Eina_Bool _elm_fileselector_button_elm_interface_fileselector_mime_types_filter_append(Eo *obj, Elm_Fileselector_Button_Data *pd, const char *mime_types, const char *filter_name); + + +void _elm_fileselector_button_elm_interface_fileselector_filters_clear(Eo *obj, Elm_Fileselector_Button_Data *pd); + + +static Eina_Bool +_elm_fileselector_button_class_initializer(Efl_Class *klass) +{ + const Efl_Object_Ops *opsp = NULL; + + const Efl_Object_Property_Reflection_Ops *ropsp = NULL; + +#ifndef ELM_FILESELECTOR_BUTTON_EXTRA_OPS +#define ELM_FILESELECTOR_BUTTON_EXTRA_OPS +#endif + + EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(efl_constructor, _elm_fileselector_button_efl_object_constructor), + EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_fileselector_button_efl_ui_widget_theme_apply), + EFL_OBJECT_OP_FUNC(efl_ui_autorepeat_supported_get, _elm_fileselector_button_efl_ui_autorepeat_autorepeat_supported_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_models_get, _elm_fileselector_button_elm_interface_fileselector_selected_models_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_set, _elm_fileselector_button_elm_interface_fileselector_expandable_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_get, _elm_fileselector_button_elm_interface_fileselector_expandable_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_thumbnail_size_set, _elm_fileselector_button_elm_interface_fileselector_thumbnail_size_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_thumbnail_size_get, _elm_fileselector_button_elm_interface_fileselector_thumbnail_size_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_set, _elm_fileselector_button_elm_interface_fileselector_selected_model_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_get, _elm_fileselector_button_elm_interface_fileselector_selected_model_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_hidden_visible_set, _elm_fileselector_button_elm_interface_fileselector_hidden_visible_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_hidden_visible_get, _elm_fileselector_button_elm_interface_fileselector_hidden_visible_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_set, _elm_fileselector_button_elm_interface_fileselector_is_save_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_get, _elm_fileselector_button_elm_interface_fileselector_is_save_get), + EFL_OBJECT_OP_FUNC(efl_ui_view_model_set, _elm_fileselector_button_efl_ui_view_model_set), + EFL_OBJECT_OP_FUNC(efl_ui_view_model_get, _elm_fileselector_button_efl_ui_view_model_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_sort_method_set, _elm_fileselector_button_elm_interface_fileselector_sort_method_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_sort_method_get, _elm_fileselector_button_elm_interface_fileselector_sort_method_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_multi_select_set, _elm_fileselector_button_elm_interface_fileselector_multi_select_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_multi_select_get, _elm_fileselector_button_elm_interface_fileselector_multi_select_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_set, _elm_fileselector_button_elm_interface_fileselector_folder_only_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_get, _elm_fileselector_button_elm_interface_fileselector_folder_only_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mode_set, _elm_fileselector_button_elm_interface_fileselector_mode_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mode_get, _elm_fileselector_button_elm_interface_fileselector_mode_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_current_name_set, _elm_fileselector_button_elm_interface_fileselector_current_name_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_current_name_get, _elm_fileselector_button_elm_interface_fileselector_current_name_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_custom_filter_append, _elm_fileselector_button_elm_interface_fileselector_custom_filter_append), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mime_types_filter_append, _elm_fileselector_button_elm_interface_fileselector_mime_types_filter_append), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_filters_clear, _elm_fileselector_button_elm_interface_fileselector_filters_clear), + ELM_FILESELECTOR_BUTTON_EXTRA_OPS + ); + opsp = &ops; + + return efl_class_functions_set(klass, opsp, ropsp); +} + +static const Efl_Class_Description _elm_fileselector_button_class_desc = { + EO_VERSION, + "Elm.Fileselector_Button", + EFL_CLASS_TYPE_REGULAR, + sizeof(Elm_Fileselector_Button_Data), + _elm_fileselector_button_class_initializer, + NULL, + NULL +}; + +EFL_DEFINE_CLASS(elm_fileselector_button_class_get, &_elm_fileselector_button_class_desc, EFL_UI_BUTTON_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_fileselector_button_eo.h b/src/lib/elementary/elm_fileselector_button_eo.h new file mode 100644 index 0000000000..d130945e40 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_button_eo.h @@ -0,0 +1,32 @@ +#ifndef _ELM_FILESELECTOR_BUTTON_EO_H_ +#define _ELM_FILESELECTOR_BUTTON_EO_H_ + +#ifndef _ELM_FILESELECTOR_BUTTON_EO_CLASS_TYPE +#define _ELM_FILESELECTOR_BUTTON_EO_CLASS_TYPE + +typedef Eo Elm_Fileselector_Button; + +#endif + +#ifndef _ELM_FILESELECTOR_BUTTON_EO_TYPES +#define _ELM_FILESELECTOR_BUTTON_EO_TYPES + + +#endif +/** Elementary fileselector button class + * + * @ingroup Elm_Fileselector_Button + */ +#define ELM_FILESELECTOR_BUTTON_CLASS elm_fileselector_button_class_get() + +EWAPI const Efl_Class *elm_fileselector_button_class_get(void); + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_BUTTON_EVENT_FILE_CHOSEN; + +/** Called when a file was chosen in the fileselector + * + * @ingroup Elm_Fileselector_Button + */ +#define ELM_FILESELECTOR_BUTTON_EVENT_FILE_CHOSEN (&(_ELM_FILESELECTOR_BUTTON_EVENT_FILE_CHOSEN)) + +#endif diff --git a/src/lib/elementary/elm_fileselector_button_eo.legacy.h b/src/lib/elementary/elm_fileselector_button_eo.legacy.h new file mode 100644 index 0000000000..7ae3058fe5 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_button_eo.legacy.h @@ -0,0 +1,17 @@ +#ifndef _ELM_FILESELECTOR_BUTTON_EO_LEGACY_H_ +#define _ELM_FILESELECTOR_BUTTON_EO_LEGACY_H_ + +#ifndef _ELM_FILESELECTOR_BUTTON_EO_CLASS_TYPE +#define _ELM_FILESELECTOR_BUTTON_EO_CLASS_TYPE + +typedef Eo Elm_Fileselector_Button; + +#endif + +#ifndef _ELM_FILESELECTOR_BUTTON_EO_TYPES +#define _ELM_FILESELECTOR_BUTTON_EO_TYPES + + +#endif + +#endif diff --git a/src/lib/elementary/elm_fileselector_entry.eo b/src/lib/elementary/elm_fileselector_entry.eo deleted file mode 100644 index 5a01b8d594..0000000000 --- a/src/lib/elementary/elm_fileselector_entry.eo +++ /dev/null @@ -1,27 +0,0 @@ -class Elm.Fileselector_Entry extends Efl.Ui.Layout_Base implements Elm.Interface.Fileselector, - Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy -{ - [[Elementary fileselector entry class]] - event_prefix: elm_fileselector_entry; - implements { - class.constructor; - Efl.Object.constructor; - Efl.Ui.Widget.theme_apply; - Elm.Interface.Fileselector.selected_model { get; set; } - Elm.Interface.Fileselector.folder_only { get; set; } - Elm.Interface.Fileselector.is_save { get; set; } - Efl.Ui.View.model { get; set; } - Elm.Interface.Fileselector.expandable { get; set; } - Efl.Part.part_get; - } - events { - changed: void; [[Called when the entry changed]] - activated: void; [[Called when the entry was activated]] - /* FIXME: Can be Efl.Model or string */ - file,chosen: void; [[Called when a file was chosen in the fileselector]] - press: void; [[Called when entry was pressed]] - } - composite { - Elm.Interface.Fileselector; - } -} diff --git a/src/lib/elementary/elm_fileselector_entry_eo.c b/src/lib/elementary/elm_fileselector_entry_eo.c new file mode 100644 index 0000000000..58c0092614 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_entry_eo.c @@ -0,0 +1,91 @@ +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_CHANGED = + EFL_EVENT_DESCRIPTION("changed"); +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_ACTIVATED = + EFL_EVENT_DESCRIPTION("activated"); +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_FILE_CHOSEN = + EFL_EVENT_DESCRIPTION("file,chosen"); +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_PRESS = + EFL_EVENT_DESCRIPTION("press"); + +Efl_Object *_elm_fileselector_entry_efl_object_constructor(Eo *obj, Elm_Fileselector_Entry_Data *pd); + + +Eina_Error _elm_fileselector_entry_efl_ui_widget_theme_apply(Eo *obj, Elm_Fileselector_Entry_Data *pd); + + +Eina_Bool _elm_fileselector_entry_elm_interface_fileselector_selected_model_set(Eo *obj, Elm_Fileselector_Entry_Data *pd, Efl_Io_Model *model); + + +Efl_Io_Model *_elm_fileselector_entry_elm_interface_fileselector_selected_model_get(const Eo *obj, Elm_Fileselector_Entry_Data *pd); + + +void _elm_fileselector_entry_elm_interface_fileselector_folder_only_set(Eo *obj, Elm_Fileselector_Entry_Data *pd, Eina_Bool only); + + +Eina_Bool _elm_fileselector_entry_elm_interface_fileselector_folder_only_get(const Eo *obj, Elm_Fileselector_Entry_Data *pd); + + +void _elm_fileselector_entry_elm_interface_fileselector_is_save_set(Eo *obj, Elm_Fileselector_Entry_Data *pd, Eina_Bool is_save); + + +Eina_Bool _elm_fileselector_entry_elm_interface_fileselector_is_save_get(const Eo *obj, Elm_Fileselector_Entry_Data *pd); + + +void _elm_fileselector_entry_efl_ui_view_model_set(Eo *obj, Elm_Fileselector_Entry_Data *pd, Efl_Model *model); + + +Efl_Model *_elm_fileselector_entry_efl_ui_view_model_get(const Eo *obj, Elm_Fileselector_Entry_Data *pd); + + +void _elm_fileselector_entry_elm_interface_fileselector_expandable_set(Eo *obj, Elm_Fileselector_Entry_Data *pd, Eina_Bool expand); + + +Eina_Bool _elm_fileselector_entry_elm_interface_fileselector_expandable_get(const Eo *obj, Elm_Fileselector_Entry_Data *pd); + + +Efl_Object *_elm_fileselector_entry_efl_part_part_get(const Eo *obj, Elm_Fileselector_Entry_Data *pd, const char *name); + + +static Eina_Bool +_elm_fileselector_entry_class_initializer(Efl_Class *klass) +{ + const Efl_Object_Ops *opsp = NULL; + + const Efl_Object_Property_Reflection_Ops *ropsp = NULL; + +#ifndef ELM_FILESELECTOR_ENTRY_EXTRA_OPS +#define ELM_FILESELECTOR_ENTRY_EXTRA_OPS +#endif + + EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(efl_constructor, _elm_fileselector_entry_efl_object_constructor), + EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_fileselector_entry_efl_ui_widget_theme_apply), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_set, _elm_fileselector_entry_elm_interface_fileselector_selected_model_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_get, _elm_fileselector_entry_elm_interface_fileselector_selected_model_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_set, _elm_fileselector_entry_elm_interface_fileselector_folder_only_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_get, _elm_fileselector_entry_elm_interface_fileselector_folder_only_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_set, _elm_fileselector_entry_elm_interface_fileselector_is_save_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_get, _elm_fileselector_entry_elm_interface_fileselector_is_save_get), + EFL_OBJECT_OP_FUNC(efl_ui_view_model_set, _elm_fileselector_entry_efl_ui_view_model_set), + EFL_OBJECT_OP_FUNC(efl_ui_view_model_get, _elm_fileselector_entry_efl_ui_view_model_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_set, _elm_fileselector_entry_elm_interface_fileselector_expandable_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_get, _elm_fileselector_entry_elm_interface_fileselector_expandable_get), + EFL_OBJECT_OP_FUNC(efl_part_get, _elm_fileselector_entry_efl_part_part_get), + ELM_FILESELECTOR_ENTRY_EXTRA_OPS + ); + opsp = &ops; + + return efl_class_functions_set(klass, opsp, ropsp); +} + +static const Efl_Class_Description _elm_fileselector_entry_class_desc = { + EO_VERSION, + "Elm.Fileselector_Entry", + EFL_CLASS_TYPE_REGULAR, + sizeof(Elm_Fileselector_Entry_Data), + _elm_fileselector_entry_class_initializer, + _elm_fileselector_entry_class_constructor, + NULL +}; + +EFL_DEFINE_CLASS(elm_fileselector_entry_class_get, &_elm_fileselector_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_UI_CLICKABLE_INTERFACE, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); diff --git a/src/lib/elementary/elm_fileselector_entry_eo.h b/src/lib/elementary/elm_fileselector_entry_eo.h new file mode 100644 index 0000000000..b343a7e212 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_entry_eo.h @@ -0,0 +1,56 @@ +#ifndef _ELM_FILESELECTOR_ENTRY_EO_H_ +#define _ELM_FILESELECTOR_ENTRY_EO_H_ + +#ifndef _ELM_FILESELECTOR_ENTRY_EO_CLASS_TYPE +#define _ELM_FILESELECTOR_ENTRY_EO_CLASS_TYPE + +typedef Eo Elm_Fileselector_Entry; + +#endif + +#ifndef _ELM_FILESELECTOR_ENTRY_EO_TYPES +#define _ELM_FILESELECTOR_ENTRY_EO_TYPES + + +#endif +/** Elementary fileselector entry class + * + * @ingroup Elm_Fileselector_Entry + */ +#define ELM_FILESELECTOR_ENTRY_CLASS elm_fileselector_entry_class_get() + +EWAPI const Efl_Class *elm_fileselector_entry_class_get(void); + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_CHANGED; + +/** Called when the entry changed + * + * @ingroup Elm_Fileselector_Entry + */ +#define ELM_FILESELECTOR_ENTRY_EVENT_CHANGED (&(_ELM_FILESELECTOR_ENTRY_EVENT_CHANGED)) + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_ACTIVATED; + +/** Called when the entry was activated + * + * @ingroup Elm_Fileselector_Entry + */ +#define ELM_FILESELECTOR_ENTRY_EVENT_ACTIVATED (&(_ELM_FILESELECTOR_ENTRY_EVENT_ACTIVATED)) + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_FILE_CHOSEN; + +/** Called when a file was chosen in the fileselector + * + * @ingroup Elm_Fileselector_Entry + */ +#define ELM_FILESELECTOR_ENTRY_EVENT_FILE_CHOSEN (&(_ELM_FILESELECTOR_ENTRY_EVENT_FILE_CHOSEN)) + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_ENTRY_EVENT_PRESS; + +/** Called when entry was pressed + * + * @ingroup Elm_Fileselector_Entry + */ +#define ELM_FILESELECTOR_ENTRY_EVENT_PRESS (&(_ELM_FILESELECTOR_ENTRY_EVENT_PRESS)) + +#endif diff --git a/src/lib/elementary/elm_fileselector_entry_eo.legacy.h b/src/lib/elementary/elm_fileselector_entry_eo.legacy.h new file mode 100644 index 0000000000..e0fbd6ab19 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_entry_eo.legacy.h @@ -0,0 +1,17 @@ +#ifndef _ELM_FILESELECTOR_ENTRY_EO_LEGACY_H_ +#define _ELM_FILESELECTOR_ENTRY_EO_LEGACY_H_ + +#ifndef _ELM_FILESELECTOR_ENTRY_EO_CLASS_TYPE +#define _ELM_FILESELECTOR_ENTRY_EO_CLASS_TYPE + +typedef Eo Elm_Fileselector_Entry; + +#endif + +#ifndef _ELM_FILESELECTOR_ENTRY_EO_TYPES +#define _ELM_FILESELECTOR_ENTRY_EO_TYPES + + +#endif + +#endif diff --git a/src/lib/elementary/elm_fileselector_eo.c b/src/lib/elementary/elm_fileselector_eo.c new file mode 100644 index 0000000000..36e7484546 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_eo.c @@ -0,0 +1,207 @@ +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_EVENT_DONE = + EFL_EVENT_DESCRIPTION("done"); +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_EVENT_ACTIVATED = + EFL_EVENT_DESCRIPTION("activated"); +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_EVENT_SELECTED_INVALID = + EFL_EVENT_DESCRIPTION("selected,invalid"); +EWAPI const Efl_Event_Description _ELM_FILESELECTOR_EVENT_DIRECTORY_OPEN = + EFL_EVENT_DESCRIPTION("directory,open"); + +void _elm_fileselector_buttons_ok_cancel_set(Eo *obj, Elm_Fileselector_Data *pd, Eina_Bool visible); + + +static Eina_Error +__eolian_elm_fileselector_buttons_ok_cancel_set_reflect(Eo *obj, Eina_Value val) +{ + Eina_Error r = 0; Eina_Bool cval; + if (!eina_value_bool_convert(&val, &cval)) + { + r = EINA_ERROR_VALUE_FAILED; + goto end; + } + elm_obj_fileselector_buttons_ok_cancel_set(obj, cval); + end: + eina_value_flush(&val); + return r; +} + +EOAPI EFL_VOID_FUNC_BODYV(elm_obj_fileselector_buttons_ok_cancel_set, EFL_FUNC_CALL(visible), Eina_Bool visible); + +Eina_Bool _elm_fileselector_buttons_ok_cancel_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +static Eina_Value +__eolian_elm_fileselector_buttons_ok_cancel_get_reflect(Eo *obj) +{ + Eina_Bool val = elm_obj_fileselector_buttons_ok_cancel_get(obj); + return eina_value_bool_init(val); +} + +EOAPI EFL_FUNC_BODY_CONST(elm_obj_fileselector_buttons_ok_cancel_get, Eina_Bool, 0); + +Efl_Object *_elm_fileselector_efl_object_constructor(Eo *obj, Elm_Fileselector_Data *pd); + + +Eina_Bool _elm_fileselector_efl_ui_widget_widget_input_event_handler(Eo *obj, Elm_Fileselector_Data *pd, const Efl_Event *eo_event, Efl_Canvas_Object *source); + + +Eina_Error _elm_fileselector_efl_ui_widget_theme_apply(Eo *obj, Elm_Fileselector_Data *pd); + + +const Eina_List *_elm_fileselector_elm_interface_fileselector_selected_models_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +Eina_Bool _elm_fileselector_elm_interface_fileselector_selected_model_set(Eo *obj, Elm_Fileselector_Data *pd, Efl_Io_Model *model); + + +Efl_Io_Model *_elm_fileselector_elm_interface_fileselector_selected_model_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +Eina_Bool _elm_fileselector_elm_interface_fileselector_custom_filter_append(Eo *obj, Elm_Fileselector_Data *pd, Elm_Fileselector_Filter_Func func, void *data, const char *filter_name); + + +void _elm_fileselector_elm_interface_fileselector_expandable_set(Eo *obj, Elm_Fileselector_Data *pd, Eina_Bool expand); + + +Eina_Bool _elm_fileselector_elm_interface_fileselector_expandable_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_elm_interface_fileselector_thumbnail_size_set(Eo *obj, Elm_Fileselector_Data *pd, int w, int h); + + +void _elm_fileselector_elm_interface_fileselector_thumbnail_size_get(const Eo *obj, Elm_Fileselector_Data *pd, int *w, int *h); + + +Eina_Bool _elm_fileselector_elm_interface_fileselector_mime_types_filter_append(Eo *obj, Elm_Fileselector_Data *pd, const char *mime_types, const char *filter_name); + + +void _elm_fileselector_elm_interface_fileselector_hidden_visible_set(Eo *obj, Elm_Fileselector_Data *pd, Eina_Bool hidden); + + +Eina_Bool _elm_fileselector_elm_interface_fileselector_hidden_visible_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_elm_interface_fileselector_filters_clear(Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_elm_interface_fileselector_is_save_set(Eo *obj, Elm_Fileselector_Data *pd, Eina_Bool is_save); + + +Eina_Bool _elm_fileselector_elm_interface_fileselector_is_save_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_efl_ui_view_model_set(Eo *obj, Elm_Fileselector_Data *pd, Efl_Model *model); + + +Efl_Model *_elm_fileselector_efl_ui_view_model_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_elm_interface_fileselector_sort_method_set(Eo *obj, Elm_Fileselector_Data *pd, Elm_Fileselector_Sort sort); + + +Elm_Fileselector_Sort _elm_fileselector_elm_interface_fileselector_sort_method_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_elm_interface_fileselector_multi_select_set(Eo *obj, Elm_Fileselector_Data *pd, Eina_Bool multi); + + +Eina_Bool _elm_fileselector_elm_interface_fileselector_multi_select_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_elm_interface_fileselector_folder_only_set(Eo *obj, Elm_Fileselector_Data *pd, Eina_Bool only); + + +Eina_Bool _elm_fileselector_elm_interface_fileselector_folder_only_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_elm_interface_fileselector_mode_set(Eo *obj, Elm_Fileselector_Data *pd, Elm_Fileselector_Mode mode); + + +Elm_Fileselector_Mode _elm_fileselector_elm_interface_fileselector_mode_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +void _elm_fileselector_elm_interface_fileselector_current_name_set(Eo *obj, Elm_Fileselector_Data *pd, const char *name); + + +const char *_elm_fileselector_elm_interface_fileselector_current_name_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +const Efl_Access_Action_Data *_elm_fileselector_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Fileselector_Data *pd); + + +Efl_Object *_elm_fileselector_efl_part_part_get(const Eo *obj, Elm_Fileselector_Data *pd, const char *name); + + +static Eina_Bool +_elm_fileselector_class_initializer(Efl_Class *klass) +{ + const Efl_Object_Ops *opsp = NULL; + + const Efl_Object_Property_Reflection_Ops *ropsp = NULL; + +#ifndef ELM_FILESELECTOR_EXTRA_OPS +#define ELM_FILESELECTOR_EXTRA_OPS +#endif + + EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(elm_obj_fileselector_buttons_ok_cancel_set, _elm_fileselector_buttons_ok_cancel_set), + EFL_OBJECT_OP_FUNC(elm_obj_fileselector_buttons_ok_cancel_get, _elm_fileselector_buttons_ok_cancel_get), + EFL_OBJECT_OP_FUNC(efl_constructor, _elm_fileselector_efl_object_constructor), + EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_fileselector_efl_ui_widget_widget_input_event_handler), + EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_fileselector_efl_ui_widget_theme_apply), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_models_get, _elm_fileselector_elm_interface_fileselector_selected_models_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_set, _elm_fileselector_elm_interface_fileselector_selected_model_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_get, _elm_fileselector_elm_interface_fileselector_selected_model_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_custom_filter_append, _elm_fileselector_elm_interface_fileselector_custom_filter_append), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_set, _elm_fileselector_elm_interface_fileselector_expandable_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_get, _elm_fileselector_elm_interface_fileselector_expandable_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_thumbnail_size_set, _elm_fileselector_elm_interface_fileselector_thumbnail_size_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_thumbnail_size_get, _elm_fileselector_elm_interface_fileselector_thumbnail_size_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mime_types_filter_append, _elm_fileselector_elm_interface_fileselector_mime_types_filter_append), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_hidden_visible_set, _elm_fileselector_elm_interface_fileselector_hidden_visible_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_hidden_visible_get, _elm_fileselector_elm_interface_fileselector_hidden_visible_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_filters_clear, _elm_fileselector_elm_interface_fileselector_filters_clear), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_set, _elm_fileselector_elm_interface_fileselector_is_save_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_get, _elm_fileselector_elm_interface_fileselector_is_save_get), + EFL_OBJECT_OP_FUNC(efl_ui_view_model_set, _elm_fileselector_efl_ui_view_model_set), + EFL_OBJECT_OP_FUNC(efl_ui_view_model_get, _elm_fileselector_efl_ui_view_model_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_sort_method_set, _elm_fileselector_elm_interface_fileselector_sort_method_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_sort_method_get, _elm_fileselector_elm_interface_fileselector_sort_method_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_multi_select_set, _elm_fileselector_elm_interface_fileselector_multi_select_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_multi_select_get, _elm_fileselector_elm_interface_fileselector_multi_select_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_set, _elm_fileselector_elm_interface_fileselector_folder_only_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_get, _elm_fileselector_elm_interface_fileselector_folder_only_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mode_set, _elm_fileselector_elm_interface_fileselector_mode_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mode_get, _elm_fileselector_elm_interface_fileselector_mode_get), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_current_name_set, _elm_fileselector_elm_interface_fileselector_current_name_set), + EFL_OBJECT_OP_FUNC(elm_interface_fileselector_current_name_get, _elm_fileselector_elm_interface_fileselector_current_name_get), + EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_fileselector_efl_access_widget_action_elm_actions_get), + EFL_OBJECT_OP_FUNC(efl_part_get, _elm_fileselector_efl_part_part_get), + ELM_FILESELECTOR_EXTRA_OPS + ); + opsp = &ops; + + static const Efl_Object_Property_Reflection refl_table[] = { + {"buttons_ok_cancel", __eolian_elm_fileselector_buttons_ok_cancel_set_reflect, __eolian_elm_fileselector_buttons_ok_cancel_get_reflect}, + }; + static const Efl_Object_Property_Reflection_Ops rops = { + refl_table, EINA_C_ARRAY_LENGTH(refl_table) + }; + ropsp = &rops; + + return efl_class_functions_set(klass, opsp, ropsp); +} + +static const Efl_Class_Description _elm_fileselector_class_desc = { + EO_VERSION, + "Elm.Fileselector", + EFL_CLASS_TYPE_REGULAR, + sizeof(Elm_Fileselector_Data), + _elm_fileselector_class_initializer, + _elm_fileselector_class_constructor, + _elm_fileselector_class_destructor +}; + +EFL_DEFINE_CLASS(elm_fileselector_class_get, &_elm_fileselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_UI_CLICKABLE_INTERFACE, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL); + +#include "elm_fileselector_eo.legacy.c" diff --git a/src/lib/elementary/elm_fileselector_eo.h b/src/lib/elementary/elm_fileselector_eo.h new file mode 100644 index 0000000000..74ce3f1984 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_eo.h @@ -0,0 +1,87 @@ +#ifndef _ELM_FILESELECTOR_EO_H_ +#define _ELM_FILESELECTOR_EO_H_ + +#ifndef _ELM_FILESELECTOR_EO_CLASS_TYPE +#define _ELM_FILESELECTOR_EO_CLASS_TYPE + +typedef Eo Elm_Fileselector; + +#endif + +#ifndef _ELM_FILESELECTOR_EO_TYPES +#define _ELM_FILESELECTOR_EO_TYPES + + +#endif +/** Elementary fileselector class + * + * @ingroup Elm_Fileselector + */ +#define ELM_FILESELECTOR_CLASS elm_fileselector_class_get() + +EWAPI const Efl_Class *elm_fileselector_class_get(void); + +/** + * @brief Enable/disable the "ok" and "cancel" buttons on a given file selector + * widget + * + * @note A file selector without those buttons will never emit the "done" smart + * event, and is only usable if one is just hooking to the other two events. + * + * See also @ref elm_obj_fileselector_buttons_ok_cancel_get. + * + * @param[in] obj The object. + * @param[in] visible @c true to show buttons, @c false to hide. + * + * @ingroup Elm_Fileselector + */ +EOAPI void elm_obj_fileselector_buttons_ok_cancel_set(Eo *obj, Eina_Bool visible); + +/** + * @brief Get whether the "ok" and "cancel" buttons on a given file selector + * widget are being shown. + * + * See also @ref elm_obj_fileselector_buttons_ok_cancel_set for more details. + * + * @param[in] obj The object. + * + * @return @c true to show buttons, @c false to hide. + * + * @ingroup Elm_Fileselector + */ +EOAPI Eina_Bool elm_obj_fileselector_buttons_ok_cancel_get(const Eo *obj); + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_EVENT_DONE; + +/** Called when OK button was pressed + * @return const char * + * + * @ingroup Elm_Fileselector + */ +#define ELM_FILESELECTOR_EVENT_DONE (&(_ELM_FILESELECTOR_EVENT_DONE)) + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_EVENT_ACTIVATED; + +/** Called when the filesector was activated + * + * @ingroup Elm_Fileselector + */ +#define ELM_FILESELECTOR_EVENT_ACTIVATED (&(_ELM_FILESELECTOR_EVENT_ACTIVATED)) + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_EVENT_SELECTED_INVALID; + +/** Called when fileselector was selected + * + * @ingroup Elm_Fileselector + */ +#define ELM_FILESELECTOR_EVENT_SELECTED_INVALID (&(_ELM_FILESELECTOR_EVENT_SELECTED_INVALID)) + +EWAPI extern const Efl_Event_Description _ELM_FILESELECTOR_EVENT_DIRECTORY_OPEN; + +/** Called when a directory was opened + * + * @ingroup Elm_Fileselector + */ +#define ELM_FILESELECTOR_EVENT_DIRECTORY_OPEN (&(_ELM_FILESELECTOR_EVENT_DIRECTORY_OPEN)) + +#endif diff --git a/src/lib/elementary/elm_fileselector_eo.legacy.c b/src/lib/elementary/elm_fileselector_eo.legacy.c new file mode 100644 index 0000000000..3780777255 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_eo.legacy.c @@ -0,0 +1,12 @@ + +EAPI void +elm_fileselector_buttons_ok_cancel_set(Elm_Fileselector *obj, Eina_Bool visible) +{ + elm_obj_fileselector_buttons_ok_cancel_set(obj, visible); +} + +EAPI Eina_Bool +elm_fileselector_buttons_ok_cancel_get(const Elm_Fileselector *obj) +{ + return elm_obj_fileselector_buttons_ok_cancel_get(obj); +} diff --git a/src/lib/elementary/elm_fileselector_eo.legacy.h b/src/lib/elementary/elm_fileselector_eo.legacy.h new file mode 100644 index 0000000000..c9c46bef92 --- /dev/null +++ b/src/lib/elementary/elm_fileselector_eo.legacy.h @@ -0,0 +1,47 @@ +#ifndef _ELM_FILESELECTOR_EO_LEGACY_H_ +#define _ELM_FILESELECTOR_EO_LEGACY_H_ + +#ifndef _ELM_FILESELECTOR_EO_CLASS_TYPE +#define _ELM_FILESELECTOR_EO_CLASS_TYPE + +typedef Eo Elm_Fileselector; + +#endif + +#ifndef _ELM_FILESELECTOR_EO_TYPES +#define _ELM_FILESELECTOR_EO_TYPES + + +#endif + +/** + * @brief Enable/disable the "ok" and "cancel" buttons on a given file selector + * widget + * + * @note A file selector without those buttons will never emit the "done" smart + * event, and is only usable if one is just hooking to the other two events. + * + * See also @ref elm_fileselector_buttons_ok_cancel_get. + * + * @param[in] obj The object. + * @param[in] visible @c true to show buttons, @c false to hide. + * + * @ingroup Elm_Fileselector_Group + */ +EAPI void elm_fileselector_buttons_ok_cancel_set(Elm_Fileselector *obj, Eina_Bool visible); + +/** + * @brief Get whether the "ok" and "cancel" buttons on a given file selector + * widget are being shown. + * + * See also @ref elm_fileselector_buttons_ok_cancel_set for more details. + * + * @param[in] obj The object. + * + * @return @c true to show buttons, @c false to hide. + * + * @ingroup Elm_Fileselector_Group + */ +EAPI Eina_Bool elm_fileselector_buttons_ok_cancel_get(const Elm_Fileselector *obj); + +#endif diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build index dbc68cf4bf..73f97ee3a4 100644 --- a/src/lib/elementary/meson.build +++ b/src/lib/elementary/meson.build @@ -1,7 +1,6 @@ pub_legacy_eo_files = [ 'efl_ui_clock_legacy.eo', 'elm_interface_fileselector.eo', - 'elm_fileselector.eo', 'elm_gengrid.eo', 'elm_gengrid_pan.eo', 'elm_genlist.eo', @@ -51,8 +50,6 @@ pub_legacy_eo_files = [ 'elm_actionslider_part.eo', 'elm_bubble_part.eo', 'elm_fileselector_part.eo', - 'elm_fileselector_button.eo', - 'elm_fileselector_entry.eo', 'elm_flipselector.eo', 'elm_grid.eo', 'elm_icon.eo', @@ -741,6 +738,12 @@ elementary_pub_headers = [ 'elm_diskselector_item_eo.legacy.h', 'elm_entry_eo.h', 'elm_entry_eo.legacy.h', + 'elm_fileselector_button_eo.h', + 'elm_fileselector_button_eo.legacy.h', + 'elm_fileselector_entry_eo.h', + 'elm_fileselector_entry_eo.legacy.h', + 'elm_fileselector_eo.h', + 'elm_fileselector_eo.legacy.h', 'elm_hoversel_eo.h', 'elm_hoversel_eo.legacy.h', 'elm_hoversel_item_eo.h',