-import "Simantics/Variables"\r
-\r
-importJava "org.simantics.simulation.experiment.ExperimentUtil" where\r
- @JavaName simulate\r
- simulate :: Boolean -> <Proc> ()\r
- stepExperiment :: IExperiment -> Double -> <Proc> ()\r
- simulateExperiment :: IExperiment -> Boolean -> <Proc> ()\r
- disposeExperiment :: IExperiment -> <Proc> ()\r
- possibleActiveRunVariable ::Resource -> <ReadGraph> Variable\r
- \r
-importJava "org.simantics.simulation.experiment.IExperiment" where\r
- data IExperiment\r
- \r
-experimentFromRun :: Variable -> <ReadGraph> IExperiment\r
+import "Simantics/Variables"
+
+importJava "org.simantics.simulation.experiment.ExperimentUtil" where
+ @JavaName simulate
+ simulate :: Boolean -> <Proc> ()
+ stepExperiment :: IExperiment -> Double -> <Proc> ()
+ simulateExperiment :: IExperiment -> Boolean -> <Proc> ()
+ disposeExperiment :: IExperiment -> <Proc> ()
+ refreshExperiment :: IExperiment -> <ReadGraph> ()
+ getExperimentState :: IExperiment -> <ReadGraph> ExperimentState
+ possibleActiveRunVariable ::Resource -> <ReadGraph> Maybe Variable
+ activateExperiment :: Resource -> <WriteGraph> Resource
+ createExperimentRun :: Resource -> <WriteGraph> Resource
+ createExperimentRunWithType :: Resource -> Resource -> <WriteGraph> Resource
+ activateRun :: Resource -> <WriteGraph> ()
+
+activateExperimentAction :: Resource -> <Proc> ()
+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 -> <ReadGraph> IExperiment