NABI_SE issues resolved
[apps/osp/MyFiles.git] / inc / MfBaseForm.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://floralicense.org/license/
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 /**
18  * @file: MfBaseForm.h
19  * @brief: This file contains declaration of BaseForm class, from which All forms get derived
20  */
21
22 #ifndef _MF_BASE_FORM_H_
23 #define _MF_BASE_FORM_H_
24
25 #include <FBase.h>
26 #include <FSystem.h>
27 #include <FShell.h>
28 #include <FUi.h>
29
30 #include "MfFolderEntryPresentationModel.h"
31 #include "MfIFileEventNotification.h"
32 #include "MfIFileManagingListener.h"
33 #include "MfIListViewStateChangeListener.h"
34 #include "MfImageMediaMetaData.h"
35 #include "MfINotificationListener.h"
36
37 class BaseForm
38         : public Tizen::Ui::Controls::Form
39         , public Tizen::System::IDeviceEventListener
40         , public Tizen::Ui::IActionEventListener
41         , public Tizen::Ui::IOrientationEventListener
42         , public Tizen::Ui::Controls::IFormBackEventListener
43         , public Tizen::Ui::Controls::IListViewItemEventListener
44         , public Tizen::Ui::Controls::IListViewItemProvider
45         , public Tizen::Ui::Scenes::ISceneEventListener
46         , public Tizen::Ui::Scenes::ISceneManagerEventListener
47         , public IFileManagingListener
48         , public IFolderEntryEventListener
49         , public IFolderEntryProviderListener
50         , public IListViewStateChangeListener
51         , public INotificationListener
52 {
53 public:
54         //! Constructor of the class.
55         /*!@fn BaseForm(void)
56          * @brief A public member taking no arguments which initializes the member variables of the class.
57          * @param Takes no parameters
58          * @return No value returned */
59         BaseForm(void);
60
61         //! Destructor of the class.
62         /*!@fn ~BaseForm(void)
63          * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
64          * @param Takes no parameters
65          * @return No value returned
66          * */
67         virtual ~BaseForm(void);
68
69         /*! @fn Initialize(void)
70          * @brief Called to construct the corresponding form of the file.
71          */
72         bool Initialize(void);
73
74         /*! @fn OnInitializing(void)
75          * @brief Called once the form has been constructed to initialize the controls within the form.
76          */
77         result OnInitializing(void);
78
79         /*! @fn OnTerminating(void);
80          * @brief Called just before the form is deleted.
81          */
82         result OnTerminating(void);
83
84 public:
85         //IDeviceEventListener
86         virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
87
88         //IActionEventListener
89         virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
90
91         // IOrientationEventListener
92         virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
93
94         // IFormBackEventListener
95         virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
96
97         //IListViewItemEventListener
98         virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
99         virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
100         virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
101         virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
102
103         virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
104         virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
105         virtual int GetItemCount(void);
106
107         // ISceneEventListener
108         virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
109         virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
110
111         //ISceneManagerEventListener
112         virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
113         virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
114
115         // IFileManagingListener
116         virtual void OnFileManagingStart(void);
117         virtual void OnFileManagingStop(FileManagingResult fileProcessingResult);
118
119         //IFileEventNotification
120         virtual void OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId);
121
122         // IFolderEntryProviderListener
123         virtual FolderEntryPresentationModel* GetFolderEntryPresentationModel(void);
124
125         //IFileNotificationListener
126         virtual void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
127
128         // IListViewStateChangeListener
129         virtual void OnListViewItemStateChangedNotify(ViewType viewType);
130         virtual void OnIconListViewItemStateChangeNotify(void);
131
132         virtual void OnThumbnailReceived(ThumbRequest* pThumbReq);
133         void OnSceneIdChanged(const Tizen::Ui::Scenes::SceneId&         currentSceneId, const Tizen::Ui::Scenes::SceneId&               previousSceneId);
134         void OnAppControlCompleted(void);
135         void OnSettingValueChanged(void);
136 };
137
138 #endif