X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.simulator.toolkit%2Fsrc%2Forg%2Fsimantics%2Fsimulator%2Ftoolkit%2FStandardRealm.java;h=3439571665f93fb302fc3993a21c88815fb18679;hp=e228b603d803d86a2fa6146bccbdd51a294b57ad;hb=e03f9cfaaaed5f3d4978fe5c80e7540f90e7bb47;hpb=14a4f7a9d486fba5be815e511fb2a497fca4eb70 diff --git a/bundles/org.simantics.simulator.toolkit/src/org/simantics/simulator/toolkit/StandardRealm.java b/bundles/org.simantics.simulator.toolkit/src/org/simantics/simulator/toolkit/StandardRealm.java index e228b603d..343957166 100644 --- a/bundles/org.simantics.simulator.toolkit/src/org/simantics/simulator/toolkit/StandardRealm.java +++ b/bundles/org.simantics.simulator.toolkit/src/org/simantics/simulator/toolkit/StandardRealm.java @@ -28,6 +28,7 @@ abstract public class StandardRealm nodeManager; + private boolean disposed = false; private Runnable scheduleSyncExec = new Runnable() { @Override @@ -46,7 +47,21 @@ abstract public class StandardRealm createManager(); + protected StandardNodeManager createManager(Node root) { + return new StandardNodeManager(this, root); + } + + protected StandardNodeManager createManager() { + return createManager(createRootNode()); + } + + /* + * For compatibility reasons. Existing implementations implement createManager() directly and in that case this is not needed. + * New implementations should not implement createManager() but rather implement this. + */ + protected Node createRootNode() { + throw new UnsupportedOperationException(); + } protected String getSCLContextKey() { return getClass().getSimpleName(); @@ -164,6 +179,13 @@ abstract public class StandardRealm getNodeManager() {