Fixed Nabi Issues 52332,54256,54601,54130,54264,54471
[apps/osp/Internet.git] / inc / IntEditHistoryListForm.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:    IntEditHistoryListForm
20  *@brief:       This class defines EditHistoryListForm used to edit the history scene
21  *
22  */
23
24 #ifndef _INT_EDIT_HISTORY_LIST_FORM_H_
25 #define _INT_EDIT_HISTORY_LIST_FORM_H_
26
27 #include <FBase.h>
28 #include <FUi.h>
29 #include "IntConfirmationPopup.h"
30 #include "IntNotificationPanel.h"
31
32
33 class EditHistoryListForm
34   : public Tizen::Ui::Controls::Form
35   , public Tizen::Base::Runtime::ITimerEventListener
36   , public Tizen::Ui::IActionEventListener
37   , public Tizen::Ui::Controls::IFormBackEventListener
38   , public Tizen::Ui::Controls::IGroupedListViewItemEventListener
39   , public Tizen::Ui::Controls::IGroupedListViewItemProvider
40   , public Tizen::Ui::IOrientationEventListener
41   , public Tizen::Ui::Scenes::ISceneEventListener
42   {
43   public:
44
45         /**
46          * @brief The Default constructor
47          */
48         EditHistoryListForm(void);
49
50         /**
51          * @brief The Default Destructor
52          */
53         virtual ~EditHistoryListForm(void);
54
55         /**
56          * @brief               To Create Group Items.
57          *
58          */
59         void CreateGroupItems(void);
60
61         /**
62          * @brief               Initializes this instance of EditHistoryListForm.
63          *
64          */
65         bool Initialize(void);
66
67         /**
68          * @brief converts the integer value of month to string value for that corresponding month.
69          *
70          */
71         Tizen::Base::String GetMonth(int month);
72
73   public:
74
75         // IActionEventListener
76         virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
77
78         // IFormBackEventListener
79         virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
80
81         //IGroupedListViewItemProvider
82         Tizen::Ui::Controls::GroupItem* CreateGroupItem(int groupIndex, int itemWidth);
83         Tizen::Ui::Controls::ListItemBase* CreateItem(int groupIndex, int itemIndex, int itemWidth);
84         bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth);
85         bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
86         int GetGroupCount(void);
87         int GetItemCount(int groupIndex);
88
89         /**
90          *  Initializes the controls of the UI for EditHistoryListForm.
91          */
92         virtual result OnInitializing(void);
93
94         virtual result OnTerminating(void);
95
96
97         //ITimerEventListener
98         virtual void OnTimerExpired(Tizen::Base::Runtime::Timer& timer);
99
100         //IGroupedListViewItemEventListener
101         void OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
102         void OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus status);
103         void OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, Tizen::Ui::Controls::SweepDirection direction);
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         //IOrientationEventListener
110         virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
111
112         void OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IList *pArgs);
113   protected:
114         static const int IDA_TABBAR_ITEM_1;
115         static const int IDA_TABBAR_ITEM_2;
116         static const int IDA_BUTTON_NEXT_FORM;
117         static const int IDA_FORMAT_ICON;
118         static const int IDA_FORMAT_TITLE;
119         static const int IDA_FORMAT_URL;
120         static const int IDA_SELECT_ALL_CHECKED;
121         static const int IDA_SELECT_ALL_UNCHECKED;
122         static const int IDA_DELETE_HISTORY;
123         static const int IDA_CANCEL;
124
125   private:
126         bool __isNoHistoryPresent;
127         Tizen::Base::Collection::ArrayList* __pGroupData;
128         Tizen::Base::Runtime::Timer* __pTimer;
129         Tizen::Ui::Controls::GroupedListView* __pListView; // The GroupedListView which contains the history lists
130
131         Tizen::Ui::Controls::CheckButton* __pSelectAllCheck;
132         Tizen::Ui::Controls::Label* __pSelectedLabel;
133         int __selectedCount;
134         int __fontSize;
135         ConfirmationPopup* __pConfirmationPopup;
136         NotificationPanel* __pNotification;
137
138         class GroupItemClass
139         :public Tizen::Base::Object
140          {
141          public:
142                 GroupItemClass() { __pData = NULL ;  }
143                 ~GroupItemClass(){ if(__pData!=null) __pData->RemoveAll(true); delete __pData; __pData = null;}
144                 GroupItemClass(const GroupItemClass& groupItem){__pData = groupItem.__pData; }
145                 GroupItemClass& operator =(const GroupItemClass& groupItem){if (this != &groupItem) __pData = groupItem.__pData;  return *this;}
146          public:
147                 Tizen::Base::DateTime __endTime;
148                 Tizen::Base::Collection::ArrayList* __pData;
149                 Tizen::Base::DateTime __startTime;
150                 Tizen::Base::String __titleText;
151
152
153          };
154   };
155
156 #endif /* _INT_EDIT_HISTORY_LIST_FORM_H_ */