Fixed Nabi Issues 49466,55718,55225,52332
[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.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
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::IFocusEventListener
37   , public Tizen::Ui::Controls::IFormBackEventListener
38   , public Tizen::Ui::Controls::IListViewItemProvider
39   , public Tizen::Ui::Controls::IListViewItemEventListener
40   , public Tizen::Ui::IKeypadEventListener
41   , public Tizen::Ui::IOrientationEventListener
42   , public Tizen::Ui::Scenes::ISceneEventListener
43   , public Tizen::Ui::Controls::ISearchBarEventListener
44
45   {
46   public:
47
48         /**
49          * @brief The Default Constructor
50          *
51          */
52         BookmarkListForm(void);
53
54         /**
55          * @brief               The Default Destructor
56          *
57          */
58         virtual ~BookmarkListForm(void);
59
60         /**
61          * @brief               Initializes this instance of BookmarkListForm.
62          *
63          */
64         bool Initialize(void);
65
66         // IActionEventListener
67         virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
68
69         // IFormBackEventListener
70         virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
71
72         /**
73          *  Initializes the controls of the UI for BookmarkListForm.
74          *
75          */
76         virtual result OnInitializing(void);
77         virtual result OnTerminating(void);
78
79         // IOrientationEventListener
80         void OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
81
82         // ISceneEventListener
83         virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
84         virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
85
86   protected:
87
88         // IListViewItemProvider
89         virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
90         virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
91         virtual int GetItemCount(void);
92
93         // IFastScrollListener
94         virtual void OnFastScrollIndexSelected(Tizen::Ui::Control& source, Tizen::Base::String& index);
95
96         //IFocusEventListener
97         virtual void OnFocusGained(const Tizen::Ui::Control& source) ;
98         virtual void OnFocusLost(const Tizen::Ui::Control& source) ;
99
100         // IListViewItemEventListener
101         virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
102         virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
103         virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
104         virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
105
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);
112
113         //ISearchBarEventListener
114         virtual void OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode);
115
116         void OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs);
117
118   private:
119         static const int IDA_TABBAR_ITEM_1;
120         static const int IDA_TABBAR_ITEM_2;
121         static const int IDA_FOOTER_ITEM1;
122         static const int IDA_FOOTER_ITEM2;
123         static const int IDA_FOOTER_ITEM_ADDBOOKMARK;
124         static const int IDA_FORMAT_FOLDER;
125         static const int IDA_FORMAT_SITE;
126         static const int IDA_CONTEXT_ITEM_FOLDER_EDIT;
127         static const int IDA_CONTEXT_ITEM_FOLDER_DELETE;
128         static const int IDA_CONTEXT_ITEM_EDIT;
129         static const int IDA_CONTEXT_ITEM_SHARE;
130         static const int IDA_CONTEXT_ITEM_DELETE;
131         static const int IDA_FORMAT_ICON;
132         static const int IDA_FORMAT_URL;
133
134         static const int IDA_CONFIRMATION_NO;
135         static const int IDA_CONFIRMATION_YES;
136         bool __noBookmarks;
137         Tizen::Base::String __parentID;
138         Tizen::Base::Collection::ArrayList* __pData;
139         ConfirmationPopup* __pConfirmationPopup;
140         Tizen::Ui::Controls::Footer* __pFooter;
141         Tizen::Ui::Controls::ListContextItem* __pItemContextFolder;
142         Tizen::Ui::Controls::ListContextItem* __pItemContextSite;
143         Tizen::Ui::Controls::ListView* __pListview;
144         SharePopup* __pPopUp;
145
146         Tizen::Ui::Scenes::SceneId __previousSceneId;
147         Tizen::Ui::Controls::SearchBar* __pSearchBar;
148         Tizen::Ui::Controls::ListView* __pSearchListView; // The GroupedListView which contains the Search Bookmark lists
149         bool __searchBookmark;
150         Tizen::Base::String __searchText;
151         int __selectedindex;
152         Tizen::Base::String __selectedTitle;
153         int __fontSize;
154   };
155
156 #endif  //_INT_BOOKMARK_LIST_FORM_H_