Revert " modify license, permission and remove ^M char"
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_EditTimeImpl.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                FUiCtrl_EditTimeImpl.h
20  * @brief               This is the header file for the _EditTimeImpl class.
21  *
22  * This header file contains the declarations of the %_EditTimeImpl class.
23  */
24
25 #ifndef _FUI_CTRL_INTERNAL_EDITTIME_IMPL_H_
26 #define _FUI_CTRL_INTERNAL_EDITTIME_IMPL_H_
27
28 #include <FUiCtrlEditTime.h>
29 #include "FUi_ControlImpl.h"
30 #include "FUiCtrl_EditTime.h"
31 #include "FUiCtrl_IDateTimeChangeEventListener.h"
32 #include "FUiCtrl_PublicDateTimeChangeEvent.h"
33
34 namespace Tizen { namespace Ui { namespace Controls
35 {
36
37 class _EditTimeImpl
38         : public _ControlImpl
39         , public _IDateTimeChangeEventListener
40         , virtual public Tizen::Base::Runtime::IEventListener
41 {
42
43 public:
44         virtual ~_EditTimeImpl(void);
45         static _EditTimeImpl* CreateEditTimeImplN(EditTime* pControl, const Tizen::Graphics::Point& point, const Tizen::Base::String& title);
46         static _EditTimeImpl* CreateEditTimeImplFN(EditTime* pControl, const Tizen::Graphics::FloatPoint& point, const Tizen::Base::String& title);
47         virtual const char* GetPublicClassName(void) const;
48         virtual const EditTime& GetPublic(void) const;
49         virtual EditTime& GetPublic(void);
50         virtual const _EditTime& GetCore(void) const;
51         virtual _EditTime& GetCore(void);
52
53 public:
54         result OnAttachedToMainTree(void);
55         result AddTimeChangeEventListener(Tizen::Ui::ITimeChangeEventListener& listener);
56         result RemoveTimeChangeEventListener(Tizen::Ui::ITimeChangeEventListener& listener);
57         Tizen::Base::DateTime GetTime(void) const;
58         int GetHour(void) const;
59         int GetMinute(void) const;
60         void SetTime(const Tizen::Base::DateTime& time);
61         void SetCurrentTime(void);
62         result SetHour(int hour);
63         result SetMinute(int minute);
64         void SetTimePickerEnabled(bool enable);
65         bool IsTimePickerEnabled(void) const;
66         void Set24HourNotationEnabled(bool enable);
67
68         virtual void OnDateTimeChanged(const Tizen::Ui::_Control& source, int year, int month, int day, int hour, int minute);
69         virtual void OnDateTimeChangeCanceled(const Tizen::Ui::_Control& source);
70
71 public:
72         static _EditTimeImpl* GetInstance(EditTime& editTime);
73         static const _EditTimeImpl* GetInstance(const EditTime& editTime);
74
75 private:
76         _EditTimeImpl(EditTime* pPublic, _EditTime* pCore);
77
78         _EditTimeImpl(const _EditTimeImpl&);
79         _EditTimeImpl& operator =(const _EditTimeImpl&);
80
81 private:
82         _PublicDateTimeChangeEvent* __pPublicTimeChangeEvent;
83 }; // _EditTimeImpl
84
85 }}} // Tizen::Ui::Controls
86
87 #endif //_FUI_CTRL_INTERNAL_EDITTIME_IMPL_H_