63ac8aa528acf99c75b26fc4e6bf1200083925a5
[platform/framework/native/shell.git] / inc / FShellAppWidgetFrame.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://floralicense.org/license/
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        FShellAppWidgetFrame.h
20  * @brief       This is the header file for the %AppWidgetFrame class.
21  *
22  * This header file contains the declarations of the %AppWidgetFrame class.
23  */
24
25 #ifndef _FSHELL_APPWIDGET_FRAME_H_
26 #define _FSHELL_APPWIDGET_FRAME_H_
27
28 #include <FUiWindow.h>
29
30 namespace Tizen { namespace Shell
31 {
32
33 /**
34  * @class       AppWidgetFrame
35  * @brief       This class provides the main frame window for a AppWidgetProvider.
36  * @since       2.1
37  *
38  * The %AppWidgetFrame is the root parent of all AppWidget controls that are created by a AppWidgetProvider.
39  *
40  */
41 class _OSP_EXPORT_ AppWidgetFrame
42         : public Tizen::Ui::Window
43 {
44 public:
45         /**
46          * The object is not fully constructed after this constructor is called.
47          * For full construction, the Construct() method must be called after calling this constructor.
48          *
49          * @since       2.1
50          */
51         AppWidgetFrame(void);
52
53         /**
54          * This destructor overrides Tizen::Base::Object::~Object().
55          *
56          * @since       2.1
57          */
58         virtual ~AppWidgetFrame(void);
59
60         /**
61          * Initializes this instance of %AppWidgetFrame with the specified parameter.
62          *
63          * @since       2.1
64          * @feature             %http://tizen.org/feature/shell.appwidget
65          * @return      An error code
66          * @param[in]   size                            The new width and height
67          * @exception   E_SUCCESS           The method is successful.
68          * @exception   E_INVALID_ARG           A specified input parameter is invalid.
69          * @exception   E_UNSUPPORTED_OPERATION   The Emulator or target device does not support the required feature.\r
70          *                                                                      For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.\r
71          * remarks              Before calling this method, check whether the feature is supported by %Tizen::System::SystemInfo::GetValue() methods.
72          * @see AppWidgetProvider::OnAppWidgetProviderInitialize()
73          */
74         result Construct(const Tizen::Graphics::FloatDimension& size);
75
76         /**
77          * Initializes this instance of %AppWidgetFrame with the specified parameter.
78          *
79          * @since       2.1
80          * @feature             %http://tizen.org/feature/shell.appwidget
81          * @return      An error code
82          * @param[in]   layout                          The layout for both the portrait and landscape mode
83          * @param[in]   size                            The new width and height
84          * @exception   E_SUCCESS           The method is successful.
85          * @exception   E_INVALID_ARG           A specified input parameter is invalid.
86          * @exception   E_UNSUPPORTED_OPERATION   The Emulator or target device does not support the required feature.\r
87          *                                                                      For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.\r
88          * remarks              Before calling this method, check whether the feature is supported by %Tizen::System::SystemInfo::GetValue() methods.
89          * @see AppWidgetProvider::OnAppWidgetProviderInitialize()
90          */
91         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::FloatDimension& size);
92
93 protected:
94         //
95         // This method is for internal use only. Using this method can cause behavioral, security-related,
96         // and consistency-related issues in the application.
97         //
98         // Following method is reserved and may change its name at any time without prior notice.
99         //
100         virtual void AppWidgetFrame_Reserved1(void) {}
101
102         //
103         // This method is for internal use only. Using this method can cause behavioral, security-related,
104         // and consistency-related issues in the application.
105         //
106         // Following method is reserved and may change its name at any time without prior notice.
107         //
108         virtual void AppWidgetFrame_Reserved2(void) {}
109
110         //
111         // This method is for internal use only. Using this method can cause behavioral, security-related,
112         // and consistency-related issues in the application.
113         //
114         // Following method is reserved and may change its name at any time without prior notice.
115         //
116         virtual void AppWidgetFrame_Reserved3(void) {}
117
118         //
119         // This method is for internal use only. Using this method can cause behavioral, security-related,
120         // and consistency-related issues in the application.
121         //
122         // Following method is reserved and may change its name at any time without prior notice.
123         //
124         virtual void AppWidgetFrame_Reserved4(void) {}
125
126         //
127         // This method is for internal use only. Using this method can cause behavioral, security-related,
128         // and consistency-related issues in the application.
129         //
130         // Following method is reserved and may change its name at any time without prior notice.
131         //
132         virtual void AppWidgetFrame_Reserved5(void) {}
133
134 private:
135         //
136         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
137         //
138         AppWidgetFrame(const AppWidgetFrame& rhs);
139
140         //
141         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
142         //
143         AppWidgetFrame& operator =(const AppWidgetFrame& rhs);
144 }; // AppWidgetFrame
145
146 }} // Tizen::Shell
147
148 #endif // _FSHELL_APPWIDGET_FRAME_H_