summaryrefslogtreecommitdiffstats
path: root/examples/animation/padnavigator-ng/panel.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/animation/padnavigator-ng/panel.h')
-rw-r--r--examples/animation/padnavigator-ng/panel.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/examples/animation/padnavigator-ng/panel.h b/examples/animation/padnavigator-ng/panel.h
new file mode 100644
index 0000000..cbceed1
--- /dev/null
+++ b/examples/animation/padnavigator-ng/panel.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** 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 <QtGui/qgraphicsview.h>
+#ifdef QT_EXPERIMENTAL_SOLUTION
+#include "qtgraphicswidget.h"
+#else
+#include <QtGui/qgraphicswidget.h>
+#endif
+
+QT_BEGIN_NAMESPACE
+class Ui_BackSide;
+QT_END_NAMESPACE;
+
+class RoundRectItem;
+class QAnimationGroup;
+class QPropertyAnimation;
+
+class Panel : public QGraphicsView
+{
+ Q_OBJECT
+public:
+ Panel(int width, int height);
+ ~Panel();
+
+protected:
+ void keyPressEvent(QKeyEvent *event);
+ void resizeEvent(QResizeEvent *event);
+
+private Q_SLOTS:
+ void flip();
+
+private:
+ QPointF posForLocation(int index) const;
+
+ QGraphicsWidget *selectionItem;
+ QGraphicsWidget *baseItem;
+ RoundRectItem *backItem;
+ QGraphicsWidget *splash;
+ int selectedIndex;
+
+ QVector<QGraphicsItem*> grid;
+
+ int width;
+ int height;
+ bool flipped;
+ Ui_BackSide *ui;
+
+ QAnimationGroup *flippingGroup;
+ QPropertyAnimation *rotationXanim, *rotationYanim;
+};