libs/flake
KoPathSegmentChangeStrategy.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 * Copyright (C) 2009 Jan Hambrecht <jaham@gmx.net> 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Library General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this library; see the file COPYING.LIB. If not, write to 00016 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #ifndef KOPATHSEGMENTCHANGESTRATEGY_H 00021 #define KOPATHSEGMENTCHANGESTRATEGY_H 00022 00023 #include "KoInteractionStrategy.h" 00024 #include "KoPathSegment.h" 00025 #include "KoPathPointData.h" 00026 #include <QtCore/QPointF> 00027 00028 class KoPathTool; 00029 class KoCanvasBase; 00030 class KoPathShape; 00031 00035 class KoPathSegmentChangeStrategy : public KoInteractionStrategy 00036 { 00037 public: 00038 KoPathSegmentChangeStrategy(KoPathTool *tool, KoCanvasBase *canvas, const QPointF &pos, const KoPathPointData &segment, qreal segmentParam); 00039 virtual ~KoPathSegmentChangeStrategy(); 00040 virtual void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers); 00041 virtual void finishInteraction(Qt::KeyboardModifiers modifiers); 00042 virtual QUndoCommand* createCommand(); 00043 private: 00044 QPointF m_originalPosition; 00045 QPointF m_lastPosition; 00047 QPointF m_move; 00049 KoPathTool * m_tool; 00050 KoPathShape * m_path; 00051 KoPathSegment m_segment; 00052 qreal m_segmentParam; 00053 QPointF m_ctrlPoint1Move; 00054 QPointF m_ctrlPoint2Move; 00055 KoPathPointData m_pointData1; 00056 KoPathPointData m_pointData2; 00057 int m_originalSegmentDegree; 00058 }; 00059 00060 #endif // KOPATHSEGMENTCHANGESTRATEGY_H
