1 // Copyright 2016 Samsung Electronics. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef EWK_EFL_INTEGRATION_BROWSER_SELECT_PICKER_FORM_NAVIGABLE_PICKER_H_
6 #define EWK_EFL_INTEGRATION_BROWSER_SELECT_PICKER_FORM_NAVIGABLE_PICKER_H_
8 #include "browser/select_picker/select_picker_base.h"
10 class FormNavigablePicker : public SelectPickerBase {
12 ~FormNavigablePicker() override;
13 void UpdateFormNavigation(int form_element_count,
14 int current_node_index) override;
15 void UpdatePickerData(int selected_index,
16 const std::vector<content::MenuItem>& items,
17 bool is_multiple_selection) override;
20 explicit FormNavigablePicker(EWebView* web_view,
22 bool is_multi_select);
23 void RegisterCallbacks(const char* edj, bool overlay);
24 void RegisterCallbacks();
25 Evas_Object* AddBackground();
28 void RequestFormNavigationInformation();
29 void FormNavigate(bool direction);
32 void UpdateNavigationButtons();
33 static void KeyUpCallback(void* data,
38 static void HWBackKeyCallback(void* data, Evas_Object* obj, void* event_info);
40 static void ListClosedCallback(void* data,
44 static void NavigateToPrevCallback(void* data,
48 static void NavigateToNextCallback(void* data,
52 static Eina_Bool EcoreEventFilterCallback(void* data,
57 Ecore_Event_Filter* ecore_events_filter_;
58 struct FormNavigatorInfo {
63 } form_navigator_info_;
66 #endif // EWK_EFL_INTEGRATION_BROWSER_SELECT_PICKER_FORM_NAVIGABLE_PICKER_H_