Version 0.3.23. Setup for PR1.3.
[easylist] / slidewidget.h
1 #ifndef SLIDEWIDGET_H
2 #define SLIDEWIDGET_H
3
4 #include <QStateMachine>
5 #include <QState>
6 #include <QPropertyAnimation>
7 #include <QAbstractTransition>
8 #include <QtCore>
9 #include <QWidget>
10 #include <QPoint>
11 #include <QDebug>
12
13 class SlideWidget : public QWidget
14 {
15     Q_OBJECT
16 public:
17     explicit SlideWidget(QWidget *parent = 0);
18     virtual ~SlideWidget();
19
20     virtual void shown() = 0;
21
22     void initStates();
23
24     void setStateIn();
25     void setStateOut();
26
27 private:
28     QStateMachine machine;
29     QState stateIn;
30     QState stateOut;
31
32     QPropertyAnimation animPosIn;
33     QPropertyAnimation animPosOut;
34
35 protected:
36
37 signals:
38     void signalDoStateIn();
39     void signalDoStateOut();
40     void signalTransitionOutFinished();
41     void signalTransitionInFinished();
42 public slots:
43     void slotStateInFinished();
44     void slotStateOutFinished();
45 };
46
47 #endif // SLIDEWIDGET_H