Initialize Tizen 2.3
[apps/osp/Internet.git] / inc / IntAddBookmarkForm.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:    IntAddBookmarkForm.h
20  *@brief:       This header file contains the declarations of the AddBookmarkForm class.
21  *
22  */
23
24 #ifndef _INT_ADD_BOOKMARK_FORM_H_
25 #define _INT_ADD_BOOKMARK_FORM_H_
26
27 #include <FBase.h>
28 #include <FUi.h>
29 #include "IntBookmarkData.h"
30 #include "IntMultipleWindowPresentationModel.h"
31
32 class AddBookmarkForm
33   : public Tizen::Ui::Controls::Form
34   , public Tizen::Ui::IActionEventListener
35   , public Tizen::Ui::Controls::IFormBackEventListener
36   , public Tizen::Ui::IKeypadEventListener
37   , public Tizen::Ui::Controls::IListViewItemEventListener
38   , public Tizen::Ui::Controls::IListViewItemProvider
39   , public Tizen::Ui::IOrientationEventListener
40   , public Tizen::Ui::ITextEventListener
41   , public Tizen::Ui::Scenes::ISceneEventListener
42   , public Tizen::Ui::IFocusEventListener
43   {
44   public:
45         /**
46          * @brief The Default Constructor
47          */
48         AddBookmarkForm(void);
49
50         /**
51          * @brief               The Default Destructor
52          */
53         virtual ~AddBookmarkForm(void);
54
55         /**
56          * @brief               Add Radio Buttons to the list panel.
57          */
58         void AddRadioButtonsToListPanel(void);
59
60         /**
61          * @brief               Shows alert message.
62          */
63         void CreateMessage(Tizen::Base::String& str);
64
65         /**
66          * @brief               Initializes this instance of AddBookmarkForm.
67          */
68         bool Initialize(void);
69
70         // Initializes the controls of the UI for AddBookmarkForm.
71         virtual result OnInitializing(void);
72
73         virtual result OnTerminating(void);
74
75         // IListViewItemEventListener
76         virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);
77         virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
78         virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
79         virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
80
81         //IListViewItemProvider
82         virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
83         virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
84         virtual int GetItemCount(void);
85
86         //IActionEventListener
87         virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
88
89         //IFormBackEventListener
90         virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
91
92         //IKeypadEventListener
93         virtual void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction);
94         virtual void OnKeypadClosed(Tizen::Ui::Control& source);
95         virtual void OnKeypadOpened(Tizen::Ui::Control& source);
96         virtual void OnKeypadWillOpen(Tizen::Ui::Control& source);
97
98         //IOrientationEventListener
99         virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
100
101         // ITextEventListener
102         virtual void OnTextValueChanged(const Tizen::Ui::Control& source);
103         virtual void OnTextValueChangeCanceled(const Tizen::Ui::Control& source);
104
105         //ISceneEventListener
106         virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
107         virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
108
109         //IFocusEventListener
110         virtual void    OnFocusGained (const Tizen::Ui::Control &source);
111         virtual void    OnFocusLost (const Tizen::Ui::Control &source);
112
113         static const int IDA_CREATE_BOOKMARK_FOLDER;
114         static const int IDA_BUTTON_DONE;
115         static const int IDA_BUTTON_CANCEL;
116         static const int IDA_LIST_LEFT_SIDE_MARGIN;
117         static const int IDA_LIST_LEFT_SIDE_MARGIN_DROPDOWN;
118   private:
119         int __fontSize;
120         int __folderCount;                                    // Number of bookmark folders
121         Tizen::Base::String __folderName;                     // Selected folder name
122         int __listHeight;
123         int __oldFolderCount;                                 // Folder count when view is deactivated.
124         BookmarkData* __pBookmark;
125         Tizen::Ui::Controls::EditField* __pEditFieldTitle;    // Title Edit-field
126         Tizen::Ui::Controls::EditField* __pEditFieldUrl;      // URL Editfield
127         Tizen::Ui::Controls::ListView* __pList;               // contains only one item
128         Tizen::Ui::Controls::Panel* __pListPanel;             // Contains the list of Bookmark folders inluding default Bookmark and Create Bookmark Folder Button
129         Tizen::Ui::Scenes::SceneId __previousScene;                       // previous scene id
130         Tizen::Ui::Controls::ScrollPanel* __pScrollPanel;     // The Main panel which is a scroll panel
131         WindowInfo* __pWindowInfo;                           // Contains window information of current scene
132         int __selectedIndex;                                 // The index of check-button which is selected
133         bool __showFolderList;
134         Tizen::Base::String __titleOnViewDeactivated;
135         Tizen::Base::String __view;
136         Tizen::Base::String __urlOnViewDeactivated;
137         int __itemHeight;
138         int __dropdownItemHeight;
139   };
140
141 #endif /* _INT_ADD_BOOKMARK_FORM_H_ */