Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_DateTimeDisplayBox.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  * @file                FUiCtrl_DateTimeDisplayBox.h
19  * @brief               This is the header file for the _DateTimeDisplayBox class.
20  */
21
22 #ifndef _FUI_CTRL_INTERNAL_DATETIME_DISPLAY_BOX_H_
23 #define _FUI_CTRL_INTERNAL_DATETIME_DISPLAY_BOX_H_
24
25 #include <FGrp_TextTextObject.h>
26 #include "FUiCtrl_DateTimeDefine.h"
27
28 namespace Tizen { namespace Ui { namespace Controls
29 {
30
31 class _DateTimeDisplayBox
32         : public Tizen::Base::Object
33 {
34 public:
35         _DateTimeDisplayBox(const Tizen::Graphics::Rectangle& bounds, int boxId);
36
37         virtual ~_DateTimeDisplayBox(void);
38
39         void DrawDisplayBox(Tizen::Graphics::Canvas& canvas, DateTimePickerStatus status);
40
41         Tizen::Graphics::Rectangle GetDisplayBoxBounds(void) const;
42
43         bool SetText(const Tizen::Base::String& text);
44
45         const Tizen::Base::String& GetText(void) const;
46
47         int GetDisplayBoxId(void) const;
48
49         void SetFocusable(bool focusable);
50
51         void SetBackgroundBitmap(Tizen::Graphics::Bitmap* pNormalBitmap, Tizen::Graphics::Bitmap* pEffectBitmap,
52                         Tizen::Graphics::Bitmap* pPressedEffectBitmap, Tizen::Graphics::Bitmap* pDisabledEffectBitmap);
53
54         void UpdateDisplayBoxBounds(Tizen::Graphics::Rectangle& bounds);
55
56         void SetFont(Tizen::Graphics::Font* pFont);
57
58 protected:
59         void DrawBackground(Tizen::Graphics::Canvas& canvas, DateTimePickerStatus status);
60
61         void DrawText(Tizen::Graphics::Canvas& canvas, DateTimePickerStatus status);
62
63 private:
64         _DateTimeDisplayBox(const _DateTimeDisplayBox&);
65
66         _DateTimeDisplayBox& operator =(const _DateTimeDisplayBox&);
67
68 private:
69         Tizen::Graphics::Rectangle __windowBounds;
70
71         int __boxId;
72
73         Tizen::Graphics::_Text::TextObject* __pTextObject;
74
75         Tizen::Base::String __text;
76
77         bool __focusable;
78
79         Tizen::Graphics::Color __backgroundColor[DATETIME_STATUS_MAX];
80         Tizen::Graphics::Color __textColor[DATETIME_STATUS_MAX];
81
82         Tizen::Graphics::Font* __pFont;
83         Tizen::Graphics::Bitmap* __pBackgroundNormalBitmap[DATETIME_STATUS_MAX];
84         Tizen::Graphics::Bitmap* __pBackgroundEffectBitmap;
85         Tizen::Graphics::Bitmap* __pBackgroundPressedEffectBitmap;
86         Tizen::Graphics::Bitmap* __pBackgroundDisabledEffectBitmap;
87 }; // _DateTimeDisplayBox
88
89 }}} // Tizen::Ui::Controls
90
91 #endif  // _FUI_CTRL_INTERNAL_DATETIME_DISPLAY_BOX_H_