F:/KPlato/koffice/libs/flake/KoInteractionStrategy.h

Aller à la documentation de ce fichier.
00001 /* This file is part of the KDE project
00002 
00003    Copyright (C) 2006 Thorsten Zachmann <zachmann@kde.org>
00004    Copyright (C) 2006 Thomas Zander <zander@kde.org>
00005 
00006    This library is free software; you can redistribute it and/or
00007    modify it under the terms of the GNU Library General Public
00008    License as published by the Free Software Foundation; either
00009    version 2 of the License, or (at your option) any later version.
00010 
00011    This library is distributed in the hope that it will be useful,
00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014    Library General Public License for more details.
00015 
00016    You should have received a copy of the GNU Library General Public License
00017    along with this library; see the file COPYING.LIB.  If not, write to
00018    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019  * Boston, MA 02110-1301, USA.
00020 */
00021 
00022 #ifndef KODEF_H
00023 #define KODEF_H
00024 
00025 #include <Qt>
00026 
00027 #include <KoSelection.h>
00028 
00029 class QPainter;
00030 class KoPointerEvent;
00031 class KCommand;
00032 class KoCanvasBase;
00033 class KoInteractionTool;
00034 class KoTool;
00035 
00047 class KoInteractionStrategy
00048 {
00049 public:
00051     virtual ~KoInteractionStrategy() {}
00052 
00057     virtual void paint( QPainter &painter, KoViewConverter &converter) {
00058         Q_UNUSED(painter); Q_UNUSED(converter); };
00065     virtual void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) = 0;
00071     virtual KCommand* createCommand() = 0;
00076     void cancelInteraction();
00080     virtual void finishInteraction( Qt::KeyboardModifiers modifiers ) = 0;
00081 
00085     static KoInteractionStrategy* createStrategy(KoPointerEvent *event, KoInteractionTool *parentTool, KoCanvasBase *canvas);
00086 
00087 protected:
00089     KoInteractionStrategy(KoTool *parent, KoCanvasBase *canvas);
00090 
00095     void applyGrid(QPointF &point);
00096 
00097 protected: // members
00098     KoTool *m_parent; 
00099     KoSelectionSet m_selectedShapes; 
00100     KoCanvasBase *m_canvas; 
00101 };
00102 
00103 #endif /* KODEF_H */

Généré le Wed Nov 22 23:40:59 2006 pour KPlato par  doxygen 1.5.1-p1