diff options
Diffstat (limited to 'krdc/kfullscreenpanel.h')
-rw-r--r-- | krdc/kfullscreenpanel.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/krdc/kfullscreenpanel.h b/krdc/kfullscreenpanel.h new file mode 100644 index 00000000..43b4944d --- /dev/null +++ b/krdc/kfullscreenpanel.h @@ -0,0 +1,78 @@ +/*************************************************************************** + kfullscreenpanel.cpp - auto-hideable toolbar + ------------------- + begin : Tue May 13 23:07:42 CET 2002 + copyright : (C) 2002 by Tim Jansen + email : tim@tjansen.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef KFULLSCREENPANEL_H +#define KFULLSCREENPANEL_H + +#include <qwidget.h> +#include <qlayout.h> +#include <qevent.h> +#include <qtimer.h> + +class Counter : public QObject { + Q_OBJECT +private: + QTimer m_timer; + float m_stopValue, m_currentValue, m_stepSize; + int m_timeoutMs; + +public: + Counter(float start); + + void count(float stop, float stepSize, float frequency); +private slots: + void timeout(); + +signals: + void countingDownFinished(); + void countingUpFinished(); + void counted(float value); +}; + + +class KFullscreenPanel : public QWidget { + Q_OBJECT +private: + QWidget *m_child; + QVBoxLayout *m_layout; + QSize m_fsResolution; + Counter m_counter; + + void doLayout(); + +public: + KFullscreenPanel(QWidget* parent, const char *name, + const QSize &resolution); + ~KFullscreenPanel(); + + void setChild(QWidget *child); + void startShow(); + void startHide(); + +protected: + void enterEvent(QEvent *e); + void leaveEvent(QEvent *e); + +private slots: + void movePanel(float posY); + +signals: + void mouseEnter(); + void mouseLeave(); +}; + +#endif |