Skip to content

Commit 9e63914

Browse files
committed
Working on connection undo
1 parent c9b94e7 commit 9e63914

File tree

3 files changed

+31
-10
lines changed

3 files changed

+31
-10
lines changed

src/Dataflow/Engine/Controller/ProvenanceItemImpl.cc

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,24 +103,49 @@ std::string ModuleRemovedProvenanceItem::redoCode() const
103103
ConnectionAddedProvenanceItem::ConnectionAddedProvenanceItem(const SCIRun::Dataflow::Networks::ConnectionDescription& cd, NetworkFileHandle state, SharedPointer<NetworkEditorPythonInterface> nedPy)
104104
: ProvenanceItemBase(state, nedPy), desc_(cd)
105105
{
106+
auto outIndex = module_->getOutputPort(desc_.out_.portId_)->getIndex();
107+
logCritical("REDO CODE: scirun_connect_modules(\"{}\", {}, \"{}\", {})", desc_.out_.moduleId_.id_, outIndex, desc_.in_.moduleId_.id_, "INDEX_NEEDED");
108+
logCritical("REDO CODE: scirun_disconnect_modules(\"{}\", {}, \"{}\", {})", desc_.out_.moduleId_.id_, "INDEX_NEEDED", desc_.in_.moduleId_.id_, "INDEX_NEEDED");
106109
}
107110

108111
std::string ConnectionAddedProvenanceItem::name() const
109112
{
110113
return "Connection added: " + ConnectionId::create(desc_).id_;
111114
}
112115

116+
std::string ConnectionAddedProvenanceItem::undoCode() const
117+
{
118+
return fmt::format("scirun_remove_connection(\"{}\")", ConnectionId::create(desc_).id_);
119+
}
120+
121+
std::string ConnectionAddedProvenanceItem::redoCode() const
122+
{
123+
return fmt::format("scirun_connect_modules(\"{}\")", ConnectionId::create(desc_).id_);
124+
}
125+
113126
ConnectionRemovedProvenanceItem::ConnectionRemovedProvenanceItem(const SCIRun::Dataflow::Networks::ConnectionId& id, NetworkFileHandle state, SharedPointer<NetworkEditorPythonInterface> nedPy)
114127
: ProvenanceItemBase(state, nedPy), id_(id)
115128
{
129+
//logCritical("REDO CODE: scirun_remove_connection(\"{}\")", id.id_);
130+
//logCritical("UNDO CODE: scirun_add_connection(\"{}\")", id.id_);
116131
}
117132

118133
std::string ConnectionRemovedProvenanceItem::name() const
119134
{
120135
return "Connection Removed: " + id_.id_;
121136
}
122137

123-
ModuleMovedProvenanceItem::ModuleMovedProvenanceItem(const SCIRun::Dataflow::Networks::ModuleId& moduleId, double newX, double newY, double oldX, double oldY,
138+
std::string ConnectionRemovedProvenanceItem::undoCode() const
139+
{
140+
return fmt::format("scirun_connect_modules(\"{}\")", id_.id_);
141+
}
142+
143+
std::string ConnectionRemovedProvenanceItem::redoCode() const
144+
{
145+
return fmt::format("scirun_remove_connection(\"{}\")", id_.id_);
146+
}
147+
148+
ModuleMovedProvenanceItem::ModuleMovedProvenanceItem(const SCIRun::Dataflow::Networks::ModuleId& moduleId, double newX, double newY, double oldX, double oldY,
124149
NetworkFileHandle state, SharedPointer<NetworkEditorPythonInterface> nedPy)
125150
: ProvenanceItemBase(state, nedPy), moduleId_(moduleId), newX_(newX), newY_(newY), oldX_(oldX), oldY_(oldY)
126151
{

src/Dataflow/Engine/Controller/ProvenanceItemImpl.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ namespace Engine {
8181
public:
8282
ConnectionAddedProvenanceItem(const SCIRun::Dataflow::Networks::ConnectionDescription& cd, Networks::NetworkFileHandle state, SharedPointer<NetworkEditorPythonInterface> nedPy);
8383
std::string name() const override;
84-
std::string undoCode() const override { throw "not implemented"; }
85-
std::string redoCode() const override { throw "not implemented"; }
84+
std::string undoCode() const override;
85+
std::string redoCode() const override;
8686
private:
8787
SCIRun::Dataflow::Networks::ConnectionDescription desc_;
8888
};
@@ -92,16 +92,16 @@ namespace Engine {
9292
public:
9393
ConnectionRemovedProvenanceItem(const SCIRun::Dataflow::Networks::ConnectionId& id, Networks::NetworkFileHandle state, SharedPointer<NetworkEditorPythonInterface> nedPy);
9494
std::string name() const override;
95-
std::string undoCode() const override { throw "not implemented"; }
96-
std::string redoCode() const override { throw "not implemented"; }
95+
std::string undoCode() const override;
96+
std::string redoCode() const override;
9797
private:
9898
SCIRun::Dataflow::Networks::ConnectionId id_;
9999
};
100100

101101
class SCISHARE ModuleMovedProvenanceItem : public ProvenanceItemBase
102102
{
103103
public:
104-
ModuleMovedProvenanceItem(const SCIRun::Dataflow::Networks::ModuleId& moduleId, double newX, double newY,
104+
ModuleMovedProvenanceItem(const SCIRun::Dataflow::Networks::ModuleId& moduleId, double newX, double newY,
105105
double oldX, double oldY,
106106
Networks::NetworkFileHandle state, SharedPointer<NetworkEditorPythonInterface> nedPy);
107107
std::string name() const override;

src/Interface/Application/ProvenanceWindow.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -328,8 +328,6 @@ void GuiActionProvenanceConverter::connectionAdded(const SCIRun::Dataflow::Netwo
328328
if (!provenanceManagerModifyingNetwork_)
329329
{
330330
ProvenanceItemHandle item(makeShared<ConnectionAddedProvenanceItem>(cd, editor_->saveNetwork(), NetworkEditorPythonAPI::getImpl()));
331-
LOG_TRACE("REDO CODE: scirun_add_connection(\"{}\")", ConnectionId::create(cd).id_);
332-
LOG_TRACE("UNDO CODE: scirun_remove_connection(\"{}\")", ConnectionId::create(cd).id_);
333331
Q_EMIT provenanceItemCreated(item);
334332
}
335333
}
@@ -339,8 +337,6 @@ void GuiActionProvenanceConverter::connectionRemoved(const SCIRun::Dataflow::Net
339337
if (!provenanceManagerModifyingNetwork_)
340338
{
341339
ProvenanceItemHandle item(makeShared<ConnectionRemovedProvenanceItem>(id, editor_->saveNetwork(), NetworkEditorPythonAPI::getImpl()));
342-
logCritical("REDO CODE: scirun_remove_connection(\"{}\")", id.id_);
343-
logCritical("UNDO CODE: scirun_add_connection(\"{}\")", id.id_);
344340
Q_EMIT provenanceItemCreated(item);
345341
}
346342
}

0 commit comments

Comments
 (0)