summaryrefslogtreecommitdiffstats
path: root/examples/animation/padnavigator-ng/roundrectitem.h
blob: 56a6d3c4f513967e384d98e2ebe930d340de7a4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/****************************************************************************
**
** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
** This file is part of the $MODULE$ of the Qt Toolkit.
**
** $TROLLTECH_DUAL_LICENSE$
**
****************************************************************************/

#include <QtCore/qobject.h>
#include <QtGui/qbrush.h>
#ifdef QT_EXPERIMENTAL_SOLUTION
#include "qtgraphicswidget.h"
#else
#include <QtGui/qgraphicswidget.h>
#endif

QT_BEGIN_NAMESPACE
class QGraphicsProxyWidget;
QT_END_NAMESPACE;

class RoundRectItem : public QGraphicsWidget
{
    Q_OBJECT
public:
    RoundRectItem(const QRectF &rect, const QBrush &brush, QWidget *embeddedWidget = 0);

    void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *);
    QRectF boundingRect() const;

    void setPixmap(const QPixmap &pixmap);

Q_SIGNALS:
    void activated();

protected:
    void keyPressEvent(QKeyEvent *event);
    void keyReleaseEvent(QKeyEvent *event);

private:
    QRectF m_rect;
    QBrush brush;
    QPixmap pix;
    QGraphicsProxyWidget *proxyWidget;
};