Busy Indicator
[qt-components:desktop.git] / src / qbusyindicatorbase.h
1 /****************************************************************************
2 **
3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
6 **
7 ** This file is part of the Qt Components project on Qt Labs.
8 **
9 ** No Commercial Usage
10 ** This file contains pre-release code and may not be distributed.
11 ** You may use this file in accordance with the terms and conditions contained
12 ** in the Technology Preview License Agreement accompanying this package.
13 **
14 ** GNU Lesser General Public License Usage
15 ** Alternatively, this file may be used under the terms of the GNU Lesser
16 ** General Public License version 2.1 as published by the Free Software
17 ** Foundation and appearing in the file LICENSE.LGPL included in the
18 ** packaging of this file.  Please review the following information to
19 ** ensure the GNU Lesser General Public License version 2.1 requirements
20 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
21 **
22 ** If you have questions regarding the use of this file, please contact
23 ** Nokia at qt-info@nokia.com.
24 **
25 ****************************************************************************/
26
27 #ifndef PROGRESSINDICATOR_H
28 #define PROGRESSINDICATOR_H
29 #include <QDeclarativeItem>
30
31 class QBusyIndicatorBase : public QDeclarativeItem
32 {
33         Q_OBJECT
34
35         Q_PROPERTY(int angle READ angle WRITE setAngle)
36         Q_PROPERTY(int leafCount READ leafCount WRITE setLeafCount NOTIFY leafCountChanged)
37 public:
38         QBusyIndicatorBase(QDeclarativeItem *parent = 0);
39         virtual void paint(QPainter *p, const QStyleOptionGraphicsItem *i, QWidget *w);
40         QColor color() const;
41         void setColor(const QColor &color);
42         int leafCount() const;
43         void setLeafCount(int count);
44         int angle() const;
45         void setAngle(int angle);
46 signals:
47         void colorChanged();
48         void leafCountChanged();
49 private:
50         int m_angle;
51         QColor m_color;
52         int m_leafCount;
53         qreal m_delta;
54         qreal m_minimumOpacity;
55 };
56
57 #endif // PROGRESSINDICATOR_H