Initial Commit
This commit is contained in:
36
UndoCommands/RemoveWire.cpp
Normal file
36
UndoCommands/RemoveWire.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
#include "RemoveWire.h"
|
||||
|
||||
#include "../Scene.h"
|
||||
#include "../Logic.h"
|
||||
#include "../Wire.h"
|
||||
#include "../Part.h"
|
||||
#include "../Connector.h"
|
||||
|
||||
RemoveWire::RemoveWire(Scene* scene, Wire* wire)
|
||||
:m_scene(scene), m_wire(wire)
|
||||
{
|
||||
setText("Remove Wire");
|
||||
|
||||
m_wireInputPart = (Part*)wire->m_connectorInput->parentItem();
|
||||
m_wireInputConnectorIdx = m_wireInputPart->m_outputs.indexOf(wire->m_connectorInput);
|
||||
|
||||
m_wireOutputPart = (Part*)wire->m_connectorOutput->parentItem();
|
||||
m_wireOutputConnectorIdx = m_wireOutputPart->m_inputs.indexOf(wire->m_connectorOutput);
|
||||
}
|
||||
|
||||
RemoveWire::~RemoveWire()
|
||||
{
|
||||
}
|
||||
|
||||
void RemoveWire::redo()
|
||||
{
|
||||
m_scene->m_logic->deleteWire(m_wire);
|
||||
}
|
||||
|
||||
|
||||
void RemoveWire::undo()
|
||||
{
|
||||
Connector* inputConnector = m_wireInputPart->m_outputs[m_wireInputConnectorIdx];
|
||||
Connector* outputConnector = m_wireOutputPart->m_inputs[m_wireOutputConnectorIdx];
|
||||
m_wire = m_scene->m_logic->createWire(inputConnector, outputConnector);
|
||||
}
|
||||
Reference in New Issue
Block a user