#include "elm_widget_popup.h"
#define ELM_POPUP_ACTION_BUTTON_MAX 3
+#define OUTLINE_TEXT "Center popup is opened, double tap to close the popup"
EAPI const char ELM_POPUP_SMART_NAME[] = "elm_popup";
static const char ACCESS_TITLE_PART[] = "access.title";
static const char ACCESS_BODY_PART[] = "access.body";
+static const char ACCESS_BASE_PART[] = "access.base";
static const char SIG_BLOCK_CLICKED[] = "block,clicked";
static const char SIG_TIMEOUT[] = "timeout";
}
static void
+_access_base_activate_cb(void *data,
+ Evas_Object *part_obj __UNUSED__,
+ Elm_Object_Item *item __UNUSED__)
+{
+ evas_object_del(data);
+}
+
+static void
_access_obj_process(Evas_Object *obj, Eina_Bool is_access)
{
Evas_Object *ao;
_elm_access_text_set(_elm_access_object_get(ao),
ELM_ACCESS_INFO, elm_object_text_get(sd->text_content_obj));
}
+
+ /* register outline */
+ ao = _elm_access_edje_object_part_object_register
+ (obj, ELM_WIDGET_DATA(sd)->resize_obj, ACCESS_BASE_PART);
+ _elm_access_text_set(_elm_access_object_get(ao),
+ ELM_ACCESS_TYPE, E_(OUTLINE_TEXT));
+ _elm_access_activate_callback_set
+ (_elm_access_object_get(ao), _access_base_activate_cb, obj);
}
else
{
_elm_access_edje_object_part_object_unregister
(obj, ELM_WIDGET_DATA(sd)->resize_obj, ACCESS_BODY_PART);
}
+
+ /* unregister outline */
+ _elm_access_edje_object_part_object_unregister
+ (obj, ELM_WIDGET_DATA(sd)->resize_obj, ACCESS_BASE_PART);
}
}
/* access */
if (_elm_config->access_mode)
{
+ ao = _access_object_get(obj, ACCESS_BASE_PART);
+ if (ao) items = eina_list_append(items, ao);
+
if (sd->title_text)
{
ao = _access_object_get(obj, ACCESS_TITLE_PART);
/* access */
if (_elm_config->access_mode)
{
+ ao = _access_object_get(obj, ACCESS_BASE_PART);
+ if (ao) items = eina_list_append(items, ao);
+
if (sd->title_text)
{
ao = _access_object_get(obj, ACCESS_TITLE_PART);
static void
_elm_popup_smart_add(Evas_Object *obj)
{
+ Evas_Object *ao;
+
EVAS_SMART_DATA_ALLOC(obj, Elm_Popup_Smart_Data);
ELM_WIDGET_CLASS(_elm_popup_parent_sc)->base.add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
_visuals_set(obj);
+
+ /* access */
+ if (_elm_config->access_mode)
+ {
+ ao = _elm_access_edje_object_part_object_register
+ (obj, ELM_WIDGET_DATA(priv)->resize_obj, ACCESS_BASE_PART);
+ _elm_access_text_set(_elm_access_object_get(ao),
+ ELM_ACCESS_TYPE, E_(OUTLINE_TEXT));
+ _elm_access_activate_callback_set
+ (_elm_access_object_get(ao), _access_base_activate_cb, obj);
+ }
}
static void