elm_interface_fileselector: remove all legacy usage from eo files

this takes the current generated output from eolian for legacy code in
efl and adds it to the tree, then removes legacy references from the
corresponding eo files. in the case where the entire eo file was for
a legacy object, that eo file has been removed from the tree

ref T7724

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8178
This commit is contained in:
Mike Blumenkrantz 2019-03-05 17:00:37 -05:00 committed by Cedric BAIL
parent c5493fb81c
commit 6db020521d
9 changed files with 644 additions and 179 deletions

View File

@ -186,7 +186,6 @@ elm_private_eolian_files = \
# Legacy classes - not part of public EO API
elm_legacy_eolian_files = \
lib/elementary/efl_ui_clock_legacy.eo \
lib/elementary/elm_interface_fileselector.eo \
lib/elementary/elm_label.eo \
lib/elementary/elm_list.eo \
lib/elementary/elm_map.eo \
@ -362,6 +361,7 @@ lib/elementary/elm_index_eo.c \
lib/elementary/elm_index_eo.legacy.c \
lib/elementary/elm_index_item_eo.c \
lib/elementary/elm_index_item_eo.legacy.c \
lib/elementary/elm_interface_fileselector_eo.c \
$(NULL)
elm_legacy_eo_headers = \
@ -487,6 +487,8 @@ lib/elementary/elm_index_eo.h \
lib/elementary/elm_index_eo.legacy.h \
lib/elementary/elm_index_item_eo.h \
lib/elementary/elm_index_item_eo.legacy.h \
lib/elementary/elm_interface_fileselector_eo.h \
lib/elementary/elm_interface_fileselector_eo.legacy.h \
$(NULL)

View File

@ -1,4 +1,4 @@
#include "elm_interface_fileselector.eo.legacy.h"
#include "elm_interface_fileselector_eo.legacy.h"
/**
* Add a new file selector widget to the given parent Elementary
* (container) object

View File

@ -8,4 +8,4 @@
#include "elm_interface_fileselector.h"
#include "elm_interface_fileselector.eo.c"
#include "elm_interface_fileselector_eo.c"

View File

@ -1,173 +0,0 @@
type Elm_Fileselector_Filter_Func: __undefined_type; [[Elementary fileselector filter function type]]
enum Elm.Fileselector.Mode
{
[[Defines how a file selector widget is to layout its contents
(file system entries).
]]
legacy: elm_fileselector;
list = 0, [[Layout as a list.]]
grid, [[Layout as a grid.]]
last [[Sentinel value to indicate last enum field during iteration]]
}
enum Elm.Fileselector.Sort
{
[[Fileselector sorting modes]]
by_filename_asc = 0, [[Alphabetical sort by ascending filename, default]]
by_filename_desc, [[Alphabetical sorting by descending filename]]
by_type_asc, [[Sort by file type]]
by_type_desc, [[Sort by file type description]]
by_size_asc, [[Sort by ascending file size]]
by_size_desc, [[Sort by descending file size]]
by_modified_asc, [[Sort by ascending modified date]]
by_modified_desc, [[Sort by descending modified date]]
last [[Sentinel value to indicate last enum field during iteration]]
}
interface Elm.Interface.Fileselector extends Efl.Ui.View
{
[[Elementary fileselector interface]]
eo_prefix: elm_interface_fileselector;
methods {
@property folder_only {
set {
[[Enable/disable folder-only view for a given file selector widget]]
}
get {
[[Get whether folder-only view is set for a given file selector]]
}
values {
only: bool; [[$true if folder view is set, $false otherwise]]
}
}
@property thumbnail_size {
set {
[[Set the size for the thumbnail of the file selector widget's view.]]
}
get {
[[Get the size for the thumbnail of a given file selector widget]]
}
values {
w: int; [[Width]]
h: int; [[Height]]
}
}
@property hidden_visible {
set {
[[Enable or disable visibility of hidden files/directories in the file selector widget.]]
}
get {
[[Get if hiden files/directories in the file selector are visible or not.]]
}
values {
hidden: bool; [[$true if hidden files are visible, $false otherwise]]
}
}
@property sort_method {
set {
[[Set the sort method of the file selector widget.]]
}
get {
[[Get the sort method of the file selector widget.]]
}
values {
sort: Elm.Fileselector.Sort; [[Sort method]]
}
}
@property multi_select {
set {
[[Enable or disable multi-selection in the fileselector]]
}
get {
[[Gets if multi-selection in fileselector is enabled or disabled.]]
}
values {
multi: bool; [[$true if multiselection is enabled, $false otherwise]]
}
}
@property expandable {
set {
[[Enable/disable a tree view in the given file selector widget, <b>if it's in]]
}
get {
[[Get whether tree view is enabled for the given file selector]]
}
values {
expand: bool; [[$true if tree view is expanded, $false otherwise]]
}
}
@property mode {
set {
[[Set the mode in which a given file selector widget will display (layout) file system entries in its view]]
}
get {
[[Get the mode in which a given file selector widget is displaying]]
}
values {
mode: Elm.Fileselector.Mode; [[Fileselector mode]]
}
}
@property 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 widget]]
}
get {
[[Get whether the given file selector is in "saving dialog" mode]]
}
values {
is_save: bool; [[$true if in saving mode, $false otherwise]]
}
}
@property selected_models {
get {
[[Get a list of models selected in the fileselector.]]
}
values {
ret: const(list<Efl.Model>); [[List of selected models]]
}
}
@property current_name {
[[ The filename that will be displayed in the filename entry]]
set {
}
get {
}
values {
name: string; [[Name]]
}
}
@property selected_model @beta {
set {
[[Set, programmatically, the currently selected file/directory in the given file selector widget]]
return: bool; [[$true on success, $false otherwise]]
}
get {
[[Get the currently selected item's model, in the given file the given file selector widget]]
}
values {
model: Efl.Io.Model; [[Model to be set, NULL reset it.]]
}
}
custom_filter_append {
[[Append custom filter into filter list]]
params {
@in func: Elm_Fileselector_Filter_Func; [[Filter function]]
@in data: void_ptr; [[Data pointer]]
@in filter_name: string; [[Filter name]]
}
return: bool; [[$true on success, $false otherwise]]
}
filters_clear {
[[Clear all filters registered]]
}
mime_types_filter_append {
[[Append mime type based filter into filter list]]
params {
@in mime_types: string; [[Mime types]]
@in filter_name: string; [[Filter name]]
}
return: bool; [[$true on success, $false otherwise]]
}
}
}

View File

@ -2,10 +2,10 @@
#define ELM_INTEFARCE_FILESELECTOR_H
#ifdef EFL_EO_API_SUPPORT
#include "elm_interface_fileselector.eo.h"
#include "elm_interface_fileselector_eo.h"
#endif
#ifndef EFL_NOLEGACY_API_SUPPORT
#include "elm_interface_fileselector.eo.legacy.h"
#include "elm_interface_fileselector_eo.legacy.h"
#endif
#define ELM_FILESELECTOR_INTERFACE_CHECK(obj, ...) \

View File

@ -0,0 +1,236 @@
static Eina_Error
__eolian_elm_interface_fileselector_folder_only_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_interface_fileselector_folder_only_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_folder_only_set, EFL_FUNC_CALL(only), Eina_Bool only);
static Eina_Value
__eolian_elm_interface_fileselector_folder_only_get_reflect(Eo *obj)
{
Eina_Bool val = elm_interface_fileselector_folder_only_get(obj);
return eina_value_bool_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_folder_only_get, Eina_Bool, 0);
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_thumbnail_size_set, EFL_FUNC_CALL(w, h), int w, int h);
EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_interface_fileselector_thumbnail_size_get, EFL_FUNC_CALL(w, h), int *w, int *h);
static Eina_Error
__eolian_elm_interface_fileselector_hidden_visible_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_interface_fileselector_hidden_visible_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_hidden_visible_set, EFL_FUNC_CALL(hidden), Eina_Bool hidden);
static Eina_Value
__eolian_elm_interface_fileselector_hidden_visible_get_reflect(Eo *obj)
{
Eina_Bool val = elm_interface_fileselector_hidden_visible_get(obj);
return eina_value_bool_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_hidden_visible_get, Eina_Bool, 0);
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_sort_method_set, EFL_FUNC_CALL(sort), Elm_Fileselector_Sort sort);
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_sort_method_get, Elm_Fileselector_Sort, 0);
static Eina_Error
__eolian_elm_interface_fileselector_multi_select_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_interface_fileselector_multi_select_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_multi_select_set, EFL_FUNC_CALL(multi), Eina_Bool multi);
static Eina_Value
__eolian_elm_interface_fileselector_multi_select_get_reflect(Eo *obj)
{
Eina_Bool val = elm_interface_fileselector_multi_select_get(obj);
return eina_value_bool_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_multi_select_get, Eina_Bool, 0);
static Eina_Error
__eolian_elm_interface_fileselector_expandable_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_interface_fileselector_expandable_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_expandable_set, EFL_FUNC_CALL(expand), Eina_Bool expand);
static Eina_Value
__eolian_elm_interface_fileselector_expandable_get_reflect(Eo *obj)
{
Eina_Bool val = elm_interface_fileselector_expandable_get(obj);
return eina_value_bool_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_expandable_get, Eina_Bool, 0);
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_mode_set, EFL_FUNC_CALL(mode), Elm_Fileselector_Mode mode);
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_mode_get, Elm_Fileselector_Mode, 0);
static Eina_Error
__eolian_elm_interface_fileselector_is_save_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_interface_fileselector_is_save_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_is_save_set, EFL_FUNC_CALL(is_save), Eina_Bool is_save);
static Eina_Value
__eolian_elm_interface_fileselector_is_save_get_reflect(Eo *obj)
{
Eina_Bool val = elm_interface_fileselector_is_save_get(obj);
return eina_value_bool_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_is_save_get, Eina_Bool, 0);
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_selected_models_get, const Eina_List *, NULL);
static Eina_Error
__eolian_elm_interface_fileselector_current_name_set_reflect(Eo *obj, Eina_Value val)
{
Eina_Error r = 0; const char *cval;
if (!eina_value_string_convert(&val, &cval))
{
r = EINA_ERROR_VALUE_FAILED;
goto end;
}
elm_interface_fileselector_current_name_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_interface_fileselector_current_name_set, EFL_FUNC_CALL(name), const char *name);
static Eina_Value
__eolian_elm_interface_fileselector_current_name_get_reflect(Eo *obj)
{
const char *val = elm_interface_fileselector_current_name_get(obj);
return eina_value_string_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_current_name_get, const char *, NULL);
EOAPI EFL_FUNC_BODYV(elm_interface_fileselector_selected_model_set, Eina_Bool, 0, EFL_FUNC_CALL(model), Efl_Io_Model *model);
EOAPI EFL_FUNC_BODY_CONST(elm_interface_fileselector_selected_model_get, Efl_Io_Model *, NULL);
EOAPI EFL_FUNC_BODYV(elm_interface_fileselector_custom_filter_append, Eina_Bool, 0, EFL_FUNC_CALL(func, data, filter_name), Elm_Fileselector_Filter_Func func, void *data, const char *filter_name);
EOAPI EFL_VOID_FUNC_BODY(elm_interface_fileselector_filters_clear);
EOAPI EFL_FUNC_BODYV(elm_interface_fileselector_mime_types_filter_append, Eina_Bool, 0, EFL_FUNC_CALL(mime_types, filter_name), const char *mime_types, const char *filter_name);
static Eina_Bool
_elm_interface_fileselector_class_initializer(Efl_Class *klass)
{
const Efl_Object_Ops *opsp = NULL;
const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
#ifndef ELM_INTERFACE_FILESELECTOR_EXTRA_OPS
#define ELM_INTERFACE_FILESELECTOR_EXTRA_OPS
#endif
EFL_OPS_DEFINE(ops,
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_folder_only_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_thumbnail_size_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_thumbnail_size_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_hidden_visible_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_hidden_visible_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_sort_method_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_sort_method_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_multi_select_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_multi_select_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_expandable_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mode_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mode_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_is_save_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_models_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_current_name_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_current_name_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_set, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_selected_model_get, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_custom_filter_append, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_filters_clear, NULL),
EFL_OBJECT_OP_FUNC(elm_interface_fileselector_mime_types_filter_append, NULL),
ELM_INTERFACE_FILESELECTOR_EXTRA_OPS
);
opsp = &ops;
static const Efl_Object_Property_Reflection refl_table[] = {
{"folder_only", __eolian_elm_interface_fileselector_folder_only_set_reflect, __eolian_elm_interface_fileselector_folder_only_get_reflect},
{"hidden_visible", __eolian_elm_interface_fileselector_hidden_visible_set_reflect, __eolian_elm_interface_fileselector_hidden_visible_get_reflect},
{"multi_select", __eolian_elm_interface_fileselector_multi_select_set_reflect, __eolian_elm_interface_fileselector_multi_select_get_reflect},
{"expandable", __eolian_elm_interface_fileselector_expandable_set_reflect, __eolian_elm_interface_fileselector_expandable_get_reflect},
{"is_save", __eolian_elm_interface_fileselector_is_save_set_reflect, __eolian_elm_interface_fileselector_is_save_get_reflect},
{"current_name", __eolian_elm_interface_fileselector_current_name_set_reflect, __eolian_elm_interface_fileselector_current_name_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_interface_fileselector_class_desc = {
EO_VERSION,
"Elm.Interface.Fileselector",
EFL_CLASS_TYPE_INTERFACE,
0,
_elm_interface_fileselector_class_initializer,
NULL,
NULL
};
EFL_DEFINE_CLASS(elm_interface_fileselector_interface_get, &_elm_interface_fileselector_class_desc, NULL, EFL_UI_VIEW_INTERFACE, NULL);

View File

@ -0,0 +1,326 @@
#ifndef _ELM_INTERFACE_FILESELECTOR_EO_H_
#define _ELM_INTERFACE_FILESELECTOR_EO_H_
#ifndef _ELM_INTERFACE_FILESELECTOR_EO_CLASS_TYPE
#define _ELM_INTERFACE_FILESELECTOR_EO_CLASS_TYPE
typedef Eo Elm_Interface_Fileselector;
#endif
#ifndef _ELM_INTERFACE_FILESELECTOR_EO_TYPES
#define _ELM_INTERFACE_FILESELECTOR_EO_TYPES
/** Defines how a file selector widget is to layout its contents (file system
* entries).
*
* @ingroup Elm_Fileselector
*/
typedef enum
{
ELM_FILESELECTOR_LIST = 0, /**< Layout as a list. */
ELM_FILESELECTOR_GRID, /**< Layout as a grid. */
ELM_FILESELECTOR_LAST /**< Sentinel value to indicate last enum field during
* iteration */
} Elm_Fileselector_Mode;
/** Fileselector sorting modes
*
* @ingroup Elm_Fileselector
*/
typedef enum
{
ELM_FILESELECTOR_SORT_BY_FILENAME_ASC = 0, /**< Alphabetical sort by ascending
* filename, default */
ELM_FILESELECTOR_SORT_BY_FILENAME_DESC, /**< Alphabetical sorting by
* descending filename */
ELM_FILESELECTOR_SORT_BY_TYPE_ASC, /**< Sort by file type */
ELM_FILESELECTOR_SORT_BY_TYPE_DESC, /**< Sort by file type description */
ELM_FILESELECTOR_SORT_BY_SIZE_ASC, /**< Sort by ascending file size */
ELM_FILESELECTOR_SORT_BY_SIZE_DESC, /**< Sort by descending file size */
ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC, /**< Sort by ascending modified date */
ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC, /**< Sort by descending modified date
*/
ELM_FILESELECTOR_SORT_LAST /**< Sentinel value to indicate last enum field
* during iteration */
} Elm_Fileselector_Sort;
#endif
/** Elementary fileselector interface
*
* @ingroup Elm_Interface_Fileselector
*/
#define ELM_INTERFACE_FILESELECTOR_INTERFACE elm_interface_fileselector_interface_get()
EWAPI const Efl_Class *elm_interface_fileselector_interface_get(void);
/**
* @brief Enable/disable folder-only view for a given file selector widget
*
* @param[in] obj The object.
* @param[in] only @c true if folder view is set, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_folder_only_set(Eo *obj, Eina_Bool only);
/**
* @brief Get whether folder-only view is set for a given file selector
*
* @param[in] obj The object.
*
* @return @c true if folder view is set, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Eina_Bool elm_interface_fileselector_folder_only_get(const Eo *obj);
/**
* @brief Set the size for the thumbnail of the file selector widget's view.
*
* @param[in] obj The object.
* @param[in] w Width
* @param[in] h Height
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_thumbnail_size_set(Eo *obj, int w, int h);
/**
* @brief Get the size for the thumbnail of a given file selector widget
*
* @param[in] obj The object.
* @param[out] w Width
* @param[out] h Height
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_thumbnail_size_get(const Eo *obj, int *w, int *h);
/**
* @brief Enable or disable visibility of hidden files/directories in the file
* selector widget.
*
* @param[in] obj The object.
* @param[in] hidden @c true if hidden files are visible, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_hidden_visible_set(Eo *obj, Eina_Bool hidden);
/**
* @brief Get if hiden files/directories in the file selector are visible or
* not.
*
* @param[in] obj The object.
*
* @return @c true if hidden files are visible, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Eina_Bool elm_interface_fileselector_hidden_visible_get(const Eo *obj);
/**
* @brief Set the sort method of the file selector widget.
*
* @param[in] obj The object.
* @param[in] sort Sort method
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_sort_method_set(Eo *obj, Elm_Fileselector_Sort sort);
/**
* @brief Get the sort method of the file selector widget.
*
* @param[in] obj The object.
*
* @return Sort method
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Elm_Fileselector_Sort elm_interface_fileselector_sort_method_get(const Eo *obj);
/**
* @brief Enable or disable multi-selection in the fileselector
*
* @param[in] obj The object.
* @param[in] multi @c true if multiselection is enabled, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_multi_select_set(Eo *obj, Eina_Bool multi);
/**
* @brief Gets if multi-selection in fileselector is enabled or disabled.
*
* @param[in] obj The object.
*
* @return @c true if multiselection is enabled, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Eina_Bool elm_interface_fileselector_multi_select_get(const Eo *obj);
/**
* @brief Enable/disable a tree view in the given file selector widget, <b>if
* it's in
*
* @param[in] obj The object.
* @param[in] expand @c true if tree view is expanded, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_expandable_set(Eo *obj, Eina_Bool expand);
/**
* @brief Get whether tree view is enabled for the given file selector
*
* @param[in] obj The object.
*
* @return @c true if tree view is expanded, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Eina_Bool elm_interface_fileselector_expandable_get(const Eo *obj);
/**
* @brief Set the mode in which a given file selector widget will display
* (layout) file system entries in its view
*
* @param[in] obj The object.
* @param[in] mode Fileselector mode
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_mode_set(Eo *obj, Elm_Fileselector_Mode mode);
/**
* @brief Get the mode in which a given file selector widget is displaying
*
* @param[in] obj The object.
*
* @return Fileselector mode
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Elm_Fileselector_Mode elm_interface_fileselector_mode_get(const Eo *obj);
/**
* @brief Enable/disable the file name entry box where the user can type in a
* name for a file, in a given file selector widget
*
* @param[in] obj The object.
* @param[in] is_save @c true if in saving mode, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_is_save_set(Eo *obj, Eina_Bool is_save);
/**
* @brief Get whether the given file selector is in "saving dialog" mode
*
* @param[in] obj The object.
*
* @return @c true if in saving mode, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Eina_Bool elm_interface_fileselector_is_save_get(const Eo *obj);
/**
* @brief Get a list of models selected in the fileselector.
*
* @param[in] obj The object.
*
* @return List of selected models
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI const Eina_List *elm_interface_fileselector_selected_models_get(const Eo *obj);
/**
* @brief The filename that will be displayed in the filename entry
*
* @param[in] obj The object.
* @param[in] name Name
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_current_name_set(Eo *obj, const char *name);
/**
* @brief The filename that will be displayed in the filename entry
*
* @param[in] obj The object.
*
* @return Name
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI const char *elm_interface_fileselector_current_name_get(const Eo *obj);
#ifdef EFL_BETA_API_SUPPORT
/**
* @brief Set, programmatically, the currently selected file/directory in the
* given file selector widget
*
* @param[in] obj The object.
* @param[in] model Model to be set, NULL reset it.
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Eina_Bool elm_interface_fileselector_selected_model_set(Eo *obj, Efl_Io_Model *model);
#endif /* EFL_BETA_API_SUPPORT */
#ifdef EFL_BETA_API_SUPPORT
/**
* @brief Get the currently selected item's model, in the given file the given
* file selector widget
*
* @param[in] obj The object.
*
* @return Model to be set, NULL reset it.
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Efl_Io_Model *elm_interface_fileselector_selected_model_get(const Eo *obj);
#endif /* EFL_BETA_API_SUPPORT */
/**
* @brief Append custom filter into filter list
*
* @param[in] obj The object.
* @param[in] func Filter function
* @param[in] data Data pointer
* @param[in] filter_name Filter name
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Eina_Bool elm_interface_fileselector_custom_filter_append(Eo *obj, Elm_Fileselector_Filter_Func func, void *data, const char *filter_name);
/** Clear all filters registered
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI void elm_interface_fileselector_filters_clear(Eo *obj);
/**
* @brief Append mime type based filter into filter list
*
* @param[in] obj The object.
* @param[in] mime_types Mime types
* @param[in] filter_name Filter name
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Interface_Fileselector
*/
EOAPI Eina_Bool elm_interface_fileselector_mime_types_filter_append(Eo *obj, const char *mime_types, const char *filter_name);
#endif

View File

@ -0,0 +1,73 @@
#ifndef _ELM_INTERFACE_FILESELECTOR_EO_LEGACY_H_
#define _ELM_INTERFACE_FILESELECTOR_EO_LEGACY_H_
#ifndef _ELM_INTERFACE_FILESELECTOR_EO_CLASS_TYPE
#define _ELM_INTERFACE_FILESELECTOR_EO_CLASS_TYPE
typedef Eo Elm_Interface_Fileselector;
#endif
#ifndef _ELM_INTERFACE_FILESELECTOR_EO_TYPES
#define _ELM_INTERFACE_FILESELECTOR_EO_TYPES
/** Defines how a file selector widget is to layout its contents (file system
* entries).
*
* @ingroup Elm_Fileselector
*/
typedef enum
{
ELM_FILESELECTOR_LIST = 0, /**< Layout as a list. */
ELM_FILESELECTOR_GRID, /**< Layout as a grid. */
ELM_FILESELECTOR_LAST /**< Sentinel value to indicate last enum field during
* iteration */
} Elm_Fileselector_Mode;
/** Fileselector sorting modes
*
* @ingroup Elm_Fileselector
*/
typedef enum
{
ELM_FILESELECTOR_SORT_BY_FILENAME_ASC = 0, /**< Alphabetical sort by ascending
* filename, default */
ELM_FILESELECTOR_SORT_BY_FILENAME_DESC, /**< Alphabetical sorting by
* descending filename */
ELM_FILESELECTOR_SORT_BY_TYPE_ASC, /**< Sort by file type */
ELM_FILESELECTOR_SORT_BY_TYPE_DESC, /**< Sort by file type description */
ELM_FILESELECTOR_SORT_BY_SIZE_ASC, /**< Sort by ascending file size */
ELM_FILESELECTOR_SORT_BY_SIZE_DESC, /**< Sort by descending file size */
ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC, /**< Sort by ascending modified date */
ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC, /**< Sort by descending modified date
*/
ELM_FILESELECTOR_SORT_LAST /**< Sentinel value to indicate last enum field
* during iteration */
} Elm_Fileselector_Sort;
#endif
#endif

View File

@ -1,6 +1,5 @@
pub_legacy_eo_files = [
'efl_ui_clock_legacy.eo',
'elm_interface_fileselector.eo',
'elm_label.eo',
'elm_list.eo',
'elm_map.eo',
@ -763,6 +762,8 @@ elementary_pub_headers = [
'elm_index_eo.legacy.h',
'elm_index_item_eo.h',
'elm_index_item_eo.legacy.h',
'elm_interface_fileselector_eo.h',
'elm_interface_fileselector_eo.legacy.h',
]
elementary_header_src = [