Added include for QTimer in header file.
[easylist] / slidewidget.cpp
1 #include "slidewidget.h"\r
2 \r
3 SlideWidget::SlideWidget(QWidget *parent) :\r
4     QWidget(parent)\r
5 {\r
6     initStates();\r
7 \r
8     QAbstractTransition * t1 = stateIn.addTransition(this, SIGNAL(signalDoStateOut()), &stateOut);\r
9     QAbstractTransition * t2 = stateOut.addTransition(this, SIGNAL(signalDoStateIn()), &stateIn);\r
10 \r
11     t1->addAnimation(&animPosOut);\r
12     t2->addAnimation(&animPosIn);\r
13 \r
14     connect(&animPosIn, SIGNAL(finished()), this, SIGNAL(signalTransitionInFinished()));\r
15     connect(&animPosIn, SIGNAL(finished()), this, SLOT(slotStateInFinished()));\r
16     connect(&animPosOut, SIGNAL(finished()), this, SIGNAL(signalTransitionOutFinished()));\r
17     connect(&animPosOut, SIGNAL(finished()), this, SLOT(slotStateOutFinished()));\r
18 \r
19     machine.addState(&stateIn);\r
20     machine.addState(&stateOut);\r
21     machine.setInitialState(&stateOut);\r
22     machine.start();\r
23 }\r
24 \r
25 SlideWidget::~SlideWidget()\r
26 {\r
27 }\r
28 \r
29 void SlideWidget::initStates()\r
30 {\r
31     animPosIn.setTargetObject(this);\r
32     animPosIn.setPropertyName("pos");\r
33     animPosIn.setDuration(500);\r
34     animPosIn.setEasingCurve(QEasingCurve::OutExpo);\r
35 \r
36     animPosOut.setTargetObject(this);\r
37     animPosOut.setPropertyName("pos");\r
38     animPosOut.setDuration(500);\r
39     animPosOut.setEasingCurve(QEasingCurve::OutExpo);\r
40 \r
41     stateIn.assignProperty(this, "pos", QPoint(0, 0));\r
42 \r
43     stateOut.assignProperty(this, "pos", QPoint(0, -this->height()));\r
44 }\r
45 \r
46 void SlideWidget::setStateIn()\r
47 {\r
48     qDebug() << "State In";\r
49     emit signalDoStateIn();\r
50 }\r
51 \r
52 void SlideWidget::setStateOut()\r
53 {\r
54     qDebug() << "State Out";\r
55     emit signalDoStateOut();\r
56 }\r
57 \r
58 void SlideWidget::slotStateInFinished()\r
59 {\r
60     qDebug() << "State in finished" << pos();\r
61 }\r
62 \r
63 void SlideWidget::slotStateOutFinished()\r
64 {\r
65     qDebug() << "State out finished" << pos();\r
66 }\r