3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.1 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 //!Internet HistoryListForm class
19 /*@file: HistoryListForm.h
20 *@brief: This class defines HistoryListForm used define history
24 #ifndef _INT_HISTORY_LIST_FORM_H_
25 #define _INT_HISTORY_LIST_FORM_H_
32 * @class HistoryListForm
33 * @brief This class declares functions which displays history of browsed items, also one can search for items
36 : public Tizen::Ui::Controls::Form
37 , public Tizen::Ui::IActionEventListener
38 , public Tizen::Ui::IFocusEventListener
39 , public Tizen::Ui::Controls::IFormBackEventListener
40 , public Tizen::Ui::Controls::IGroupedListViewItemProvider
41 , public Tizen::Ui::Controls::IGroupedListViewItemEventListener
42 , public Tizen::Ui::IKeypadEventListener
43 , public Tizen::Ui::IOrientationEventListener
44 , public Tizen::Ui::Controls::ISearchBarEventListener
45 , public Tizen::Ui::Scenes::ISceneEventListener
46 , public Tizen::System::ISettingEventListener
50 * @brief The Default Constructor
52 HistoryListForm(void);
54 * @brief The Default Destructor
56 virtual ~HistoryListForm(void);
59 * @brief Initializes this HistoryListForm.
61 bool Initialize(void);
64 * @brief creates group items and store them in arraylist for later use.
66 void CreateGroupItems(void);
69 * @brief converts the integer value of month to string value for that corresponding month.
71 Tizen::Base::String GetMonth(int month);
73 // IActionEventListener
74 virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
77 virtual void OnFocusGained(const Tizen::Ui::Control& source) ;
78 virtual void OnFocusLost(const Tizen::Ui::Control& source) ;
80 // IFormBackEventListener
81 virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
83 //IGroupedListViewItemEventListener
84 void OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
85 void OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus status);
86 void OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, Tizen::Ui::Controls::SweepDirection direction);
89 * brief Initializes the controls of the UI for HistoryListForm.
91 virtual result OnInitializing(void);
93 virtual result OnTerminating(void);
95 //IOrientationEventListener
96 virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
98 //IGroupedListViewItemProvider
99 Tizen::Ui::Controls::GroupItem* CreateGroupItem(int groupIndex, int itemWidth);
100 Tizen::Ui::Controls::ListItemBase* CreateItem(int groupIndex, int itemIndex, int itemWidth);
101 bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth);
102 bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
103 int GetGroupCount(void);
104 int GetItemCount(int groupIndex);
106 //IKeypadEventListener
107 virtual void OnKeypadWillOpen(Tizen::Ui::Control& source);
108 virtual void OnKeypadOpened(Tizen::Ui::Control& source);
109 virtual void OnKeypadClosed(Tizen::Ui::Control& source);
110 virtual void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction);
111 virtual void OnKeypadBoundsChanged(Tizen::Ui::Control& source);
113 //ISceneEventListener
114 virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
115 virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
117 //ISearchBarEventListener
118 virtual void OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode);
120 void OnSettingChanged(Tizen::Base::String& key);
123 static const int IDA_TABBAR_ITEM_1;
124 static const int IDA_TABBAR_ITEM_2;
125 static const int IDA_EDIT_HISTORY_LIST_FORM;
126 static const int IDA_FORMAT_ICON;
127 static const int IDA_FORMAT_TITLE;
128 static const int IDA_FORMAT_URL;
129 static const int IDA_FORMAT_BOOKMARK;
132 bool __isNoHistoryPresent;
133 Tizen::Base::Collection::ArrayList* __pBookmarkList;
134 Tizen::Base::Collection::ArrayList* __pGroupData;
135 Tizen::Ui::Controls::GroupedListView* __pGroupedListView; // The GroupedListView which contains the history lists
136 Tizen::Ui::Controls::SearchBar* __pSearchBar;
137 Tizen::Base::Collection::ArrayList* __pSearchedData;
138 Tizen::Ui::Controls::GroupedListView* __pSearchListView; // The GroupedListView which contains the Search history lists
139 bool __searchHistory;
140 Tizen::Base::String __searchText;
141 Tizen::Ui::Scenes::SceneId __previousSceneId;
146 * @class GroupItemClass
147 * @brief This class helps in storing group item data
150 :public Tizen::Base::Object
155 GroupItemClass(void);
156 ~GroupItemClass(void);
157 GroupItemClass(const GroupItemClass& groupItem);
158 GroupItemClass& operator =(const GroupItemClass& groupItem);
160 * This function gets the GetEndTime of History
163 * @param No parameter
165 Tizen::Base::DateTime GetEndTime(void);
168 * This function gets the GetHistoryData of History
170 * @return A Pointer to ArrayList
171 * @param No parameter
173 Tizen::Base::Collection::ArrayList* GetHistoryData(void);
176 * This function gets the GetStartTime of History
179 * @param No parameter
181 Tizen::Base::DateTime GetStartTime(void);
184 * This function gets the GetTitleText of History
187 * @param No parameter
189 Tizen::Base::String GetTitleText(void);
192 * This function sets the StartTime for the History object
194 * @return No return type
195 * @param startTime The StartTime for the History
197 void SetStartTime(Tizen::Base::DateTime& startTime);
200 * This function sets the endTime for the History object
202 * @return No return type
203 * @param endTime The endTime for the History
205 void SetEndTime(Tizen::Base::DateTime& endTime);
208 * This function sets the titleText for the History object
210 * @return No return type
211 * @param titleText The titleText for the History
213 void SetTitleText(Tizen::Base::String& titleText);
216 * This function sets the data for the History object
218 * @return No return type
219 * @param pData The data for the History
221 void SetHistoryData(Tizen::Base::Collection::ArrayList* pData);
224 Tizen::Base::DateTime __startTime;
225 Tizen::Base::DateTime __endTime;
226 Tizen::Base::String __titleText;
227 Tizen::Base::Collection::ArrayList* __pData;
230 #endif /* _INT_HISTORY_LIST_FORM_H_ */