Go to the documentation of this file.
26 , m_transition(transition)
27 , m_operation(NoOperation)
36 switch (m_operation) {
37 case SetSourceStateOperation: {
38 m_oldSourceState = m_transition->sourceState();
40 m_transition->setSourceState(m_sourceState);
42 case SetTargetStateOperation:
43 m_oldTargetState = m_transition->targetState();
44 m_transition->setTargetState(m_targetState);
46 case SetShapeOperation:
47 m_oldShape = m_transition->shape();
48 m_transition->setShape(m_shape);
60 switch (m_operation) {
61 case SetSourceStateOperation: {
63 m_transition->setSourceState(m_oldSourceState);
65 case SetTargetStateOperation:
66 m_transition->setTargetState(m_oldTargetState);
68 case SetShapeOperation:
69 m_transition->setShape(m_oldShape);
78 if (other->id() !=
id()) {
83 if (cmd->m_transition != m_transition || cmd->m_operation != m_operation) {
87 m_sourceState = cmd->m_sourceState;
88 m_targetState = cmd->m_targetState;
89 m_shape = cmd->m_shape;
95 m_sourceState = sourceState;
96 m_operation = SetSourceStateOperation;
102 m_targetState = targetState;
103 m_operation = SetTargetStateOperation;
110 m_operation = SetShapeOperation;
114void ModifyTransitionCommand::updateText()
116 const QString label = m_transition ? m_transition->label() : tr(
"<Unknown>");
118 switch (m_operation) {
119 case SetSourceStateOperation:
120 setText(tr(
"Set source state of '%1'").arg(label));
122 case SetTargetStateOperation:
123 setText(tr(
"Set target state of '%1'").arg(label));
125 case SetShapeOperation:
126 setText(tr(
"Modify path of '%1'").arg(label));
Command(StateModel *model, QUndoCommand *parent=nullptr)
StateModel * model() const
bool mergeWith(const QUndoCommand *other) override
Q_INVOKABLE void setTargetState(KDSME::State *targetState)
ModifyTransitionCommand(Transition *transition, StateModel *model, QUndoCommand *parent=nullptr)
Q_INVOKABLE void setSourceState(KDSME::State *sourceState)
Q_INVOKABLE void setShape(const QPainterPath &shape)