Tizen 2.0 Release
[apps/osp/Internet.git] / inc / IntBookmarkListForm.h
1 //
2
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (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
8 //
9 //     http://floralicense.org/license/
10 //
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.
16 //
17
18 //!Internet
19 /*@file:    BookmarkListForm
20  *@brief:       This class defines BookmarkListForm
21  *
22  */
23
24 #ifndef _INT_BOOKMARK_LIST_FORM_H_
25 #define _INT_BOOKMARK_LIST_FORM_H_
26
27 #include <FBase.h>
28 #include <FUi.h>
29 #include "IntConfirmationPopup.h"
30 #include "IntSharePopup.h"
31
32 class BookmarkListForm
33 : public Tizen::Ui::Controls::Form
34   , public Tizen::Ui::IActionEventListener
35   , public Tizen::Ui::Controls::IFastScrollListener
36   , public Tizen::Ui::Controls::IFormBackEventListener
37   , public Tizen::Ui::Controls::IListViewItemProvider
38   , public Tizen::Ui::Controls::IListViewItemEventListener
39   , public Tizen::Ui::IKeypadEventListener
40   , public Tizen::Ui::IOrientationEventListener
41   , public Tizen::Ui::Scenes::ISceneEventListener
42   , public Tizen::Ui::Controls::ISearchBarEventListener
43
44   {
45   public:
46
47         /**
48          * @brief The Default Constructor
49          *
50          */
51         BookmarkListForm(void);
52
53         /**
54          * @brief               The Default Destructor
55          *
56          */
57         virtual ~BookmarkListForm(void);
58
59         /**
60          * @brief               Initializes this instance of BookmarkListForm.
61          *
62          */
63         bool Initialize(void);
64
65         // IActionEventListener
66         virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
67
68         // IFormBackEventListener
69         virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
70
71         /**
72          *  Initializes the controls of the UI for BookmarkListForm.
73          *
74          */
75         virtual result OnInitializing(void);
76         virtual result OnTerminating(void);
77
78         // IOrientationEventListener
79         void OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
80
81         // ISceneEventListener
82         virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
83         virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
84
85   protected:
86
87         // IListViewItemProvider
88         virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
89         virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
90         virtual int GetItemCount(void);
91
92         // IFastScrollListener
93         virtual void OnFastScrollIndexSelected(Tizen::Ui::Control& source, Tizen::Base::String& index);
94
95         // IListViewItemEventListener
96         virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
97         virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
98         virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
99         virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
100
101         //IKeypadEventListener
102         virtual void OnKeypadWillOpen(Tizen::Ui::Control& source);
103         virtual void OnKeypadOpened(Tizen::Ui::Control& source);
104         virtual void OnKeypadClosed(Tizen::Ui::Control& source);
105         virtual void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction);
106
107         //ISearchBarEventListener
108         virtual void OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode);
109
110   private:
111         static const int IDA_TABBAR_ITEM_1;
112         static const int IDA_TABBAR_ITEM_2;
113         static const int IDA_FOOTER_ITEM1;
114         static const int IDA_FOOTER_ITEM2;
115         static const int IDA_FOOTER_ITEM_ADDBOOKMARK;
116         static const int IDA_FORMAT_FOLDER;
117         static const int IDA_FORMAT_SITE;
118         static const int IDA_CONTEXT_ITEM_FOLDER_EDIT;
119         static const int IDA_CONTEXT_ITEM_FOLDER_DELETE;
120         static const int IDA_CONTEXT_ITEM_EDIT;
121         static const int IDA_CONTEXT_ITEM_SHARE;
122         static const int IDA_CONTEXT_ITEM_DELETE;
123         static const int IDA_FORMAT_ICON;
124         static const int IDA_FORMAT_URL;
125
126         static const int IDA_CONFIRMATION_NO;
127         static const int IDA_CONFIRMATION_YES;
128         bool __noBookmarks;
129         Tizen::Base::String __parentID;
130         Tizen::Base::Collection::ArrayList* __pData;
131         ConfirmationPopup* __pConfirmationPopup;
132         Tizen::Ui::Controls::Footer* __pFooter;
133         Tizen::Ui::Controls::ListContextItem* __pItemContextFolder;
134         Tizen::Ui::Controls::ListContextItem* __pItemContextSite;
135         Tizen::Ui::Controls::ListView* __pListview;
136         SharePopup* __pPopUp;
137
138         Tizen::Ui::Scenes::SceneId __previousSceneId;
139         Tizen::Ui::Controls::SearchBar* __pSearchBar;
140         Tizen::Ui::Controls::ListView* __pSearchListView; // The GroupedListView which contains the Search Bookmark lists
141         bool __searchBookmark;
142         Tizen::Base::String __searchText;
143         int __selectedindex;
144         Tizen::Base::String __selectedTitle;
145   };
146
147 #endif  //_INT_BOOKMARK_LIST_FORM_H_