widget: Rename hook "activate" (EO)

This is for accessibility only. Protected function.

Also marked as beta as elm_access isn't going to be stable in EO (yet).

Ref T5363
This commit is contained in:
Jean-Philippe Andre 2017-08-24 15:21:59 +09:00
parent 81042b8aab
commit 0e98f57d6d
19 changed files with 45 additions and 32 deletions

View File

@ -5,6 +5,7 @@
#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
#define ELM_LAYOUT_PROTECTED
#define ELM_WIDGET_BETA
#include <Elementary.h>
#include "elm_priv.h"
@ -88,7 +89,7 @@ _efl_ui_button_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUS
}
EOLIAN static Eina_Bool
_efl_ui_button_elm_widget_activate(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUSED, Elm_Activate act)
_efl_ui_button_elm_widget_on_access_activate(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUSED, Elm_Activate act)
{
if (elm_widget_disabled_get(obj)) return EINA_FALSE;
if (act != ELM_ACTIVATE_DEFAULT) return EINA_FALSE;

View File

@ -16,7 +16,7 @@ class Efl.Ui.Button (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Autorepeat, Efl.Tex
Efl.Ui.Autorepeat.autorepeat_gap_timeout { set; get; }
Efl.Ui.Autorepeat.autorepeat_enabled { set; get; }
Efl.Ui.Autorepeat.autorepeat_supported { get;}
Elm.Widget.activate;
Elm.Widget.on_access_activate;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.theme_apply;

View File

@ -6,6 +6,7 @@
#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
#define ELM_LAYOUT_PROTECTED
#define EFL_UI_NSTATE_PROTECTED
#define ELM_WIDGET_BETA
#include <Elementary.h>
#include "elm_priv.h"
@ -132,7 +133,7 @@ _efl_ui_check_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Check_Data *_pd E
}
EOLIAN static Eina_Bool
_efl_ui_check_elm_widget_activate(Eo *obj EINA_UNUSED, Efl_Ui_Check_Data *_pd EINA_UNUSED, Elm_Activate act)
_efl_ui_check_elm_widget_on_access_activate(Eo *obj EINA_UNUSED, Efl_Ui_Check_Data *_pd EINA_UNUSED, Elm_Activate act)
{
if (elm_widget_disabled_get(obj)) return EINA_FALSE;
if (act != ELM_ACTIVATE_DEFAULT) return EINA_FALSE;

View File

@ -23,7 +23,7 @@ class Efl.Ui.Check (Efl.Ui.Nstate, Elm.Interface.Atspi_Widget_Action)
implements {
class.constructor;
Efl.Object.constructor;
Elm.Widget.activate;
Elm.Widget.on_access_activate;
Elm.Widget.theme_apply;
Elm.Widget.widget_sub_object_del;
Elm.Widget.widget_event;

View File

@ -5,6 +5,7 @@
#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
#define ELM_LAYOUT_PROTECTED
#define ELM_WIDGET_BETA
#include <Elementary.h>
@ -345,7 +346,7 @@ _efl_ui_radio_selected_object_get(Eo *obj EINA_UNUSED, Efl_Ui_Radio_Data *sd)
}
EOLIAN static Eina_Bool
_efl_ui_radio_elm_widget_activate(Eo *obj, Efl_Ui_Radio_Data *_pd EINA_UNUSED, Elm_Activate act)
_efl_ui_radio_elm_widget_on_access_activate(Eo *obj, Efl_Ui_Radio_Data *_pd EINA_UNUSED, Elm_Activate act)
{
if (elm_widget_disabled_get(obj)) return EINA_FALSE;
if (act != ELM_ACTIVATE_DEFAULT) return EINA_FALSE;

View File

@ -78,7 +78,7 @@ class Efl.Ui.Radio (Efl.Ui.Check, Elm.Interface.Atspi_Widget_Action)
class.constructor;
Efl.Object.constructor;
Elm.Widget.theme_apply;
Elm.Widget.activate;
Elm.Widget.on_access_activate;
Elm.Widget.widget_event;
Elm.Interface.Atspi_Accessible.state_set { get; }
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }

View File

@ -6,6 +6,7 @@
#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
#define ELM_INTERFACE_ATSPI_VALUE_PROTECTED
#define ELM_LAYOUT_PROTECTED
#define ELM_WIDGET_BETA
#include <Elementary.h>
@ -601,7 +602,7 @@ _efl_ui_slider_elm_widget_widget_event(Eo *obj, Efl_Ui_Slider_Data *sd, const Ef
}
EOLIAN static Eina_Bool
_efl_ui_slider_elm_widget_activate(Eo *obj, Efl_Ui_Slider_Data *sd, Elm_Activate act)
_efl_ui_slider_elm_widget_on_access_activate(Eo *obj, Efl_Ui_Slider_Data *sd, Elm_Activate act)
{
if (elm_widget_disabled_get(obj)) return EINA_FALSE;
if (act == ELM_ACTIVATE_DEFAULT) return EINA_FALSE;

View File

@ -116,7 +116,7 @@ class Efl.Ui.Slider (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Direction,
Efl.Object.constructor;
Efl.Canvas.Group.group_calculate;
Elm.Widget.theme_apply;
Elm.Widget.activate;
Elm.Widget.on_access_activate;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.on_focus;

View File

@ -6,6 +6,7 @@
#define ELM_INTERFACE_ATSPI_TEXT_PROTECTED
#define ELM_INTERFACE_ATSPI_TEXT_EDITABLE_PROTECTED
#define ELM_LAYOUT_PROTECTED
#define ELM_WIDGET_BETA
#include <Elementary.h>
#include <Elementary_Cursor.h>
@ -3994,7 +3995,7 @@ _efl_ui_text_anchor_hover_end(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd)
/* END - ANCHOR HOVER */
EOLIAN static Eina_Bool
_efl_ui_text_elm_widget_activate(Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSED, Elm_Activate act)
_efl_ui_text_elm_widget_on_access_activate(Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSED, Elm_Activate act)
{
if (act != ELM_ACTIVATE_DEFAULT) return EINA_FALSE;

View File

@ -407,7 +407,7 @@ class Efl.Ui.Text (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Efl.Canvas.Layout_Signal.signal_callback_add;
Efl.Canvas.Layout_Signal.signal_callback_del;
Efl.Canvas.Layout_Signal.signal_emit;
Elm.Widget.activate;
Elm.Widget.on_access_activate;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.theme_apply;
Elm.Widget.on_focus;

View File

@ -4,6 +4,7 @@
#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
#define ELM_WIDGET_BETA
#include <Elementary.h>
#include "elm_priv.h"
@ -84,7 +85,7 @@ _access_action_callback_call(Evas_Object *obj,
}
EOLIAN static Eina_Bool
_elm_access_elm_widget_activate(Eo *obj, void *_pd EINA_UNUSED, Elm_Activate act)
_elm_access_elm_widget_on_access_activate(Eo *obj, void *_pd EINA_UNUSED, Elm_Activate act)
{
int type = ELM_ACCESS_ACTION_FIRST;

View File

@ -7,7 +7,7 @@ class Elm.Access (Elm.Widget, Elm.Interface.Atspi_Widget_Action)
implements {
class.constructor;
Efl.Object.constructor;
Elm.Widget.activate;
Elm.Widget.on_access_activate;
Elm.Widget.on_focus;
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
Elm.Interface.Atspi_Accessible.state_set { get; }

View File

@ -6,6 +6,7 @@
#define ELM_INTERFACE_ATSPI_TEXT_PROTECTED
#define ELM_INTERFACE_ATSPI_TEXT_EDITABLE_PROTECTED
#define ELM_LAYOUT_PROTECTED
#define ELM_WIDGET_BETA
#include <Elementary.h>
#include <Elementary_Cursor.h>
@ -5421,7 +5422,7 @@ _elm_entry_anchor_hover_end(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd)
/* END - ANCHOR HOVER */
EOLIAN static Eina_Bool
_elm_entry_elm_widget_activate(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, Elm_Activate act)
_elm_entry_elm_widget_on_access_activate(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, Elm_Activate act)
{
if (act != ELM_ACTIVATE_DEFAULT) return EINA_FALSE;

View File

@ -957,7 +957,7 @@ class Elm.Entry (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Efl.Canvas.Layout_Signal.signal_callback_add;
Efl.Canvas.Layout_Signal.signal_callback_del;
Efl.Canvas.Layout_Signal.signal_emit;
Elm.Widget.activate;
Elm.Widget.on_access_activate;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.theme_apply;
Elm.Widget.on_focus;

View File

@ -203,3 +203,15 @@ enum Elm.Icon.Type
file, [[Icon is of type file]]
standard [[Icon is of type standard]]
}
/* 'on_access_activate' is beta API in the Widget class */
enum Elm.Activate
{
[[Accessibility ]]
default = 0, [[Activate default]]
up, [[Activate up]]
down, [[Activate down]]
right, [[Activate right]]
left, [[Activate left]]
back, [[Activate back]]
}

View File

@ -4,6 +4,7 @@
#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
#define ELM_WIDGET_BETA
#include <Elementary.h>
@ -262,7 +263,7 @@ _key_action_move(Evas_Object *obj, const char *params)
}
EOLIAN static Eina_Bool
_elm_scroller_elm_widget_activate(Eo *obj, Elm_Scroller_Data *_pd EINA_UNUSED, Elm_Activate act)
_elm_scroller_elm_widget_on_access_activate(Eo *obj, Elm_Scroller_Data *_pd EINA_UNUSED, Elm_Activate act)
{
Evas_Coord x = 0;
Evas_Coord y = 0;

View File

@ -48,7 +48,7 @@ class Elm.Scroller (Efl.Ui.Layout, Elm.Interface_Scrollable,
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Elm.Widget.theme_apply;
Elm.Widget.activate;
Elm.Widget.on_access_activate;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.focus_next;

View File

@ -4550,7 +4550,7 @@ elm_widget_activate(Evas_Object *obj, Elm_Activate act)
ret = EINA_FALSE;
ret = elm_obj_widget_activate(obj, act);
ret = elm_obj_widget_on_access_activate(obj, act);
if (ret) return;
@ -6241,7 +6241,7 @@ _elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Dat
}
EOLIAN static Eina_Bool
_elm_widget_activate(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Elm_Activate act EINA_UNUSED)
_elm_widget_on_access_activate(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Elm_Activate act EINA_UNUSED)
{
WRN("The %s widget does not implement the \"activate\" functions.",
efl_class_name_get(efl_class_get(obj)));

View File

@ -8,17 +8,6 @@ function Efl.Ui.Scrollable_On_Show_Region
}
};
enum Elm.Activate
{
[[ Used in 'Virtual' function @Elm.Widget.activate. ]]
default = 0, [[Activate default]]
up, [[Activate up]]
down, [[Activate down]]
right, [[Activate right]]
left, [[Activate left]]
back, [[Activate back]]
}
struct @extern Elm.Theme; [[Elementary theme]]
abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
@ -411,10 +400,14 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
return: Efl.Ui.Theme.Apply; [[Indicates success, and if the current
theme or default theme was used.]]
}
activate {
[['Virtual' function to activate widget.]]
on_access_activate @protected @beta {
[[Hook function called when widget is activated through accessibility.
This meant to be overridden by subclasses to support accessibility.
This is an unstable API.
]]
params {
@in act: Elm.Activate; [[Activate]]
@in act: Elm.Activate; [[Type of activation.]]
}
return: bool; [[$true on success, $false otherwise]]
legacy: null; /* the legacy API has not the same number of parameter to we don't generate it. */