00001 #ifndef TOOL_H
00002 #define TOOL_H
00003
00004 #include <QObject>
00005 #include <QGraphicsSceneMouseEvent>
00006 class PDFScene;
00007
00017 class Tool : public QObject
00018 {
00019 Q_OBJECT
00020
00021 public:
00022 Tool(PDFScene* scn);
00023
00024
00025
00026
00027 virtual void mouseMoveEvent ( QGraphicsSceneMouseEvent * ev) = 0;
00028 virtual void mousePressEvent ( QGraphicsSceneMouseEvent * ev) = 0;
00029 virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * ev) = 0;
00030 virtual void mouseLeftClickEvent ( QGraphicsSceneMouseEvent * ev) = 0;
00031
00036 virtual void activate() = 0;
00037
00038 signals:
00039
00044 void activated();
00045
00046 protected:
00050 PDFScene* scene;
00051 };
00052
00053 #endif // TOOL_H