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 FUiCtrl_PopupImpl.h
20 * @brief This is the implementation file for the _PopupImpl class.
22 * This header file contains the declarations of the %_PopupImpl class.
25 #ifndef _FUI_CTRL_POPUP_IMPL_H_
26 #define _FUI_CTRL_POPUP_IMPL_H_
30 #include <FUiCtrlPopup.h>
31 #include "FUi_WindowImpl.h"
32 #include "FUiCtrl_Popup.h"
35 namespace Tizen { namespace Ui
37 class DataBindingContext;
41 namespace Tizen { namespace Ui { namespace Controls
50 : public _ControlImpl::SizeInfo
52 virtual Tizen::Graphics::Dimension GetDefaultMinimumSize(_ControlOrientation orientation) const;
53 virtual Tizen::Graphics::Dimension GetDefaultMaximumSize(_ControlOrientation orientation) const;
57 _PopupImpl(Popup* pPublic, _Popup* pCore, Layout* pPublicPortraitLayout = null, Layout* pPublicLandscapeLayout = null);
58 virtual ~_PopupImpl(void);
60 virtual const char* GetPublicClassName(void) const;
61 virtual const Popup& GetPublic(void) const;
62 virtual Popup& GetPublic(void);
63 virtual const _Popup& GetCore(void) const;
64 virtual _Popup& GetCore(void);
67 static _PopupImpl* CreatePopupImplN(Popup* pControl, const Tizen::Graphics::Dimension& dim, Layout* pPublicPortraitLayout = null, Layout* pPublicLandscapeLayout = null);
68 result Initialize(bool hasTitle, const Tizen::Graphics::Dimension& dim);
70 virtual result DoModal(int& modalResult);
71 result EndModal(int modalResult);
73 Tizen::Graphics::Canvas* GetClientAreaCanvasN(void) const;
74 Tizen::Graphics::Rectangle GetClientAreaBounds(void) const;
76 Tizen::Graphics::Point TranslateFromClientAreaPosition(const Tizen::Graphics::Point& clientPosition) const;
77 Tizen::Graphics::Point TranslateToClientAreaPosition(const Tizen::Graphics::Point& position) const;
79 DataBindingContext* GetDataBindingContextN(void) const;
81 Tizen::Graphics::Rectangle GetCenterAlignedRect(int width, int height) const;
83 virtual void OnChangeLayout(Tizen::Ui::_ControlOrientation orientation);
84 virtual void OnBoundsChanged(void);
87 result SetColor(const Tizen::Graphics::Color& color);
88 Tizen::Graphics::Color GetColor(void) const;
90 virtual result SetTitleText(const Tizen::Base::String& title);
91 Tizen::Base::String GetTitleText(void) const;
93 result SetTitleTextColor(const Tizen::Graphics::Color& color);
94 Tizen::Graphics::Color GetTitleTextColor(void) const;
96 int GetMinWidth(void) const;
97 int GetMinHeight(void) const;
99 int GetMaxWidth(void) const;
100 int GetMaxHeight(void) const;
103 static _PopupImpl* GetInstance(Popup& pPopup);
104 static const _PopupImpl* GetInstance(const Popup& pPopup);
107 _PopupImpl(const _PopupImpl& rhs);
108 _PopupImpl& operator =(const _PopupImpl& rhs);
116 bool __callBoundsChange;
120 }}} // Tizen::Ui::Controls
122 #endif //_FUI_CTRL_POPUP_IMPL_H_