Files
mapmap/Commands.cpp
Tats 7e85ab493c Merge branch 'spike-qgraphicsview-zoom-and-scroll' into spike-qgraphicsview-zoom-and-scroll-merge-develop
Conflicts:
	DestinationGLCanvas.cpp
	DestinationGLCanvas.h
	MainWindow.cpp
	MainWindow.h
	MapperGLCanvas.cpp
	MapperGLCanvas.h
2015-07-06 20:38:51 -06:00

99 lines
2.6 KiB
C++

#include "Commands.h"
AddShapesCommand::AddShapesCommand(MainWindow *mainWindow, uid mappingId, QUndoCommand *parent):
QUndoCommand(parent)
{
m_mainWindow = mainWindow;
m_mappingId = mappingId;
}
void AddShapesCommand::undo()
{
m_mappingPtr = m_mainWindow->getMappingManager().getMappingById(m_mappingId);
m_mainWindow->deleteMapping(m_mappingId);
}
void AddShapesCommand::redo()
{
if(m_mappingPtr != NULL)
{
uint currentId = m_mainWindow->getMappingManager().addMapping(m_mappingPtr);
m_mainWindow->addMappingItem(currentId);
}
}
MoveVertexCommand::MoveVertexCommand(MapperGLCanvas *mapperGLCanvas, int activeVertex, const QPointF &point, QUndoCommand *parent) :
QUndoCommand(parent)
{
m_mapperGLCanvas = mapperGLCanvas;
m_shape = m_mapperGLCanvas->getCurrentShape();
m_activeVertex = activeVertex;
vertexPosition = point;
}
void MoveVertexCommand::undo()
{
m_shape->setVertex(m_activeVertex, vertexPosition);
m_mapperGLCanvas->update();
// emit m_mapperGLCanvas->shapeChanged(m_mapperGLCanvas->getCurrentShape());
}
void MoveVertexCommand::redo()
{
m_shape->setVertex(m_activeVertex, vertexPosition);
m_mapperGLCanvas->update();
// emit m_mapperGLCanvas->shapeChanged(m_mapperGLCanvas->getCurrentShape());
}
MoveShapesCommand::MoveShapesCommand(MapperGLCanvas *mapperGLCanvas, QMouseEvent *event, const QPointF &point, QUndoCommand *parent) :
QUndoCommand(parent)
{
m_mapperGLCanvas = mapperGLCanvas;
m_shape = m_mapperGLCanvas->getCurrentShape();
m_event = event;
newPosition = point;
}
void MoveShapesCommand::undo()
{
m_shape->translate(oldPosition.x(), oldPosition.y());
m_mapperGLCanvas->update();
// emit m_mapperGLCanvas->shapeChanged(m_mapperGLCanvas->getCurrentShape());
}
void MoveShapesCommand::redo()
{
m_shape->translate(m_event->x() - newPosition.x(), m_event->y() - newPosition.y());
m_mapperGLCanvas->update();
// emit m_mapperGLCanvas->shapeChanged(m_mapperGLCanvas->getCurrentShape());
oldPosition.setX(newPosition.x() - m_event->x());
oldPosition.setY(newPosition.y() - m_event->y());
}
DeleteMappingCommand::DeleteMappingCommand(MainWindow *mainWindow, uid mappingId, QUndoCommand *parent) :
QUndoCommand(parent)
{
m_mainWindow = mainWindow;
m_mappingId = mappingId;
}
void DeleteMappingCommand::undo()
{
if(m_mappingPtr != NULL)
{
uint currentId = m_mainWindow->getMappingManager().addMapping(m_mappingPtr);
m_mainWindow->addMappingItem(currentId);
}
}
void DeleteMappingCommand::redo()
{
m_mappingPtr = m_mainWindow->getMappingManager().getMappingById(m_mappingId);
m_mainWindow->deleteMapping(m_mappingId);
}