Tizen 2.1 base
[apps/osp/Home.git] / inc / HmProgressPanel.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://floralicense.org/license/
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 /**
18  * @file        HmProgressPanel.h
19  * @brief       Keeps declaration of ProgressPanel Implementation
20  */
21
22 #ifndef _HM_HOME_PROGRESS_PANEL_H_
23 #define _HM_HOME_PROGRESS_PANEL_H_
24
25 #include <FUi.h>
26
27 /**
28  * @class       ProgressPanel
29  * @brief       Keeps the required functions and objects in showing a wait cursor
30  */
31 class ProgressPanel
32         : public Tizen::Ui::Controls::Panel
33 {
34
35 public:
36         /**
37          * default Constructor
38          * The object is not fully constructed after this constructor is called.
39          * For full construction, the Construct() method must be called right after calling this constructor
40          */
41         ProgressPanel(void);
42
43         /**
44          * Destructor
45          * Handles all the deallocations and cleanup tasks reuired for this object
46          */
47         virtual ~ProgressPanel(void);
48
49         /**
50          * Second phase of Construction
51          */
52         result Construct(const Tizen::Graphics::Rectangle& controlRectangle);
53
54         /**
55          * Start animating the wait cursor
56          */
57         result StartAnimation(void);
58
59         /**
60          * Stops the running animations
61          */
62         result StopAnimation(void);
63
64 private:
65         /**
66          * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
67          */
68         ProgressPanel(const ProgressPanel&);
69
70         /**
71          * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
72          */
73         ProgressPanel& operator =(const ProgressPanel&);
74
75 private:
76         Tizen::Base::Collection::ArrayList* __pAnimationFrameList; // The list of AnimationFrames
77         Tizen::Ui::Controls::Animation* __pAnimation; // The animation control
78 };
79
80 #endif //_HM_HOME_PROGRESS_PANEL_H_