add missing files
[raptor.git] / launcher / raptorscrollhandler.h
blob95649a13f42993efc2feaf39ef7912f99cbeff32
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 //FIXME:
35 QSize minimumSize() const {return QSize(100,100);}
36 QSize maximumSize() const {return QSize(100,100);}
37 void setArrowState(RaptorScrollHandler::ArrowState state);
38 Qt::Orientations expandingDirections() const{return 0;}
39 void setExpandingDirections(Qt::Orientations ori);
40 void setGeometry(const QRect& r) {Q_UNUSED(r)}
41 QRect geometry() const {return QRect(0,0,100,100);};
42 bool isEmpty() const { return false;}
44 public slots:
46 signals:
47 void activated();
48 protected:
49 virtual void hoverEnterEvent ( QGraphicsSceneHoverEvent * event );
50 virtual void hoverMoveEvent ( QGraphicsSceneHoverEvent * event );
51 virtual void hoverLeaveEvent ( QGraphicsSceneHoverEvent * event );
52 virtual void mousePressEvent ( QGraphicsSceneMouseEvent * event );
53 private:
54 QString loadSvg(MouseState state);
55 class Private;
56 Private * const d ;
60 #endif