Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_ColorChangeEvent.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_ColorChangeEvent.h
19  * @brief               This is the header file for _ColorChangeEvent class.
20  *
21  * This header file contains declaration of _ColorChangeEvent class.
22  * The ColorChangeEvent class can call listener's method. So, when event occurred,
23  * application can handle it appropriately.
24  *
25  */
26 #ifndef _FUI_CTRL_INTERNAL_COLOR_CHANGE_EVENT_H_
27 #define _FUI_CTRL_INTERNAL_COLOR_CHANGE_EVENT_H_
28
29 #include <FBaseResult.h>
30 #include <FBaseRt_Event.h>
31
32 namespace Tizen { namespace Ui
33 {
34 class _Control;
35 }} // Tizen::Ui
36
37 namespace Tizen { namespace Ui { namespace Controls
38 {
39 /**
40 * @class        _ColorChangeEvent
41 * @brief        This class handles a action event. It is inherited from Event class.
42 *
43 * The Window(root of all widgets) class has an instance of the ColorChangeEvent class as a member variable.
44 * Applications can register action event listeners through it. When a action event occurred,
45 * the ColorChangeEvent class finds listener and calls the appropriate listener's method.
46 *
47 */
48 class _ColorChangeEvent
49         : public Tizen::Base::Runtime::_Event
50 {
51 public:
52         //
53         // This is the default class destructor.
54         //
55         virtual ~_ColorChangeEvent(void);
56
57         //
58         // This method initializes this instance. This method should be called
59         // after this instance is constructed.
60         //
61         // @return      The method returns error code.
62         // @param[in]   source          A pointer to the Object instance which contains this instance.
63         // @exception   E_SUCCESS       - This method is successful.
64         // @exception   E_OUT_OF_MEMORY - The memory is insufficient.
65         //
66         static _ColorChangeEvent* CreateInstanceN(const Tizen::Ui::_Control& source);
67
68         //
69         // This method returns the owner of this event.
70         //
71         // @return              See the comment above.
72         //
73         const Tizen::Ui::_Control* GetSource(void) const;
74
75         static Tizen::Base::Runtime::IEventArg* CreateColorChangeEventArgN(const Tizen::Graphics::Color& color);
76
77 protected:
78
79         //
80         // This method checks the arg and finds out the type of event. After that this method calls appropriate
81         // listener's method.
82         //
83         // @param[in]   pListener       It is a event listener related to this ColorChange event.
84         // @param[in]   arg                     It is an argument-like instance of ColorChange event retransmitted to the listener's method
85         //                                                      as an argument.
86         //
87         virtual void FireImpl(Tizen::Base::Runtime::IEventListener& listener, const Tizen::Base::Runtime::IEventArg& arg);
88
89 private:
90         _ColorChangeEvent(const Tizen::Ui::_Control& source);
91
92         _ColorChangeEvent(const _ColorChangeEvent&);
93
94         _ColorChangeEvent& operator=(const _ColorChangeEvent&);
95
96 private:
97         const Tizen::Ui::_Control* __pSource;
98 }; // _ColorChangeEvent
99
100 }}} // Tizen::Ui::Controls
101
102 #endif // _FUI_CTRL_INTERNAL_COLOR_CHANGE_EVENT_H_