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.
18 * @file FUiScenes_SceneImpl.h
19 * @brief This is the header file of the _SceneImpl class.
21 * This header file contains the declarations of the _SceneImpl class.
24 #ifndef _FUI_SCENES_INTERNAL_SCENE_IMPL_H_
25 #define _FUI_SCENES_INTERNAL_SCENE_IMPL_H_
27 #include <FBaseTypes.h>
28 #include <FBaseString.h>
29 #include <FBaseColIList.h>
30 #include <FBaseColLinkedListT.h>
31 #include <FUiScenesScene.h>
34 namespace Tizen { namespace Ui { namespace Scenes
37 class ISceneAnimationProvider;
40 : public Tizen::Base::Object
44 virtual ~_SceneImpl(void);
45 virtual bool Equals(const Object& rhs) const;
46 virtual int GetHashCode(void) const;
48 SceneId GetSceneId(void) const;
49 Tizen::Base::String GetFormId(void) const;
50 Tizen::Base::String GetPanelId(void) const;
51 Tizen::Ui::Controls::Form* GetForm(void) const;
52 void SetForm(Tizen::Ui::Controls::Form* pForm);
53 Tizen::Ui::Controls::Panel* GetPanel(void) const;
54 void SetPanel(Tizen::Ui::Controls::Panel* pPanel);
55 Tizen::Base::Collection::IList* GetArgs(void);
56 void SetArgs(Tizen::Base::Collection::IList* pArgs = null);
58 result AddSceneEventListener(const ISceneEventListener& sceneEventlistener);
59 result RemoveSceneEventListener(const ISceneEventListener& sceneEventlistener);
60 result SetSceneAnimationProvider(ISceneAnimationProvider* pSceneAnimationProvider);
62 bool OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId,
63 Tizen::Base::Collection::IList* pArgs);
64 bool OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId);
65 bool PrepareAnimation(const SceneId& sceneId, Tizen::Base::Collection::IList* pArgs,
66 SceneTransitionAnimationType type, bool formTransition);
68 bool IsPanelCreatedFromFormResource(void) const;
69 void SetPanelCreatedFromFormResource(bool createFromFormResource);
72 // Create a new Scene instance
74 // @return The Scene instance
77 static Tizen::Ui::Scenes::Scene* CreateSceneN(const SceneId& sceneId, const Tizen::Base::String& formId,
78 const Tizen::Base::String& panelId);
81 // Gets the implementation.
83 // @return The implementation
84 // @param[in] The interface instance pointer
87 static _SceneImpl* GetInstance(Scene& scene);
90 // Gets the implementation.
92 // @return The implementation
93 // @param[in] The interface instance pointer
96 static const _SceneImpl* GetInstance(const Scene& scene);
99 _SceneImpl(const Scene& rhs);
100 _SceneImpl& operator =(const Scene& rhs);
104 Tizen::Base::String __formId;
105 Tizen::Base::String __panelId;
106 Tizen::Ui::Controls::Form* __pForm;
107 Tizen::Ui::Controls::Panel* __pPanel;
108 Tizen::Base::Collection::IList* __pArgs;
109 Tizen::Base::Collection::LinkedListT <ISceneEventListener*> __sceneEventListenerList;
110 ISceneAnimationProvider* __pSceneAnimationProvider;
111 bool __panelCreatedFromFormResource;
113 } } } // Tizen::Ui::Scenes
115 #endif // _FUI_SCENES_INTERNAL_SCENE_IMPL_H_