2019-03-05 14:00:37 -08:00
|
|
|
#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()
|
|
|
|
|
efl: make all _class_get() functions const
please note, not the return type, but the function.
When appending __attribute__((const)) to a function, the compiler is
told that its enough to call this function once in a function.
This is quite often happening when we are efl_data_scope_get and
efl_super in a function that is different from a implemented function.
The compiler now starts to remove the calls that aggressivly that we
need to ensure that these calls are not removed, which means, the static
function calls, and the eo init are now checking the return value of
these functions, to ensure that they are called.
Please note that you now have to be carefull when your app calls
eo_shutdown, if it does so, you *must* call it at the end of a function,
or never call class_get after that anymore.
Overall this improves elm test runs 0.1s which is fair i guess, the main
thing that is faster is textrendering, where is also the point where
this is the most beneficial.
Please note, this replaces 42 occurences of double _class_get() ... THAT
is a sign!
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D12057
2020-07-16 03:39:23 -07:00
|
|
|
EWAPI const Efl_Class *elm_fileselector_class_get(void) EINA_CONST;
|
2019-03-05 14:00:37 -08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @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
|