X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fscl%2FSimantics%2FSimulation.scl;h=e61b161ad18b2b54186a17498379228d2a274b38;hp=7114653295e694ec43f2f53794c2b32a649a20d8;hb=b000e272429e157638c0384878b07b8dcd758472;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.modeling/scl/Simantics/Simulation.scl b/bundles/org.simantics.modeling/scl/Simantics/Simulation.scl index 711465329..e61b161ad 100644 --- a/bundles/org.simantics.modeling/scl/Simantics/Simulation.scl +++ b/bundles/org.simantics.modeling/scl/Simantics/Simulation.scl @@ -1,15 +1,30 @@ -import "Simantics/Variables" - -importJava "org.simantics.simulation.experiment.ExperimentUtil" where - @JavaName simulate - simulate :: Boolean -> () - stepExperiment :: IExperiment -> Double -> () - simulateExperiment :: IExperiment -> Boolean -> () - disposeExperiment :: IExperiment -> () - possibleActiveRunVariable ::Resource -> Variable - -importJava "org.simantics.simulation.experiment.IExperiment" where - data IExperiment - -experimentFromRun :: Variable -> IExperiment +import "Simantics/Variables" + +importJava "org.simantics.simulation.experiment.ExperimentUtil" where + @JavaName simulate + simulate :: Boolean -> () + stepExperiment :: IExperiment -> Double -> () + simulateExperiment :: IExperiment -> Boolean -> () + disposeExperiment :: IExperiment -> () + refreshExperiment :: IExperiment -> () + getExperimentState :: IExperiment -> ExperimentState + possibleActiveRunVariable ::Resource -> Maybe Variable + activateExperiment :: Resource -> Resource + createExperimentRun :: Resource -> Resource + createExperimentRunWithType :: Resource -> Resource -> Resource + activateRun :: Resource -> () + +activateExperimentAction :: Resource -> () +activateExperimentAction experiment = do + syncWrite (\() -> activateExperiment experiment) + () + +importJava "org.simantics.simulation.experiment.IExperiment" where + data IExperiment + +importJava "org.simantics.simulation.experiment.ExperimentState" where + data ExperimentState + INITIALIZING, RUNNING, STOPPED, DISPOSED :: ExperimentState + +experimentFromRun :: Variable -> IExperiment experimentFromRun run = (run#iExperiment) :: IExperiment \ No newline at end of file