kivio

kivio_mousetool.h

00001 /*
00002  * Kivio - Visual Modelling and Flowcharting
00003  * Copyright (C) 2003 Peter Simonsson
00004  *
00005  * This program is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU General Public License
00007  * as published by the Free Software Foundation; either version 2
00008  * of the License, or (at your option) any later version.
00009  *
00010  * This program 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
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00018  */
00019 #ifndef KIVIOMOUSETOOL_H
00020 #define KIVIOMOUSETOOL_H
00021 
00022 #include "kivio_plugin.h"
00023 
00024 #include <qptrlist.h>
00025 #include <koffice_export.h>
00026 class KivioStencil;
00027 class KoPoint;
00028 
00029 namespace Kivio {
00032   class KIVIO_EXPORT MouseTool : public Kivio::Plugin
00033   {
00034     Q_OBJECT
00035     public:
00036       MouseTool(KivioView* parent = 0, const char* name = 0);
00037       ~MouseTool();
00038     
00039       virtual bool processEvent(QEvent* e) = 0;
00040       
00041     public slots:
00042       virtual void setActivated(bool) = 0;
00046       virtual void applyToolAction(QPtrList<KivioStencil>* stencils) { Q_UNUSED(stencils); };
00047       virtual void applyToolAction(KivioStencil* /*stencil*/, const KoPoint& /*pos*/) {};
00048     
00049     signals:
00051       void activated(Kivio::MouseTool*);
00052   };
00053 }
00054 
00055 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys