elm_systray: 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/D8203
This commit is contained in:
Mike Blumenkrantz 2019-03-05 17:00:37 -05:00 committed by Cedric BAIL
parent b01c6a09c8
commit 594f73348b
10 changed files with 827 additions and 131 deletions

View File

@ -180,7 +180,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_systray.eo \
lib/elementary/elm_widget_item_static_focus.eo \
lib/elementary/elm_ctxpopup_part.eo \
lib/elementary/elm_dayselector_part.eo \
@ -390,6 +389,8 @@ lib/elementary/elm_sys_notify_eo.c \
lib/elementary/elm_sys_notify_eo.legacy.c \
lib/elementary/elm_sys_notify_interface_eo.c \
lib/elementary/elm_sys_notify_interface_eo.legacy.c \
lib/elementary/elm_systray_eo.c \
lib/elementary/elm_systray_eo.legacy.c \
$(NULL)
elm_legacy_eo_headers = \
@ -587,6 +588,8 @@ lib/elementary/elm_sys_notify_eo.h \
lib/elementary/elm_sys_notify_eo.legacy.h \
lib/elementary/elm_sys_notify_interface_eo.h \
lib/elementary/elm_sys_notify_interface_eo.legacy.h \
lib/elementary/elm_systray_eo.h \
lib/elementary/elm_systray_eo.legacy.h \
$(NULL)

View File

@ -6,7 +6,7 @@
// FIXME: systray has no proper legacy API and clearly isn't ready for prime
// time with EO either.
#include "elm_systray.eo.h"
#include "elm_systray_eo.h"
#define WIDTH 320
#define HEIGHT 160

View File

@ -5,7 +5,7 @@
#include <Elementary.h>
#include "elm_priv.h"
#include "elm_systray.eo.h"
#include "elm_systray_eo.h"
#include "elm_systray_watcher.h"
EAPI int ELM_EVENT_SYSTRAY_READY = 0;
@ -514,4 +514,4 @@ _elm_unneed_systray(void)
}
}
#include "elm_systray.eo.c"
#include "elm_systray_eo.c"

View File

@ -1,125 +0,0 @@
enum Elm.Systray.Category
{
[[
Category of the Status Notifier Item.
@since 1.8
]]
app_status, [[Indicators of application status]]
communications, [[Communications apps]]
sys_services, [[System Service apps]]
hardware, [[Hardware indicators]]
other [[Undefined category]]
}
enum Elm.Systray.Status
{
[[
Application status information.
@since 1.8
]]
passive, [[Passive (normal)]]
active, [[Active]]
attention [[Needs Attention]]
}
class Elm.Systray extends Efl.Object
{
[[Elementary systray class]]
legacy_prefix: elm_systray;
eo_prefix: elm_obj_systray;
data: null;
methods {
@property id {
set {
[[Set the id of the Status Notifier Item.]]
}
get {
[[Get the id of the Status Notifier Item.]]
}
values {
id: string @nullable; [[Status notifier item ID]]
}
}
@property category {
set {
[[Set the category of the Status Notifier Item.]]
}
get {
[[Get the category of the Status Notifier Item.]]
}
values {
cat: Elm.Systray.Category; [[Category]]
}
}
@property icon_theme_path {
set {
[[Set the path to the theme where the icons can be found. Set this value to "" to use the default path.]]
}
get {
[[Get the path to the icon's theme currently in use.]]
}
values {
icon_theme_path: string @nullable; [[Icon theme path]]
}
}
@property menu {
set {
[[Set the object path of the D-Bus Menu that is to be show when the Status Notifier Item is activated by the user.]]
}
get {
[[Get the object path of the D-Bus Menu currently in use.]]
}
values {
menu: const(Efl.Object) @nullable; [[Object path for DBus menu]]
}
}
@property att_icon_name {
set {
[[Set the name of the attention icon to be used by the Status Notifier Item.]]
}
get {
[[Get the name of the attention icon used by the Status Notifier Item.]]
}
values {
att_icon_name: string @nullable; [[Attention icon name]]
}
}
@property status {
set {
[[Set the status of the Status Notifier Item.]]
}
get {
[[Get the status of the Status Notifier Item.]]
}
values {
st: Elm.Systray.Status; [[Status]]
}
}
@property icon_name {
set {
[[Set the name of the icon to be used by the Status Notifier Item.]]
}
get {
[[Get the name of the icon used by the Status Notifier Item.]]
}
values {
icon_name: string @nullable; [[Status icon name]]
}
}
@property title {
set {
[[Set the title of the Status Notifier Item.]]
}
get {
[[Get the title of the Status Notifier Item.]]
}
values {
title: string @nullable; [[Title]]
}
}
register {
[[Register this Status Notifier Item in the System Tray Watcher. This function should only be called after the event #ELM_EVENT_SYSTRAY_READY is emitted.]]
return: bool; [[$true on success, $false otherwise]]
}
}
}

View File

@ -2,6 +2,6 @@
#ifdef EFL_BETA_API_SUPPORT
# ifndef EFL_NOLEGACY_API_SUPPORT
# include "elm_systray.eo.legacy.h"
# include "elm_systray_eo.legacy.h"
# endif
#endif

View File

@ -0,0 +1,250 @@
void _elm_systray_id_set(Eo *obj, void *pd, const char *id);
static Eina_Error
__eolian_elm_systray_id_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_obj_systray_id_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_id_set, EFL_FUNC_CALL(id), const char *id);
const char *_elm_systray_id_get(const Eo *obj, void *pd);
static Eina_Value
__eolian_elm_systray_id_get_reflect(Eo *obj)
{
const char *val = elm_obj_systray_id_get(obj);
return eina_value_string_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_id_get, const char *, NULL);
void _elm_systray_category_set(Eo *obj, void *pd, Elm_Systray_Category cat);
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_category_set, EFL_FUNC_CALL(cat), Elm_Systray_Category cat);
Elm_Systray_Category _elm_systray_category_get(const Eo *obj, void *pd);
EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_category_get, Elm_Systray_Category, 0);
void _elm_systray_icon_theme_path_set(Eo *obj, void *pd, const char *icon_theme_path);
static Eina_Error
__eolian_elm_systray_icon_theme_path_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_obj_systray_icon_theme_path_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_icon_theme_path_set, EFL_FUNC_CALL(icon_theme_path), const char *icon_theme_path);
const char *_elm_systray_icon_theme_path_get(const Eo *obj, void *pd);
static Eina_Value
__eolian_elm_systray_icon_theme_path_get_reflect(Eo *obj)
{
const char *val = elm_obj_systray_icon_theme_path_get(obj);
return eina_value_string_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_icon_theme_path_get, const char *, NULL);
void _elm_systray_menu_set(Eo *obj, void *pd, const Efl_Object *menu);
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_menu_set, EFL_FUNC_CALL(menu), const Efl_Object *menu);
const Efl_Object *_elm_systray_menu_get(const Eo *obj, void *pd);
EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_menu_get, const Efl_Object *, NULL);
void _elm_systray_att_icon_name_set(Eo *obj, void *pd, const char *att_icon_name);
static Eina_Error
__eolian_elm_systray_att_icon_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_obj_systray_att_icon_name_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_att_icon_name_set, EFL_FUNC_CALL(att_icon_name), const char *att_icon_name);
const char *_elm_systray_att_icon_name_get(const Eo *obj, void *pd);
static Eina_Value
__eolian_elm_systray_att_icon_name_get_reflect(Eo *obj)
{
const char *val = elm_obj_systray_att_icon_name_get(obj);
return eina_value_string_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_att_icon_name_get, const char *, NULL);
void _elm_systray_status_set(Eo *obj, void *pd, Elm_Systray_Status st);
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_status_set, EFL_FUNC_CALL(st), Elm_Systray_Status st);
Elm_Systray_Status _elm_systray_status_get(const Eo *obj, void *pd);
EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_status_get, Elm_Systray_Status, 0);
void _elm_systray_icon_name_set(Eo *obj, void *pd, const char *icon_name);
static Eina_Error
__eolian_elm_systray_icon_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_obj_systray_icon_name_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_icon_name_set, EFL_FUNC_CALL(icon_name), const char *icon_name);
const char *_elm_systray_icon_name_get(const Eo *obj, void *pd);
static Eina_Value
__eolian_elm_systray_icon_name_get_reflect(Eo *obj)
{
const char *val = elm_obj_systray_icon_name_get(obj);
return eina_value_string_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_icon_name_get, const char *, NULL);
void _elm_systray_title_set(Eo *obj, void *pd, const char *title);
static Eina_Error
__eolian_elm_systray_title_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_obj_systray_title_set(obj, cval);
end:
eina_value_flush(&val);
return r;
}
EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_title_set, EFL_FUNC_CALL(title), const char *title);
const char *_elm_systray_title_get(const Eo *obj, void *pd);
static Eina_Value
__eolian_elm_systray_title_get_reflect(Eo *obj)
{
const char *val = elm_obj_systray_title_get(obj);
return eina_value_string_init(val);
}
EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_title_get, const char *, NULL);
Eina_Bool _elm_systray_register(Eo *obj, void *pd);
EOAPI EFL_FUNC_BODY(elm_obj_systray_register, Eina_Bool, 0);
static Eina_Bool
_elm_systray_class_initializer(Efl_Class *klass)
{
const Efl_Object_Ops *opsp = NULL;
const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
#ifndef ELM_SYSTRAY_EXTRA_OPS
#define ELM_SYSTRAY_EXTRA_OPS
#endif
EFL_OPS_DEFINE(ops,
EFL_OBJECT_OP_FUNC(elm_obj_systray_id_set, _elm_systray_id_set),
EFL_OBJECT_OP_FUNC(elm_obj_systray_id_get, _elm_systray_id_get),
EFL_OBJECT_OP_FUNC(elm_obj_systray_category_set, _elm_systray_category_set),
EFL_OBJECT_OP_FUNC(elm_obj_systray_category_get, _elm_systray_category_get),
EFL_OBJECT_OP_FUNC(elm_obj_systray_icon_theme_path_set, _elm_systray_icon_theme_path_set),
EFL_OBJECT_OP_FUNC(elm_obj_systray_icon_theme_path_get, _elm_systray_icon_theme_path_get),
EFL_OBJECT_OP_FUNC(elm_obj_systray_menu_set, _elm_systray_menu_set),
EFL_OBJECT_OP_FUNC(elm_obj_systray_menu_get, _elm_systray_menu_get),
EFL_OBJECT_OP_FUNC(elm_obj_systray_att_icon_name_set, _elm_systray_att_icon_name_set),
EFL_OBJECT_OP_FUNC(elm_obj_systray_att_icon_name_get, _elm_systray_att_icon_name_get),
EFL_OBJECT_OP_FUNC(elm_obj_systray_status_set, _elm_systray_status_set),
EFL_OBJECT_OP_FUNC(elm_obj_systray_status_get, _elm_systray_status_get),
EFL_OBJECT_OP_FUNC(elm_obj_systray_icon_name_set, _elm_systray_icon_name_set),
EFL_OBJECT_OP_FUNC(elm_obj_systray_icon_name_get, _elm_systray_icon_name_get),
EFL_OBJECT_OP_FUNC(elm_obj_systray_title_set, _elm_systray_title_set),
EFL_OBJECT_OP_FUNC(elm_obj_systray_title_get, _elm_systray_title_get),
EFL_OBJECT_OP_FUNC(elm_obj_systray_register, _elm_systray_register),
ELM_SYSTRAY_EXTRA_OPS
);
opsp = &ops;
static const Efl_Object_Property_Reflection refl_table[] = {
{"id", __eolian_elm_systray_id_set_reflect, __eolian_elm_systray_id_get_reflect},
{"icon_theme_path", __eolian_elm_systray_icon_theme_path_set_reflect, __eolian_elm_systray_icon_theme_path_get_reflect},
{"att_icon_name", __eolian_elm_systray_att_icon_name_set_reflect, __eolian_elm_systray_att_icon_name_get_reflect},
{"icon_name", __eolian_elm_systray_icon_name_set_reflect, __eolian_elm_systray_icon_name_get_reflect},
{"title", __eolian_elm_systray_title_set_reflect, __eolian_elm_systray_title_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_systray_class_desc = {
EO_VERSION,
"Elm.Systray",
EFL_CLASS_TYPE_REGULAR,
0,
_elm_systray_class_initializer,
NULL,
NULL
};
EFL_DEFINE_CLASS(elm_systray_class_get, &_elm_systray_class_desc, EFL_OBJECT_CLASS, NULL);
#include "elm_systray_eo.legacy.c"

View File

@ -0,0 +1,236 @@
#ifndef _ELM_SYSTRAY_EO_H_
#define _ELM_SYSTRAY_EO_H_
#ifndef _ELM_SYSTRAY_EO_CLASS_TYPE
#define _ELM_SYSTRAY_EO_CLASS_TYPE
typedef Eo Elm_Systray;
#endif
#ifndef _ELM_SYSTRAY_EO_TYPES
#define _ELM_SYSTRAY_EO_TYPES
/** Category of the Status Notifier Item.
*
* @since 1.8
*
* @ingroup Elm_Systray
*/
typedef enum
{
ELM_SYSTRAY_CATEGORY_APP_STATUS = 0, /**< Indicators of application status */
ELM_SYSTRAY_CATEGORY_COMMUNICATIONS, /**< Communications apps */
ELM_SYSTRAY_CATEGORY_SYS_SERVICES, /**< System Service apps */
ELM_SYSTRAY_CATEGORY_HARDWARE, /**< Hardware indicators */
ELM_SYSTRAY_CATEGORY_OTHER /**< Undefined category */
} Elm_Systray_Category;
/** Application status information.
*
* @since 1.8
*
* @ingroup Elm_Systray
*/
typedef enum
{
ELM_SYSTRAY_STATUS_PASSIVE = 0, /**< Passive (normal) */
ELM_SYSTRAY_STATUS_ACTIVE, /**< Active */
ELM_SYSTRAY_STATUS_ATTENTION /**< Needs Attention */
} Elm_Systray_Status;
#endif
/** Elementary systray class
*
* @ingroup Elm_Systray
*/
#define ELM_SYSTRAY_CLASS elm_systray_class_get()
EWAPI const Efl_Class *elm_systray_class_get(void);
/**
* @brief Set the id of the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] id Status notifier item ID
*
* @ingroup Elm_Systray
*/
EOAPI void elm_obj_systray_id_set(Eo *obj, const char *id);
/**
* @brief Get the id of the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Status notifier item ID
*
* @ingroup Elm_Systray
*/
EOAPI const char *elm_obj_systray_id_get(const Eo *obj);
/**
* @brief Set the category of the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] cat Category
*
* @ingroup Elm_Systray
*/
EOAPI void elm_obj_systray_category_set(Eo *obj, Elm_Systray_Category cat);
/**
* @brief Get the category of the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Category
*
* @ingroup Elm_Systray
*/
EOAPI Elm_Systray_Category elm_obj_systray_category_get(const Eo *obj);
/**
* @brief Set the path to the theme where the icons can be found. Set this
* value to "" to use the default path.
*
* @param[in] obj The object.
* @param[in] icon_theme_path Icon theme path
*
* @ingroup Elm_Systray
*/
EOAPI void elm_obj_systray_icon_theme_path_set(Eo *obj, const char *icon_theme_path);
/**
* @brief Get the path to the icon's theme currently in use.
*
* @param[in] obj The object.
*
* @return Icon theme path
*
* @ingroup Elm_Systray
*/
EOAPI const char *elm_obj_systray_icon_theme_path_get(const Eo *obj);
/**
* @brief Set the object path of the D-Bus Menu that is to be show when the
* Status Notifier Item is activated by the user.
*
* @param[in] obj The object.
* @param[in] menu Object path for DBus menu
*
* @ingroup Elm_Systray
*/
EOAPI void elm_obj_systray_menu_set(Eo *obj, const Efl_Object *menu);
/**
* @brief Get the object path of the D-Bus Menu currently in use.
*
* @param[in] obj The object.
*
* @return Object path for DBus menu
*
* @ingroup Elm_Systray
*/
EOAPI const Efl_Object *elm_obj_systray_menu_get(const Eo *obj);
/**
* @brief Set the name of the attention icon to be used by the Status Notifier
* Item.
*
* @param[in] obj The object.
* @param[in] att_icon_name Attention icon name
*
* @ingroup Elm_Systray
*/
EOAPI void elm_obj_systray_att_icon_name_set(Eo *obj, const char *att_icon_name);
/**
* @brief Get the name of the attention icon used by the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Attention icon name
*
* @ingroup Elm_Systray
*/
EOAPI const char *elm_obj_systray_att_icon_name_get(const Eo *obj);
/**
* @brief Set the status of the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] st Status
*
* @ingroup Elm_Systray
*/
EOAPI void elm_obj_systray_status_set(Eo *obj, Elm_Systray_Status st);
/**
* @brief Get the status of the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Status
*
* @ingroup Elm_Systray
*/
EOAPI Elm_Systray_Status elm_obj_systray_status_get(const Eo *obj);
/**
* @brief Set the name of the icon to be used by the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] icon_name Status icon name
*
* @ingroup Elm_Systray
*/
EOAPI void elm_obj_systray_icon_name_set(Eo *obj, const char *icon_name);
/**
* @brief Get the name of the icon used by the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Status icon name
*
* @ingroup Elm_Systray
*/
EOAPI const char *elm_obj_systray_icon_name_get(const Eo *obj);
/**
* @brief Set the title of the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] title Title
*
* @ingroup Elm_Systray
*/
EOAPI void elm_obj_systray_title_set(Eo *obj, const char *title);
/**
* @brief Get the title of the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Title
*
* @ingroup Elm_Systray
*/
EOAPI const char *elm_obj_systray_title_get(const Eo *obj);
/**
* @brief Register this Status Notifier Item in the System Tray Watcher. This
* function should only be called after the event #ELM_EVENT_SYSTRAY_READY is
* emitted.
*
* @param[in] obj The object.
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Systray
*/
EOAPI Eina_Bool elm_obj_systray_register(Eo *obj);
#endif

View File

@ -0,0 +1,102 @@
EAPI void
elm_systray_id_set(Elm_Systray *obj, const char *id)
{
elm_obj_systray_id_set(obj, id);
}
EAPI const char *
elm_systray_id_get(const Elm_Systray *obj)
{
return elm_obj_systray_id_get(obj);
}
EAPI void
elm_systray_category_set(Elm_Systray *obj, Elm_Systray_Category cat)
{
elm_obj_systray_category_set(obj, cat);
}
EAPI Elm_Systray_Category
elm_systray_category_get(const Elm_Systray *obj)
{
return elm_obj_systray_category_get(obj);
}
EAPI void
elm_systray_icon_theme_path_set(Elm_Systray *obj, const char *icon_theme_path)
{
elm_obj_systray_icon_theme_path_set(obj, icon_theme_path);
}
EAPI const char *
elm_systray_icon_theme_path_get(const Elm_Systray *obj)
{
return elm_obj_systray_icon_theme_path_get(obj);
}
EAPI void
elm_systray_menu_set(Elm_Systray *obj, const Efl_Object *menu)
{
elm_obj_systray_menu_set(obj, menu);
}
EAPI const Efl_Object *
elm_systray_menu_get(const Elm_Systray *obj)
{
return elm_obj_systray_menu_get(obj);
}
EAPI void
elm_systray_att_icon_name_set(Elm_Systray *obj, const char *att_icon_name)
{
elm_obj_systray_att_icon_name_set(obj, att_icon_name);
}
EAPI const char *
elm_systray_att_icon_name_get(const Elm_Systray *obj)
{
return elm_obj_systray_att_icon_name_get(obj);
}
EAPI void
elm_systray_status_set(Elm_Systray *obj, Elm_Systray_Status st)
{
elm_obj_systray_status_set(obj, st);
}
EAPI Elm_Systray_Status
elm_systray_status_get(const Elm_Systray *obj)
{
return elm_obj_systray_status_get(obj);
}
EAPI void
elm_systray_icon_name_set(Elm_Systray *obj, const char *icon_name)
{
elm_obj_systray_icon_name_set(obj, icon_name);
}
EAPI const char *
elm_systray_icon_name_get(const Elm_Systray *obj)
{
return elm_obj_systray_icon_name_get(obj);
}
EAPI void
elm_systray_title_set(Elm_Systray *obj, const char *title)
{
elm_obj_systray_title_set(obj, title);
}
EAPI const char *
elm_systray_title_get(const Elm_Systray *obj)
{
return elm_obj_systray_title_get(obj);
}
EAPI Eina_Bool
elm_systray_register(Elm_Systray *obj)
{
return elm_obj_systray_register(obj);
}

View File

@ -0,0 +1,229 @@
#ifndef _ELM_SYSTRAY_EO_LEGACY_H_
#define _ELM_SYSTRAY_EO_LEGACY_H_
#ifndef _ELM_SYSTRAY_EO_CLASS_TYPE
#define _ELM_SYSTRAY_EO_CLASS_TYPE
typedef Eo Elm_Systray;
#endif
#ifndef _ELM_SYSTRAY_EO_TYPES
#define _ELM_SYSTRAY_EO_TYPES
/** Category of the Status Notifier Item.
*
* @since 1.8
*
* @ingroup Elm_Systray
*/
typedef enum
{
ELM_SYSTRAY_CATEGORY_APP_STATUS = 0, /**< Indicators of application status */
ELM_SYSTRAY_CATEGORY_COMMUNICATIONS, /**< Communications apps */
ELM_SYSTRAY_CATEGORY_SYS_SERVICES, /**< System Service apps */
ELM_SYSTRAY_CATEGORY_HARDWARE, /**< Hardware indicators */
ELM_SYSTRAY_CATEGORY_OTHER /**< Undefined category */
} Elm_Systray_Category;
/** Application status information.
*
* @since 1.8
*
* @ingroup Elm_Systray
*/
typedef enum
{
ELM_SYSTRAY_STATUS_PASSIVE = 0, /**< Passive (normal) */
ELM_SYSTRAY_STATUS_ACTIVE, /**< Active */
ELM_SYSTRAY_STATUS_ATTENTION /**< Needs Attention */
} Elm_Systray_Status;
#endif
/**
* @brief Set the id of the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] id Status notifier item ID
*
* @ingroup Elm_Systray_Group
*/
EAPI void elm_systray_id_set(Elm_Systray *obj, const char *id);
/**
* @brief Get the id of the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Status notifier item ID
*
* @ingroup Elm_Systray_Group
*/
EAPI const char *elm_systray_id_get(const Elm_Systray *obj);
/**
* @brief Set the category of the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] cat Category
*
* @ingroup Elm_Systray_Group
*/
EAPI void elm_systray_category_set(Elm_Systray *obj, Elm_Systray_Category cat);
/**
* @brief Get the category of the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Category
*
* @ingroup Elm_Systray_Group
*/
EAPI Elm_Systray_Category elm_systray_category_get(const Elm_Systray *obj);
/**
* @brief Set the path to the theme where the icons can be found. Set this
* value to "" to use the default path.
*
* @param[in] obj The object.
* @param[in] icon_theme_path Icon theme path
*
* @ingroup Elm_Systray_Group
*/
EAPI void elm_systray_icon_theme_path_set(Elm_Systray *obj, const char *icon_theme_path);
/**
* @brief Get the path to the icon's theme currently in use.
*
* @param[in] obj The object.
*
* @return Icon theme path
*
* @ingroup Elm_Systray_Group
*/
EAPI const char *elm_systray_icon_theme_path_get(const Elm_Systray *obj);
/**
* @brief Set the object path of the D-Bus Menu that is to be show when the
* Status Notifier Item is activated by the user.
*
* @param[in] obj The object.
* @param[in] menu Object path for DBus menu
*
* @ingroup Elm_Systray_Group
*/
EAPI void elm_systray_menu_set(Elm_Systray *obj, const Efl_Object *menu);
/**
* @brief Get the object path of the D-Bus Menu currently in use.
*
* @param[in] obj The object.
*
* @return Object path for DBus menu
*
* @ingroup Elm_Systray_Group
*/
EAPI const Efl_Object *elm_systray_menu_get(const Elm_Systray *obj);
/**
* @brief Set the name of the attention icon to be used by the Status Notifier
* Item.
*
* @param[in] obj The object.
* @param[in] att_icon_name Attention icon name
*
* @ingroup Elm_Systray_Group
*/
EAPI void elm_systray_att_icon_name_set(Elm_Systray *obj, const char *att_icon_name);
/**
* @brief Get the name of the attention icon used by the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Attention icon name
*
* @ingroup Elm_Systray_Group
*/
EAPI const char *elm_systray_att_icon_name_get(const Elm_Systray *obj);
/**
* @brief Set the status of the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] st Status
*
* @ingroup Elm_Systray_Group
*/
EAPI void elm_systray_status_set(Elm_Systray *obj, Elm_Systray_Status st);
/**
* @brief Get the status of the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Status
*
* @ingroup Elm_Systray_Group
*/
EAPI Elm_Systray_Status elm_systray_status_get(const Elm_Systray *obj);
/**
* @brief Set the name of the icon to be used by the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] icon_name Status icon name
*
* @ingroup Elm_Systray_Group
*/
EAPI void elm_systray_icon_name_set(Elm_Systray *obj, const char *icon_name);
/**
* @brief Get the name of the icon used by the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Status icon name
*
* @ingroup Elm_Systray_Group
*/
EAPI const char *elm_systray_icon_name_get(const Elm_Systray *obj);
/**
* @brief Set the title of the Status Notifier Item.
*
* @param[in] obj The object.
* @param[in] title Title
*
* @ingroup Elm_Systray_Group
*/
EAPI void elm_systray_title_set(Elm_Systray *obj, const char *title);
/**
* @brief Get the title of the Status Notifier Item.
*
* @param[in] obj The object.
*
* @return Title
*
* @ingroup Elm_Systray_Group
*/
EAPI const char *elm_systray_title_get(const Elm_Systray *obj);
/**
* @brief Register this Status Notifier Item in the System Tray Watcher. This
* function should only be called after the event #ELM_EVENT_SYSTRAY_READY is
* emitted.
*
* @param[in] obj The object.
*
* @return @c true on success, @c false otherwise
*
* @ingroup Elm_Systray_Group
*/
EAPI Eina_Bool elm_systray_register(Elm_Systray *obj);
#endif

View File

@ -1,6 +1,5 @@
pub_legacy_eo_files = [
'efl_ui_clock_legacy.eo',
'elm_systray.eo',
'elm_widget_item_static_focus.eo',
'elm_ctxpopup_part.eo',
'elm_dayselector_part.eo',
@ -799,6 +798,8 @@ elementary_pub_headers = [
'elm_sys_notify_eo.legacy.h',
'elm_sys_notify_interface_eo.h',
'elm_sys_notify_interface_eo.legacy.h',
'elm_systray_eo.h',
'elm_systray_eo.legacy.h',
]
elementary_header_src = [