2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0/
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 FUi_CardLayoutImpl.h
19 * @brief This is the header file for _CardLayoutImpl class.
21 * This header file contains the declaration of _CardLayoutImpl class.
24 #ifndef _FUI_INTERNAL_CARD_LAYOUT_IMPL_H
25 #define _FUI_INTERNAL_CARD_LAYOUT_IMPL_H
27 #include <FUiCardLayout.h>
28 #include "FUi_LayoutImpl.h"
29 #include "FUi_LayoutAbsoluteLayout.h"
31 namespace Tizen { namespace Ui
41 * This is the destructor for this class.
45 virtual ~_CardLayoutImpl(void);
48 * Creates the instance of _CardLayoutImpl.
51 * @return The instance of _CardLayoutImpl.
52 * @param[in] pPublicLayout The public class of relative layout.
53 * @exception E_SUCCESS The method was successful.
54 * @exception E_OUT_OF_MEMORY Insufficient memory.
56 static _CardLayoutImpl* CreateCardLayoutImplN(CardLayout* pPublicLayout);
59 * Gets the name of public class.
62 * @return The name of public class.
64 virtual const char* GetPublicClassName(void) const;
67 * Gets the public class.
70 * @return The public class.
72 virtual const CardLayout& GetPublic(void) const;
75 * Gets the public class.
78 * @return The public class.
80 virtual CardLayout& GetPublic(void);
83 * Gets the core class.
86 * @return The core class.
88 virtual const _Layout::AbsoluteLayout& GetCore(void) const;
91 * Gets the core class.
94 * @return The core class.
96 virtual _Layout::AbsoluteLayout& GetCore(void);
99 * Gets the _CardLayoutImpl instance for the CardLayout.
102 * @return The _CardLayoutImpl instance.
103 * @param[in] pLayout The CardLayout instance.
105 static const _CardLayoutImpl* GetInstance(const CardLayout& layout);
108 * Gets the _CardLayoutImpl instance for the CardLayout.
111 * @return The _CardLayoutImpl instance.
112 * @param[in] pLayout The CardLayout instance.
114 static _CardLayoutImpl* GetInstance(CardLayout& layout);
117 * Gets the type of the layout.
120 * @return The layout type
122 virtual LayoutType GetLayoutType(void) const;
126 * This is the default constructor for this class.
130 _CardLayoutImpl(CardLayout* pPublicLayout, _Layout::AbsoluteLayout* pCoreLayout);
131 }; // _CardLayoutImpl
135 #endif // _FUI_INTERNAL_CARD_LAYOUT_IMPL_H