libs/flake

KoPanTool.h

Go to the documentation of this file.
00001 /* This file is part of the KDE project
00002  * Copyright (C) 2007 Thomas Zander <zander@kde.org>
00003  * Copyright (C) 2007 Jan Hambrecht <jaham@gmx.net>
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Library General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Library General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Library General Public License
00016  * along with this library; see the file COPYING.LIB.  If not, write to
00017  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018  * Boston, MA 02110-1301, USA.
00019  */
00020 #ifndef KOPANTOOL_H
00021 #define KOPANTOOL_H
00022 
00023 #include "KoTool.h"
00024 
00025 #include <QPointF>
00026 
00027 class KoCanvasController;
00028 
00029 #define KoPanTool_ID "PanTool"
00030 
00034 class KoPanTool : public KoTool
00035 {
00036 public:
00041     explicit KoPanTool(KoCanvasBase *canvas);
00042 
00044     virtual bool wantsAutoScroll();
00046     virtual void mousePressEvent(KoPointerEvent *event);
00048     virtual void mouseMoveEvent(KoPointerEvent *event);
00050     virtual void mouseReleaseEvent(KoPointerEvent *event);
00052     virtual void keyPressEvent(QKeyEvent *event);
00054     virtual void paint(QPainter &, const KoViewConverter &) {}
00056     virtual void activate(bool temporary = false);
00058     virtual void customMoveEvent(KoPointerEvent * event);
00059 
00061     void setCanvasController(KoCanvasController *controller) {
00062         m_controller = controller;
00063     }
00064 
00065 private:
00066     QPointF documentToViewport(const QPointF &p);
00067     KoCanvasController *m_controller;
00068     QPointF m_lastPosition;
00069     bool m_temporary;
00070 };
00071 
00072 #endif