2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.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
9 // http://floralicense.org/license/
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.
19 * @file FUiScenesScene.h
20 * @brief This is the header file for the %Scene class.
22 * This header file contains the declarations of the %Scene class.
25 #ifndef _FUI_SCENES_SCENE_H_
26 #define _FUI_SCENES_SCENE_H_
28 #include <FBaseString.h>
29 #include <FUiScenesTypes.h>
32 namespace Tizen { namespace Ui { namespace Controls
39 namespace Tizen { namespace Ui { namespace Scenes
42 class ISceneEventListener;
46 * @brief This class is the %Scene class of a Tizen native applications.
50 * The %Scene is the basic unit of UI switching. @n
51 * The %Scene class is the item class for scene management. It represents individual UI scene.
52 * A scene is combination of form and panel, panel can be omitted.
54 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/scene_management.htm">Scene Management</a>.
56 class _OSP_EXPORT_ Scene
57 : public Tizen::Base::Object
61 * This is the destructor for this class.
68 * Checks whether the specified instance of %Scene equals the current instance.
72 * @return @c true if the specified instance equals the current instance, @n
74 * @param[in] rhs An instance of %Scene
75 * @remarks The method returns @c false if the specified object is not %Scene.
77 virtual bool Equals(const Object& rhs) const;
80 * Gets the hash value of the current instance.
84 * @return The hash value of the current instance
86 virtual int GetHashCode(void) const;
89 * Gets the string ID of %Scene.
93 * @return The name of %Scene
96 SceneId GetSceneId(void) const;
99 * Gets the string ID of Form.
103 * @return The name of Form
105 Tizen::Base::String GetFormId(void) const;
108 * Gets the string ID of Panel.
112 * @return The name of Panel, @n
113 * else an empty string if the %Panel is not specified
115 Tizen::Base::String GetPanelId(void) const;
118 * Gets the associated Form instance pointer.
122 * @return The Form instance pointer
125 Tizen::Ui::Controls::Form* GetForm(void) const;
128 * Gets the associated Panel instance pointer.
132 * @return The Panel instance pointer, @n
133 * else a @c null pointer if the %Panel is not specified
134 * @remarks The Panel is optional component of %Scene so it may not be always valid.
137 Tizen::Ui::Controls::Panel* GetPanel(void) const;
141 // This method is for internal use only. Using this method can cause behavioral,
142 // security-related, and consistency-related issues in the application.
146 virtual void Scene_Reserved1(void) {}
149 // This method is for internal use only. Using this method can cause behavioral,
150 // security-related, and consistency-related issues in the application.
154 virtual void Scene_Reserved2(void) {}
157 // This method is for internal use only. Using this method can cause behavioral,
158 // security-related, and consistency-related issues in the application.
162 virtual void Scene_Reserved3(void) {}
166 * This default constructor is intentionally declared as private so that only the platform can create an instance.
173 * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
177 Scene(const Scene& rhs);
180 * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
184 Scene& operator =(const Scene& rhs);
187 friend class _SceneImpl;
188 class _SceneImpl* __pSceneImpl;
191 } } } // Tizen::Ui::Scenes
193 #endif //_FUI_SCENES_SCENE_H_