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