libs/flake
KoParameterChangeStrategy.cppGo to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "KoParameterChangeStrategy.h"
00021
00022 #include "KoParameterShape.h"
00023 #include "commands/KoParameterHandleMoveCommand.h"
00024
00025 KoParameterChangeStrategy::KoParameterChangeStrategy(KoTool *tool, KoCanvasBase *canvas, KoParameterShape * parameterShape, int handleId)
00026 : KoInteractionStrategy(tool, canvas)
00027 , m_parameterShape(parameterShape)
00028 , m_handleId(handleId)
00029 , m_startPoint(m_parameterShape->shapeToDocument(m_parameterShape->handlePosition(handleId)))
00030 , m_lastModifierUsed(0)
00031 {
00032
00033
00034 m_releasePoint = m_startPoint;
00035 }
00036
00037 KoParameterChangeStrategy::~KoParameterChangeStrategy()
00038 {
00039 }
00040
00041 void KoParameterChangeStrategy::handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers)
00042 {
00043 m_parameterShape->moveHandle(m_handleId, mouseLocation, modifiers);
00044 m_lastModifierUsed = modifiers;
00045 m_releasePoint = mouseLocation;
00046 }
00047
00048 QUndoCommand* KoParameterChangeStrategy::createCommand()
00049 {
00050 KoParameterHandleMoveCommand *cmd = 0;
00051
00052 if (m_startPoint != QPointF(0, 0) && m_startPoint != m_releasePoint) {
00053 cmd = new KoParameterHandleMoveCommand(m_parameterShape, m_handleId, m_startPoint, m_releasePoint, m_lastModifierUsed);
00054 }
00055 return cmd;
00056 }
00057
|