Fix for klockwork minor issues.
[platform/framework/native/uifw.git] / inc / FUiScenesSceneTransition.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (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://www.apache.org/licenses/LICENSE-2.0/
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 /**
19  * @file        FUiScenesSceneTransition.h
20  * @brief       This is the header file for the %SceneTransition class.
21  *
22  * This header file contains the declarations of the %SceneTransition class.
23  */
24
25 #ifndef _FUI_SCENES_SCENE_TRANSITION_H_
26 #define _FUI_SCENES_SCENE_TRANSITION_H_
27
28 #include <FBaseString.h>
29 #include <FUiScenesTypes.h>
30
31
32 namespace Tizen { namespace Ui { namespace Scenes
33 {
34
35 /**
36  * @class       SceneTransition
37  * @brief       This class is the %SceneTransition class of a %Tizen native application.
38  *
39  * @since       2.0
40  *
41  * The %SceneTransition class contains transition information, such as transition direction, transition destination,
42  * animation type, history option, and destroy option. @n
43  *
44  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/scene_management.htm">Scene Management</a>.
45  */
46 class _OSP_EXPORT_ SceneTransition
47         : public Tizen::Base::Object
48 {
49 public:
50         /**
51          * This is the default constructor for this class.
52          *
53          * @since       2.0
54          */
55         SceneTransition(void);
56
57         /**
58          * Copying of objects using this copy constructor is allowed.
59          *
60          * @since       2.0
61          *
62          * @param[in]   rhs             An instance of %SceneTransition
63          */
64         SceneTransition(const SceneTransition& rhs);
65
66         /**
67          * Initializes this instance of %SceneTransition with the specified parameters.
68          *
69          * @since       2.0
70          *
71          * @param[in]   direction                       The transition direction
72          * @param[in]   destinationSceneId      The scene ID of transition destination
73          * @param[in]   animationType           The transition animation type
74          * @param[in]   historyOption           The history option whether to add the current scene to the history or not
75          * @param[in]   destroyOption           The destroy option whether to destroy the current scene or not
76          */
77         SceneTransition(SceneTransitionDirection direction, const SceneId& destinationSceneId,
78                                         SceneTransitionAnimationType animationType,
79                                         SceneHistoryOption historyOption, SceneDestroyOption destroyOption);
80
81         /**
82          * Assigns the value of the specified instance to the current instance of %SceneTransition.
83          *
84          * @since       2.0
85          *
86          * @param[in]   rhs             An instance of %SceneTransition
87          */
88         SceneTransition& operator =(const SceneTransition& rhs);
89
90         /**
91          * Checks whether the specified instance of %SceneTransition equals the current instance.
92          *
93          * @since       2.0
94          *
95          * @return              @c true if the specified instance equals the current instance, @n
96          *                              else @c false either the specified instance is not equal to the current instance or the specified object is not Scene
97          * @param[in]   rhs             An instance of %SceneTransition
98          */
99         virtual bool Equals(const Object& rhs) const;
100
101         /**
102          * Gets the hash value of the current instance.
103          *
104          * @since       2.0
105          *
106          * @return              The hash value of the current instance
107          */
108         virtual int GetHashCode(void) const;
109
110         /**
111          * This destructor overrides Tizen::Base::Object::~Object().
112          *
113          * @since       2.0
114          */
115         virtual ~SceneTransition(void);
116
117
118 //      result SetTransitionId(TransitionId& transitionId);
119
120         /**
121          * Sets the scene transition direction.
122          *
123          * @since       2.0
124          *
125          * @return              An error code
126          * @param[in]   direction               The transition direction
127          * @exception   E_SUCCESS               The method is successful.
128          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
129          *
130          */
131         result SetDirection(SceneTransitionDirection direction);
132
133         /**
134          * Gets the scene transition direction.
135          *
136          * @since       2.0
137          *
138          * @return              The direction of scene transition
139          *
140          */
141         SceneTransitionDirection GetDirection(void) const;
142
143         /**
144          * Sets the scene transition destination scene.
145          *
146          * @since       2.0
147          *
148          * @return              An error code
149          * @param[in]   sceneId                 The scene ID of transition destination
150          * @exception   E_SUCCESS               The method is successful.
151          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
152          *
153          */
154         result SetDestinationSceneId(const SceneId& sceneId);
155
156         /**
157          * Gets the scene transition destination scene.
158          *
159          * @since       2.0
160          *
161          * @return              The scene ID of transition destination
162          *
163          */
164         SceneId GetDestinationSceneId(void) const;
165
166         /**
167          * Sets the scene transition animation type.
168          *
169          * @since       2.0
170          *
171          * @return              An error code
172          * @param[in]   animationType   The transition animation type
173          * @exception   E_SUCCESS               The method is successful.
174          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
175          *
176          */
177         result SetAnimationType(SceneTransitionAnimationType animationType);
178
179         /**
180          * Gets the scene transition animation type.
181          *
182          * @since       2.0
183          *
184          * @return              The transition animation type
185          *
186          */
187         SceneTransitionAnimationType GetAnimationType(void) const;
188
189         /**
190          * Sets the scene transition history option.
191          *
192          * @since       2.0
193          *
194          * @return              An error code
195          * @param[in]   historyOption   The history option whether to add the current scene to the history or not
196          * @exception   E_SUCCESS               The method is successful.
197          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
198          *
199          */
200         result SetHistoryOption(SceneHistoryOption historyOption);
201
202         /**
203          * Gets the scene transition history option.
204          *
205          * @since       2.0
206          *
207          * @return              The history option
208          *
209          */
210         SceneHistoryOption GetHistoryOption(void) const;
211
212         /**
213          * Sets the scene transition destroy option.
214          *
215          * @since       2.0
216          *
217          * @return              An error code
218          * @param[in]   destroyOption   The destroy option whether to destroy the current scene or not
219          * @exception   E_SUCCESS               The method is successful.
220          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
221          *
222          */
223         result SetDestroyOption(SceneDestroyOption destroyOption);
224
225         /**
226          * Gets the scene transition destroy option.
227          *
228          * @since       2.0
229          *
230          * @return              The destroy option
231          *
232          */
233         SceneDestroyOption GetDestroyOption(void) const;
234
235 protected:
236         //
237         // This method is for internal use only. Using this method can cause behavioral,
238         // security-related, and consistency-related issues in the application.
239         //
240         // @since       2.0
241         //
242         virtual void SceneTransition_Reserved1(void) {}
243
244         //
245         // This method is for internal use only. Using this method can cause behavioral,
246         // security-related, and consistency-related issues in the application.
247         //
248         // @since       2.0
249         //
250         virtual void SceneTransition_Reserved2(void) {}
251
252         //
253         // This method is for internal use only. Using this method can cause behavioral,
254         // security-related, and consistency-related issues in the application.
255         //
256         // @since       2.0
257         //
258         virtual void SceneTransition_Reserved3(void) {}
259
260 private:
261         friend class _SceneTransitionImpl;
262         class _SceneTransitionImpl* __pSceneTransitionImpl;
263
264 }; // SceneTransition
265 } } } // Tizen::Ui::Scenes
266
267 #endif // _FUI_SCENES_SCENE_TRANSITION_H_