NABI_SE issues resolved
[apps/osp/MyFiles.git] / inc / MfTopLevelFolderFileListForm.h
1 //\r
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
3 //\r
4 // Licensed under the Flora License, Version 1.1 (the License);\r
5 // you may not use this file except in compliance with the License.\r
6 // You may obtain a copy of the License at\r
7 //\r
8 //     http://floralicense.org/license/\r
9 //\r
10 // Unless required by applicable law or agreed to in writing, software\r
11 // distributed under the License is distributed on an AS IS BASIS,\r
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13 // See the License for the specific language governing permissions and\r
14 // limitations under the License.\r
15 //\r
16 \r
17 /**\r
18  * @file: MfTopLevelFolderFileListForm.h\r
19  * @brief:\r
20  */\r
21 \r
22 #ifndef _MF_TOP_LEVEL_FOLDER_FILE_LIST_FORM_H_\r
23 #define _MF_TOP_LEVEL_FOLDER_FILE_LIST_FORM_H_\r
24 \r
25 #include <FUi.h>\r
26 \r
27 #include "MfSubBaseFolderEntryForm.h"\r
28 #include "MfFolderNavigationPresentationModel.h"\r
29 \r
30 class TopLevelFolderFileListForm\r
31         : public SubBaseFolderEntryForm\r
32          , public Tizen::Ui::Controls::IIconListViewItemEventListener\r
33          , public Tizen::Ui::Controls::IIconListViewItemProvider\r
34 {\r
35 public:\r
36         TopLevelFolderFileListForm(void);\r
37 \r
38         ~TopLevelFolderFileListForm(void);\r
39 \r
40         /*! @fn Initialize(void)\r
41          * @brief Called to construct the corresponding form of the file.\r
42          */\r
43         bool Initialize(void);\r
44 \r
45         /*! @fn OnInitializing(void)\r
46          * @brief Called once the form has been constructed to initialize the controls within the form.\r
47          */\r
48         result OnInitializing(void);\r
49 \r
50         /*! @fn OnTerminating(void);\r
51          * @brief Called just before the form is deleted.\r
52          */\r
53         result OnTerminating(void);\r
54 \r
55         //IDeviceEventListener\r
56         virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);\r
57 \r
58         //IDeviceNotificationListener\r
59         void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);\r
60 \r
61         virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);\r
62 \r
63         virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);\r
64 \r
65         //! IOrientationEventListener\r
66         /*! @fn OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)\r
67          * @brief Called when an orientation change event occurs.\r
68          */\r
69         virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);\r
70         virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);\r
71         virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);\r
72 \r
73         //! IIconListViewItemEventListener\r
74         /*! @fn OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView& listView, int index, Tizen::Ui::Controls::IconListViewItemStatus status)\r
75          * @brief This method is called when an element of the IconListViewItem in the IconListView is checked, unchecked, or selected.\r
76          */\r
77         virtual void OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView& listView, int index, Tizen::Ui::Controls::IconListViewItemStatus status);\r
78 \r
79         virtual void OnListViewContextItemStateChanged (Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);\r
80         virtual void OnListViewItemLongPressed (Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool &invokeListViewItemCallback){};\r
81         virtual void OnListViewItemReordered (Tizen::Ui::Controls::ListView& listView, int indexFrom, int indexTo){};\r
82         virtual void OnListViewItemStateChanged (Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);\r
83         virtual void OnListViewItemSwept (Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction){};\r
84 \r
85         //!IIconListViewItemProvider\r
86         /*! @fn CreateItem(int index)\r
87          * @brief This method is called to create an IconListViewItem at a specified index and return a pointer to it.\r
88          */\r
89         virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);\r
90 \r
91         /*! @fn DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem)\r
92          * @brief This method is called to delete an IconListViewItem at a specified index of the IconListView.\r
93          */\r
94         virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);\r
95 \r
96         /*! @fn GetItemCount(void)\r
97          * @brief Returns the total number of items in the IconListView Control.\r
98          */\r
99         virtual int GetItemCount(void);\r
100 \r
101         // IListViewItemProvider\r
102     virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);\r
103     virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);\r
104 \r
105     //ISceneManagerEventListener\r
106         virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);\r
107         virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);\r
108 \r
109         void OnAppControlCompleted(void);\r
110 \r
111 private:\r
112         /*\r
113          * A private member function taking and returning no arguments.\r
114          * @fn InitializeAppRegistry()\r
115          * @brief Called to Initialize the AppRegistry and set a new key-value pair storing the ViewType of\r
116          * the Form.\r
117          * @param No parameters\r
118          * @return Void return type\r
119          */\r
120         void InitializeAppRegistry(void);\r
121 \r
122         void CreateCategoryPanel(void);\r
123 \r
124 private:\r
125         static const int IDA_BUTTON_IMAGE = 101;\r
126         static const int IDA_BUTTON_VIDEO = 102;\r
127         static const int IDA_BUTTON_SOUND = 103;\r
128         static const int IDA_BUTTON_DOCUMENT = 104;\r
129         static const int IDA_BUTTON_OTHERS = 105;\r
130 \r
131         static const int IDA_BTN_SEARCH = 107;\r
132 \r
133     static const int IDA_FORMAT_STRING = 108;\r
134     static const int IDA_FORMAT_BITMAP = 109;\r
135     static const int IDA_CONTEXT_ITEM_DETAIL = 110;\r
136 \r
137         static const int IDA_CONTEXT_MENU_BTN_SORT_BY = 111;\r
138         static const int IDA_CONTEXT_MENU_VIEW_AS = 112;\r
139 \r
140         static const int IDA_MOVE_COPY = 113;\r
141 \r
142 \r
143         bool __appControlRequest;\r
144         bool __checkMem;\r
145 \r
146         int __listItemCount;\r
147 \r
148         Tizen::Graphics::Bitmap* __pPhone;\r
149     Tizen::Graphics::Bitmap* __pMemoryCard;\r
150 #if 0\r
151     Tizen::Graphics::Bitmap* __pExternalStorage;\r
152     Tizen::Graphics::Bitmap* __pExternalStoragePress;\r
153 #endif\r
154     Tizen::Graphics::Bitmap* __pPhonePress;\r
155     Tizen::Graphics::Bitmap* __pMemoryCardPress;\r
156 \r
157         Tizen::Ui::Controls::ListContextItem* __pItemContext;\r
158 \r
159         Tizen::Base::Integer __copyOrMove;\r
160 \r
161         Tizen::Base::String __searchPathName;\r
162         Tizen::Base::String __previousSceneName;\r
163 \r
164         Tizen::Base::String __rootMediaPath;\r
165         \r
166         Tizen::Base::Collection::ArrayList* __pFolderList;\r
167         Tizen::Ui::Controls::Panel* __pCategoryIconPanel;\r
168 };\r
169 \r
170 \r
171 #endif /* _MF_TOP_LEVEL_FOLDER_FILE_LIST_FORM_H_ */\r