Initial commit
[raptor.git] / launcher / raptorscrollhandler.h
blobe2b0eedf4d444c52c508f418161c45c39195d00e
1 //GPL2 siraj@kde.org
4 #ifndef RAPTOR_SCROLL_HANDLER_H
5 #define RAPTOR_SCROLL_HANDLER_H
7 #include <QGraphicsItem>
8 #include <QtCore/QObject>
9 #include <QtGui/QGraphicsTextItem>
10 #include <QtGui/QLayoutItem>
11 //plasma
12 #include <plasma/svg.h>
13 #include <plasma/theme.h>
14 #include <plasma/datacontainer.h>
17 class RaptorScrollHandler : public QObject,
18 public QGraphicsItem,
19 public QLayoutItem
21 Q_OBJECT
22 public:
23 typedef enum { REGULAR,OVER,PRESSED } MouseState;
24 typedef QHash <MouseState,QString> ThemeNames;
25 typedef enum {UP=0,DOWN,LEFT,RIGHT} ArrowState;
27 RaptorScrollHandler(QGraphicsItem * parent = 0);
29 virtual ~RaptorScrollHandler();
31 QRectF boundingRect() const;
32 void paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0);
33 QSize sizeHint() const;//{}
34 QSize minimumSize() const {}
35 QSize maximumSize() const {}
36 void setArrowState(RaptorScrollHandler::ArrowState state);
37 Qt::Orientations expandingDirections() const{}
38 void setExpandingDirections(Qt::Orientations ori);
39 void setGeometry(const QRect&) {}
40 QRect geometry() const {};
41 bool isEmpty() const { return false;}
43 public slots:
45 signals:
46 void activated();
47 protected:
48 virtual void hoverEnterEvent ( QGraphicsSceneHoverEvent * event );
49 virtual void hoverMoveEvent ( QGraphicsSceneHoverEvent * event );
50 virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event );
51 virtual void mousePressEvent ( QGraphicsSceneMouseEvent * event );
52 private:
53 QString loadSvg(MouseState state);
54 class Private;
55 Private * const d ;
59 #endif