summaryrefslogtreecommitdiff
path: root/src/frontend/keychooser/cscrollerwidgetset.h
blob: ae81636ca1309cc73b0563ed2d1fd9a2277988ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2008 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/

#ifndef CSCROLLERWIDGETSET_H
#define CSCROLLERWIDGETSET_H

#include <QWidget>


class CScrollButton;
class QString;
class QToolButton;
class QVBoxLayout;

/**
 * This class implements the Scroller Widget-set, which
 * consists of two normal ref @QToolButton and a enhanced @ref CScrollButton
 *
  * @author The BibleTime team
  */
class CScrollerWidgetSet : public QWidget {
        Q_OBJECT
    public:
        /**
        * the constructor
        */
        CScrollerWidgetSet(QWidget *parent = 0);
        /**
        * Sets the tooltips for the given entries using the parameters as text.
        */
        void setToolTips( const QString nextEntry, const QString scrollButton, const QString previousEntry);

    signals:
        /**
        * is emitted to proceed to some other entry relative to the
        * current, indicated by the int value
        */
        void change(int count);

        /**
        * These emit when the scroll button is pressed or released
        */
        void scroller_pressed();
        void scroller_released();

    protected:

        virtual void wheelEvent( QWheelEvent* e );

        QToolButton* btn_up;
        QToolButton* btn_down;
        CScrollButton* btn_fx;

    protected slots:
        void slotLock();
        void slotUnlock();
        void slotUpClick();
        void slotDownClick();
        void slotScroller(int);

    private:
        QVBoxLayout *m_layout;

};

#endif