Version 0.3.23. Setup for PR1.3.
[easylist] / slidewidget.h
diff --git a/slidewidget.h b/slidewidget.h
new file mode 100755 (executable)
index 0000000..e219ceb
--- /dev/null
@@ -0,0 +1,47 @@
+#ifndef SLIDEWIDGET_H
+#define SLIDEWIDGET_H
+
+#include <QStateMachine>
+#include <QState>
+#include <QPropertyAnimation>
+#include <QAbstractTransition>
+#include <QtCore>
+#include <QWidget>
+#include <QPoint>
+#include <QDebug>
+
+class SlideWidget : public QWidget
+{
+    Q_OBJECT
+public:
+    explicit SlideWidget(QWidget *parent = 0);
+    virtual ~SlideWidget();
+
+    virtual void shown() = 0;
+
+    void initStates();
+
+    void setStateIn();
+    void setStateOut();
+
+private:
+    QStateMachine machine;
+    QState stateIn;
+    QState stateOut;
+
+    QPropertyAnimation animPosIn;
+    QPropertyAnimation animPosOut;
+
+protected:
+
+signals:
+    void signalDoStateIn();
+    void signalDoStateOut();
+    void signalTransitionOutFinished();
+    void signalTransitionInFinished();
+public slots:
+    void slotStateInFinished();
+    void slotStateOutFinished();
+};
+
+#endif // SLIDEWIDGET_H