Using UrlHistoryList do display history list (on urientry edition).
[profile/tv/apps/web/browser.git] / services / QuickAccess / UrlHistoryList / GenlistManagerCallbacks.cpp
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include "BrowserLogger.h"
18 #include <services/QuickAccess/UrlHistoryList/GenlistManagerCallbacks.h>
19
20 namespace tizen_browser {
21 namespace base_ui {
22
23 GenlistManager* GenlistManagerCallbacks::genlistManager = nullptr;
24
25 GenlistManagerCallbacks::GenlistManagerCallbacks()
26 {
27 }
28
29 GenlistManagerCallbacks::~GenlistManagerCallbacks()
30 {
31 }
32
33 void GenlistManagerCallbacks::_genlist_edge_top(void *data, Evas_Object* /*obj*/,
34         void* /*event_info*/)
35 {
36     auto manager = static_cast<GenlistManager*>(data);
37     manager->setLastEdgeTop(false);
38     // spaces added for 'slide in' effect are not longer needed
39     manager->removeSpaces();
40 }
41
42 void GenlistManagerCallbacks::_genlist_edge_bottom(void *data, Evas_Object* /*obj*/,
43         void* /*event_info*/)
44 {
45     auto manager = static_cast<GenlistManager*>(data);
46     manager->setLastEdgeTop(true);
47     if (manager->isWidgetHidden()) {
48         manager->clearWidget();
49         evas_object_hide(manager->getWidget());
50     }
51 }
52
53 void GenlistManagerCallbacks::_genlist_mouse_in(void* data, Evas* /*e*/,
54         Evas_Object* /*obj*/, void* /*event_info*/)
55 {
56     auto manager = static_cast<GenlistManager*>(data);
57     manager->onMouseFocusChange(true);
58 }
59 void GenlistManagerCallbacks::_genlist_mouse_out(void* data, Evas* /*e*/,
60         Evas_Object* /*obj*/, void* /*event_info*/)
61 {
62     auto manager = static_cast<GenlistManager*>(data);
63     manager->onMouseFocusChange(false);
64 }
65
66 void GenlistManagerCallbacks::_genlist_focused(void* /*data*/, Evas_Object* /*obj*/,
67         void* /*event_info*/)
68 {
69     if(genlistManager)
70     {
71         genlistManager->signalWidgetFocused();
72     }
73 }
74
75 void GenlistManagerCallbacks::_genlist_unfocused(void* /*data*/, Evas_Object* /*obj*/,
76         void* /*event_info*/)
77 {
78     if(genlistManager)
79     {
80         genlistManager->signalWidgetUnfocused();
81     }
82 }
83
84 void GenlistManagerCallbacks::_item_selected(void* data, Evas_Object* /*obj*/,
85         void* /*event_info*/)
86 {
87     const UrlPair* const item = reinterpret_cast<UrlPair*>(data);
88     if (item) {
89         if(genlistManager)
90         {
91             genlistManager->signalItemSelected(item->urlOriginal);
92             genlistManager->hideWidgetPretty();
93         }
94     }
95 }
96
97 } /* namespace base_ui */
98 } /* namespace tizen_browser */