X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.g3d.vtk%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fvtk%2Fcommon%2FAbstractVTKNodeMap.java;h=dab2040edde8be9947723d35a3c7528fd6825254;hb=aae56c70a404cb2198761325eaea81140947b6df;hp=646fbe41cdef8300e24e71ea84eba13510995e35;hpb=84132a1d750c45f9161afbd58b78572964e50d26;p=simantics%2F3d.git diff --git a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/AbstractVTKNodeMap.java b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/AbstractVTKNodeMap.java index 646fbe41..dab2040e 100644 --- a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/AbstractVTKNodeMap.java +++ b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/common/AbstractVTKNodeMap.java @@ -26,6 +26,7 @@ import org.simantics.db.WriteGraph; import org.simantics.db.common.request.ReadRequest; import org.simantics.db.common.request.WriteRequest; import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.util.Layer0Utils; import org.simantics.g3d.ontology.G3D; import org.simantics.g3d.scenegraph.RenderListener; import org.simantics.g3d.scenegraph.base.INode; @@ -204,10 +205,12 @@ public abstract class AbstractVTKNodeMap implements VTKNodeMap< private Set graphModified = new HashSet(); private boolean requestCommit = false; + private String commitMessage = null; @Override - public void commit() { + public void commit(String message) { requestCommit = true; + commitMessage = message; } protected void doCommit() { @@ -216,6 +219,11 @@ public abstract class AbstractVTKNodeMap implements VTKNodeMap< @Override public void perform(WriteGraph graph) throws DatabaseException { commit(graph); + if (commitMessage != null) { + Layer0Utils.addCommentMetadata(graph, commitMessage); + commitMessage = null; + } + graph.markUndoPoint(); } }, new Callback() { @@ -267,7 +275,7 @@ public abstract class AbstractVTKNodeMap implements VTKNodeMap< } if (mapping.isRangeModified()) - commit(); + commit("Graph sync"); } @Override