group "Elm_Config" struct {
- value "config_version" int: 131089;
+ value "config_version" int: 131090;
value "entry_select_allow" uchar: 1;
value "engine" string: "";
value "vsync" uchar: 0;
}
}
group "Elm_Config_Bindings_Widget" struct {
+ value "name" string: "Efl.Ui.Tab_Bar";
+ group "key_bindings" list {
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "Return";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "KP_Enter";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "space";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ }
+ }
+ group "Elm_Config_Bindings_Widget" struct {
value "name" string: "Efl.Ui.Video";
group "key_bindings" list {
group "Elm_Config_Binding_Key" struct {
group "Elm_Config" struct {
- value "config_version" int: 131089;
+ value "config_version" int: 131090;
value "entry_select_allow" uchar: 1;
value "engine" string: "";
value "vsync" uchar: 0;
}
}
group "Elm_Config_Bindings_Widget" struct {
+ value "name" string: "Efl.Ui.Tab_Bar";
+ group "key_bindings" list {
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "Return";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "KP_Enter";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "space";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ }
+ }
+ group "Elm_Config_Bindings_Widget" struct {
value "name" string: "Efl.Ui.Video";
group "key_bindings" list {
group "Elm_Config_Binding_Key" struct {
group "Elm_Config" struct {
- value "config_version" int: 131089;
+ value "config_version" int: 131090;
value "entry_select_allow" uchar: 1;
value "engine" string: "";
value "vsync" uchar: 0;
}
}
group "Elm_Config_Bindings_Widget" struct {
+ value "name" string: "Efl.Ui.Tab_Bar";
+ group "key_bindings" list {
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "Return";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "KP_Enter";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ group "Elm_Config_Binding_Key" struct {
+ value "context" int: 0;
+ value "key" string: "space";
+ value "action" string: "select";
+ value "params" string: "";
+ }
+ }
+ }
+ group "Elm_Config_Bindings_Widget" struct {
value "name" string: "Efl.Ui.Video";
group "key_bindings" list {
group "Elm_Config_Binding_Key" struct {
#include "els_box.h"
#define MY_CLASS EFL_UI_TAB_BAR_CLASS
+#define MY_CLASS_NAME "Efl.Ui.Tab_Bar"
static const char PART_NAME_TAB[] = "tab";
static void _tab_select(Efl_Ui_Tab_Bar_Data *sd, Tab_Info *ti);
+static Eina_Bool _key_action_select(Evas_Object *obj, const char *params);
+
+static const Elm_Action key_actions[] = {
+ {"select", _key_action_select},
+ {NULL, NULL}
+};
+
+static Eina_Bool
+_key_action_select(Evas_Object *obj, const char *params EINA_UNUSED)
+{
+ EFL_UI_TAB_BAR_DATA_GET(obj, sd);
+
+ if (!sd->tab_infos) return EINA_FALSE;
+
+ Tab_Info *ti;
+ Eina_List *l, *l_next;
+ EINA_LIST_FOREACH_SAFE(sd->tab_infos, l, l_next, ti)
+ {
+ if (efl_ui_focus_object_focus_get(ti->tab))
+ {
+ _tab_select(sd, ti);
+ return EINA_TRUE;
+ }
+ }
+
+ return EINA_FALSE;
+}
+
EOLIAN static void
_efl_ui_tab_bar_current_tab_set(Eo *obj EINA_UNUSED, Efl_Ui_Tab_Bar_Data *sd, int index)
{
return obj;
}
+/* Standard widget overrides */
+
+ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_tab_bar, Efl_Ui_Tab_Bar_Data)
+
#include "efl_ui_tab_bar.eo.c"
implements {
Efl.Object.constructor;
Efl.Object.destructor;
+ Efl.Ui.Widget.widget_event;
}
}
\ No newline at end of file
* the users config doesn't need to be wiped - simply new values need
* to be put in
*/
-# define ELM_CONFIG_FILE_GENERATION 0x0011
+# define ELM_CONFIG_FILE_GENERATION 0x0012
# define ELM_CONFIG_VERSION_EPOCH_OFFSET 16
# define ELM_CONFIG_VERSION ((ELM_CONFIG_EPOCH << ELM_CONFIG_VERSION_EPOCH_OFFSET) | \
ELM_CONFIG_FILE_GENERATION)