From 0963f278a80bf6d8357921999850302af8ef0a6e Mon Sep 17 00:00:00 2001
From: Jens Bendisposto <jens@bendisposto.de>
Date: Mon, 3 Sep 2012 13:24:53 +0200
Subject: [PATCH] work on newcore, most likely trash

---
 .../gef/editor/AbstractInstallActions.java    |   6 +-
 .../bmotionstudio/gef/editor/Animation.java   |  19 +-
 .../gef/editor/IInstallActions.java           |   8 +-
 .../gef/editor/IInstallMenu.java              |   6 +-
 .../editor/command/AbstractLayoutCommand.java |   4 +-
 .../editor/internal/ProgressBarDialog.java    |  16 +-
 .../property/CheckboxCellEditorHelper.java    |   8 +-
 .../editor/property/FileDialogCellEditor.java |  10 +-
 .../property/FilePropertyDescriptor.java      |   6 +-
 .../property/ImagePropertyDescriptor.java     |   6 +-
 .../editor/property/IntegerCellEditor.java    |  13 +-
 .../gef/editor/property/SliderCellEditor.java |  28 +-
 .../property/SliderPropertyDescriptor.java    |   6 +-
 .../gef/editor/util/BMSUtil.java              |   3 -
 de.prob.core/META-INF/MANIFEST.MF             |   5 -
 de.prob.core/plugin.xml                       |  19 +-
 de.prob.core/src/de/prob/cli/CliStarter.java  | 372 ------------------
 .../src/de/prob/core/internal/Activator.java  |   1 +
 de.prob.ui/plugin.xml                         |  12 -
 .../de/prob/ui/StaticListenerRegistry.java    |   3 +-
 .../prob/ui/eventb/StartAnimationHandler.java |   1 -
 .../prob/ui/stateview/AddFormulaHandler.java  |  57 ++-
 .../de/prob/ui/stateview/StateViewPart.java   |  11 +-
 .../statetree/StateTreeExpression.java        |   6 -
 .../statetree/StateTreeExpressionSection.java |   6 -
 25 files changed, 113 insertions(+), 519 deletions(-)
 delete mode 100644 de.prob.core/src/de/prob/cli/CliStarter.java

diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/AbstractInstallActions.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/AbstractInstallActions.java
index e7e9ef17..0767ddde 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/AbstractInstallActions.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/AbstractInstallActions.java
@@ -6,9 +6,9 @@
 
 package de.bmotionstudio.gef.editor;
 
-import java.util.HashMap;
-
-import org.eclipse.jface.action.Action;
+import java.util.HashMap;
+
+import org.eclipse.jface.action.Action;
 
 public class AbstractInstallActions {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/Animation.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/Animation.java
index 736d82ce..65c59d68 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/Animation.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/Animation.java
@@ -16,12 +16,9 @@ import org.eclipse.swt.widgets.Display;
 import de.bmotionstudio.gef.editor.animation.StaticListenerRegistry;
 import de.bmotionstudio.gef.editor.model.BControl;
 import de.bmotionstudio.gef.editor.model.Visualization;
+import de.prob.animator.domainobjects.ClassicalBEvalElement;
 import de.prob.core.Animator;
 import de.prob.core.IAnimationListener;
-import de.prob.core.command.EvaluationGetValuesCommand;
-import de.prob.core.command.EvaluationInsertFormulaCommand;
-import de.prob.core.command.EvaluationInsertFormulaCommand.FormulaType;
-import de.prob.core.domainobjects.EvaluationElement;
 import de.prob.core.domainobjects.Operation;
 import de.prob.core.domainobjects.State;
 import de.prob.exceptions.ProBException;
@@ -33,7 +30,7 @@ public class Animation implements IAnimationListener {
 
 	private final Map<String, Operation> currentStateOperations;
 
-	private final Map<String, EvaluationElement> cachedEvalElements = new HashMap<String, EvaluationElement>();
+	private final Map<String, ClassicalBEvalElement> cachedEvalElements = new HashMap<String, ClassicalBEvalElement>();
 
 	private State currentState;
 
@@ -82,12 +79,12 @@ public class Animation implements IAnimationListener {
 	 * @param currentState
 	 */
 	private void updateCachedExpressions(State currentState) {
-		try {
-			EvaluationGetValuesCommand.getValuesForExpressionsCached(
-					currentState, cachedEvalElements.values());
-		} catch (ProBException e) {
-			// TODO Log this
-		}
+//		try {
+////			EvaluationGetValuesCommand.getValuesForExpressionsCached(
+////					currentState, cachedEvalElements.values());
+//		} catch (ProBException e) {
+//			// TODO Log this
+//		}
 	}
 
 	private void collectAllBControls(List<BControl> allBControls,
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IInstallActions.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IInstallActions.java
index e05735f5..6a48223d 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IInstallActions.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IInstallActions.java
@@ -6,10 +6,10 @@
 
 package de.bmotionstudio.gef.editor;
 
-import java.util.HashMap;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.part.WorkbenchPart;
+import java.util.HashMap;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.ui.part.WorkbenchPart;
 
 public interface IInstallActions {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IInstallMenu.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IInstallMenu.java
index 65739460..3a5db8f1 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IInstallMenu.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/IInstallMenu.java
@@ -6,9 +6,9 @@
 
 package de.bmotionstudio.gef.editor;
 
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IActionBars;
+import org.eclipse.gef.ui.actions.ActionRegistry;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.ui.IActionBars;
 
 public interface IInstallMenu {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/command/AbstractLayoutCommand.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/command/AbstractLayoutCommand.java
index 231e1866..91b830e1 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/command/AbstractLayoutCommand.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/command/AbstractLayoutCommand.java
@@ -6,8 +6,8 @@
 
 package de.bmotionstudio.gef.editor.command;
 
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.commands.Command;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.commands.Command;
 
 public abstract class AbstractLayoutCommand extends Command {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/ProgressBarDialog.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/ProgressBarDialog.java
index 693325bf..382ebd3f 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/ProgressBarDialog.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/ProgressBarDialog.java
@@ -12,8 +12,20 @@ import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Dialog;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Monitor;
+import org.eclipse.swt.widgets.ProgressBar;
+import org.eclipse.swt.widgets.Shell;
 
 import de.bmotionstudio.gef.editor.BMotionStudioImage;
 import de.bmotionstudio.gef.editor.EditorImageRegistry;
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/CheckboxCellEditorHelper.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/CheckboxCellEditorHelper.java
index f8bc69e4..f3c6226f 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/CheckboxCellEditorHelper.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/CheckboxCellEditorHelper.java
@@ -6,11 +6,11 @@
 
 package de.bmotionstudio.gef.editor.property;
 
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.graphics.Image;
-
+import org.eclipse.jface.viewers.ICellModifier;
+import org.eclipse.swt.graphics.Image;
+
 import de.bmotionstudio.gef.editor.BMotionStudioImage;
-import de.bmotionstudio.gef.editor.EditorImageRegistry;
+import de.bmotionstudio.gef.editor.EditorImageRegistry;
 
 public class CheckboxCellEditorHelper {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/FileDialogCellEditor.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/FileDialogCellEditor.java
index 5af32e60..cb2f5716 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/FileDialogCellEditor.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/FileDialogCellEditor.java
@@ -6,11 +6,11 @@
 
 package de.bmotionstudio.gef.editor.property;
 
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.ui.PlatformUI;
+import org.eclipse.jface.viewers.DialogCellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.ui.PlatformUI;
 
 public class FileDialogCellEditor extends DialogCellEditor {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/FilePropertyDescriptor.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/FilePropertyDescriptor.java
index 9203cd81..774b2a84 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/FilePropertyDescriptor.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/FilePropertyDescriptor.java
@@ -6,9 +6,9 @@
 
 package de.bmotionstudio.gef.editor.property;
 
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 public class FilePropertyDescriptor extends PropertyDescriptor {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/ImagePropertyDescriptor.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/ImagePropertyDescriptor.java
index da6325a2..d7943bfc 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/ImagePropertyDescriptor.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/ImagePropertyDescriptor.java
@@ -6,9 +6,9 @@
 
 package de.bmotionstudio.gef.editor.property;
 
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 public class ImagePropertyDescriptor extends PropertyDescriptor {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/IntegerCellEditor.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/IntegerCellEditor.java
index ece60211..6ff8affa 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/IntegerCellEditor.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/IntegerCellEditor.java
@@ -12,7 +12,18 @@ import org.eclipse.core.runtime.Assert;
 import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.jface.viewers.ICellEditorValidator;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
+import org.eclipse.swt.events.FocusAdapter;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.KeyAdapter;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.MouseAdapter;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.TraverseEvent;
+import org.eclipse.swt.events.TraverseListener;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Text;
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/SliderCellEditor.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/SliderCellEditor.java
index 58bb2aff..0afcdae6 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/SliderCellEditor.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/SliderCellEditor.java
@@ -6,17 +6,23 @@
 
 package de.bmotionstudio.gef.editor.property;
 
-import java.text.MessageFormat;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.*;
+import java.text.MessageFormat;
+
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Layout;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Slider;
 
 public class SliderCellEditor extends CellEditor {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/SliderPropertyDescriptor.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/SliderPropertyDescriptor.java
index 5be87c1a..000ba95a 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/SliderPropertyDescriptor.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/property/SliderPropertyDescriptor.java
@@ -6,9 +6,9 @@
 
 package de.bmotionstudio.gef.editor.property;
 
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 public class SliderPropertyDescriptor extends PropertyDescriptor {
 
diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/util/BMSUtil.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/util/BMSUtil.java
index ed487db0..235faffa 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/util/BMSUtil.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/util/BMSUtil.java
@@ -13,10 +13,7 @@ import de.be4.classicalb.core.parser.exceptions.BException;
 import de.bmotionstudio.gef.editor.Animation;
 import de.bmotionstudio.gef.editor.AttributeConstants;
 import de.bmotionstudio.gef.editor.model.BControl;
-import de.prob.core.command.EvaluationGetValuesCommand;
 import de.prob.core.command.GetOperationByPredicateCommand;
-import de.prob.core.domainobjects.EvaluationElement;
-import de.prob.core.domainobjects.EvaluationStateElement;
 import de.prob.core.domainobjects.Operation;
 import de.prob.core.domainobjects.State;
 import de.prob.exceptions.ProBException;
diff --git a/de.prob.core/META-INF/MANIFEST.MF b/de.prob.core/META-INF/MANIFEST.MF
index a576762a..11d74174 100644
--- a/de.prob.core/META-INF/MANIFEST.MF
+++ b/de.prob.core/META-INF/MANIFEST.MF
@@ -3,11 +3,6 @@ Bundle-ManifestVersion: 2
 Bundle-Name: ProB Animator Core
 Bundle-SymbolicName: de.prob.core;singleton:=true
 Bundle-Version: 9.2.2.qualifier
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.rodinp.core;bundle-version="[1.3.1,1.7.0)",
- org.eventb.core;bundle-version="[2.1.0,2.6.0)",
- org.eventb.emf.core;bundle-version="2.2.4",
- org.eventb.emf.persistence;bundle-version="2.4.0"
 Bundle-ActivationPolicy: lazy
 Eclipse-BundleShape: dir
 Bundle-Vendor: HHU Düsseldorf STUPS Group
diff --git a/de.prob.core/plugin.xml b/de.prob.core/plugin.xml
index 2d7b472c..d700da6f 100644
--- a/de.prob.core/plugin.xml
+++ b/de.prob.core/plugin.xml
@@ -4,22 +4,5 @@
    <extension-point id="de.prob.core.lifecycle" name="Lifecycle Events" schema="schema/de.prob.core.lifecycle.exsd"/>
    <extension-point id="de.prob.core.computation" name="Computation Events" schema="schema/de.prob.core.computation.exsd"/>
    <extension-point id="de.prob.core.animation" name="Animation Events" schema="schema/de.prob.core.animation.exsd"/>
-   <extension
-         point="de.prob.core.animation">
-      <listener
-            class="de.prob.core.StaticListenerRegistry">
-      </listener>
-   </extension>
-   <extension
-         point="de.prob.core.computation">
-      <listener
-            class="de.prob.core.StaticListenerRegistry">
-      </listener>
-   </extension>
-   <extension
-         point="de.prob.core.lifecycle">
-      <listener
-            class="de.prob.core.StaticListenerRegistry">
-      </listener>
-   </extension>
+
 </plugin>
diff --git a/de.prob.core/src/de/prob/cli/CliStarter.java b/de.prob.core/src/de/prob/cli/CliStarter.java
deleted file mode 100644
index f71cf9aa..00000000
--- a/de.prob.core/src/de/prob/cli/CliStarter.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/** 
- * (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen, 
- * Heinrich Heine Universitaet Duesseldorf
- * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) 
- * */
-
-package de.prob.cli;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-
-import de.prob.cli.clipatterns.CliPattern;
-import de.prob.cli.clipatterns.InterruptRefPattern;
-import de.prob.cli.clipatterns.PortPattern;
-import de.prob.core.internal.Activator;
-import de.prob.logging.Logger;
-
-public final class CliStarter {
-	private static final String[] JARS = new String[] { "BParser.jar",
-			"ParserAspects.jar", "aspectjrt.jar", "prolog.jar" };
-
-	private Process prologProcess;
-	private String debuggingKey;
-
-	private int port = -1;
-	private Long userInterruptReference = null;
-
-	private OutputLoggerThread stdLogger;
-	private OutputLoggerThread errLogger;
-
-	public CliStarter() throws CliException {
-		this(null);
-	}
-
-	public CliStarter(final File file) throws CliException {
-		startProlog(file);
-	}
-
-	public int getPort() {
-		return port;
-	}
-
-	public void shutdown() {
-		try {
-			prologProcess.destroy();
-		} catch (RuntimeException e) {
-			final String message = "XXXXX Error while stopping cli process: "
-					+ e.getLocalizedMessage();
-			Logger.notifyUser(message, e);
-		} finally {
-			stdLogger.shutdown();
-			errLogger.shutdown();
-		}
-	}
-
-	public String getDebuggingKey() {
-		return debuggingKey;
-	}
-
-	private void startProlog(final File file) throws CliException {
-		prologProcess = null;
-		debuggingKey = null;
-
-		final String os = Platform.getOS();
-		final String arch = Platform.getOSArch();
-		final File applicationPath = getCliPath();
-
-		final String fullcp = createFullClasspath(os, applicationPath);
-		
-		final OsSpecificInfo osInfo = getOsInfo(os,arch);
-		
-
-		final String osPath = applicationPath + File.separator + osInfo.subdir;
-		final String executable = osPath + File.separator + osInfo.cliName;
-		Logger.info("Starting ProB CLI for " + os + " ... Path is "
-				+ executable);
-
-		List<String> command = new ArrayList<String>();
-		if (osInfo.helperCmd != null) {
-			command.add(osInfo.helperCmd);
-		}
-		command.add(executable);
-		// command.add("-ll");
-		command.add("-sf");
-		command.add("-parsercp");
-		command.add(fullcp);
-
-		if (file != null) {
-			command.add(file.getAbsolutePath());
-		}
-
-		createDebuggingKey();
-
-		final ProcessBuilder pb = new ProcessBuilder();
-		pb.command(command);
-		pb.environment().put("PROB_DEBUGGING_KEY", debuggingKey);
-		pb.environment().put("TRAILSTKSIZE", "1M");
-		pb.environment().put("PROLOGINCSIZE", "50M");
-		pb.environment().put("PROB_HOME", osPath);
-		try {
-			prologProcess = pb.start();
-		} catch (IOException e) {
-			final String message = "Problem while starting up ProB CLI. Tried to execute:"
-					+ executable;
-			Logger.notifyUser(message, e);
-			throw new CliException(message, e, true);
-		}
-
-		Assert.isNotNull(prologProcess);
-
-		final BufferedReader input = new BufferedReader(new InputStreamReader(
-				prologProcess.getInputStream()));
-		final BufferedReader output = new BufferedReader(new InputStreamReader(
-				prologProcess.getErrorStream()));
-
-		startErrorLogger(output);
-
-		extractCliInformation(input);
-		// log output from Prolog
-		startOutputLogger(input);
-
-		final Process p = prologProcess;
-
-		Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
-			public void run() {
-				p.destroy();
-			}
-		}));
-
-	}
-
-	private OsSpecificInfo getOsInfo(final String os, String architecture) throws CliException {
-		if (os.equals(Platform.OS_MACOSX)) {
-			return new OsSpecificInfo("macos", "probcli.sh",
-					"sh", "send_user_interrupt");
-		}
-		if (os.equals(Platform.OS_WIN32)) {
-			return new OsSpecificInfo("windows",
-					"probcli.exe", null, "send_user_interrupt.exe");
-		}
-		
-		if (os.equals(Platform.OS_LINUX)) {
-			String linux = "linux";
-			if (architecture.equals(Platform.ARCH_X86_64)) {
-				linux = "linux64";
-			}
-			return new OsSpecificInfo(linux, "probcli.sh",
-					"sh", "send_user_interrupt");
-		}
-			final CliException cliException = new CliException(
-					"ProB does not support the plattform: " + os);
-			cliException.notifyUserOnce();
-			throw cliException;
-	}
-
-	@SuppressWarnings("unchecked")
-	private void extractCliInformation(final BufferedReader input)
-			throws CliException {
-		final PortPattern portPattern = new PortPattern();
-		final InterruptRefPattern intPattern = new InterruptRefPattern();
-		analyseStdout(input, Arrays.asList(portPattern, intPattern));
-		port = portPattern.getValue();
-		userInterruptReference = intPattern.getValue();
-	}
-
-	private static String createFullClasspath(final String os, final File path)
-			throws CliException {
-		final File base = new File(path.getParentFile().getParentFile(),
-				"de.prob.common");
-		final File common = new File(base, "common");
-		final File lib = new File(common, "lib");
-		final StringBuilder sb = new StringBuilder();
-		boolean isFirst = true;
-		for (final String jar : JARS) {
-			final File entry = new File(lib, jar);
-			if (!isFirst) {
-				sb.append(File.pathSeparator);
-			}
-			sb.append(entry.getPath());
-			isFirst = false;
-		}
-		return sb.toString();
-	}
-
-	private void startOutputLogger(final BufferedReader input) {
-		stdLogger = new OutputLoggerThread("(Output " + port + ")", input);
-		stdLogger.start();
-	}
-
-	private void startErrorLogger(final BufferedReader output) {
-		errLogger = new OutputLoggerThread("(Error " + port + ")", output);
-		errLogger.start();
-	}
-
-	private void createDebuggingKey() {
-		Random random;
-		try {
-			random = SecureRandom.getInstance("SHA1PRNG");
-		} catch (NoSuchAlgorithmException e) {
-			random = new Random();
-		}
-		debuggingKey = Long.toHexString(random.nextLong());
-	}
-
-	private void analyseStdout(final BufferedReader input,
-			Collection<? extends CliPattern<?>> patterns) throws CliException {
-		patterns = new ArrayList<CliPattern<?>>(patterns);
-		try {
-			String line;
-			boolean endReached = false;
-			while (!endReached && (line = input.readLine()) != null) { // NOPMD
-				applyPatterns(patterns, line);
-				endReached = patterns.isEmpty()
-						|| line.contains("starting command loop");
-			}
-		} catch (IOException e) {
-			final String message = "Problem while starting ProB. Cannot read from input stream.";
-			Logger.notifyUser(message, e);
-			throw new CliException(message, e, true);
-		}
-		for (CliPattern<?> p : patterns) {
-			p.notFound();
-		}
-	}
-
-	private void applyPatterns(
-			final Collection<? extends CliPattern<?>> patterns,
-			final String line) {
-		for (Iterator<? extends CliPattern<?>> it = patterns.iterator(); it
-				.hasNext();) {
-			final CliPattern<?> p = it.next();
-			if (p.matchesLine(line)) {
-				it.remove();
-			}
-		}
-	}
-
-	private File getCliPath() throws CliException {
-		final Path path = new Path("prob");
-		final URL fileURL = FileLocator.find(
-				Activator.getDefault().getBundle(), path, null);
-		if (fileURL==null) {
-			throw new CliException("Unable to find directory with prob executables.");
-		}
-		URL resolved;
-		try {
-			resolved = FileLocator.resolve(fileURL);
-		} catch (IOException e2) {
-			throw new CliException("Input/output error when trying t find '"
-					+ fileURL + "'");
-		}
-		URI uri;
-		try {
-			uri = resolved.toURI();
-		} catch (URISyntaxException e) {
-			try {
-				uri = new URI("file", null, resolved.getPath(), null);
-			} catch (URISyntaxException e1) {
-				throw new CliException("Unable to construct file '"
-						+ resolved.getPath() + "'");
-			}
-		}
-		return new File(uri);
-	}
-
-	private static class OutputLoggerThread extends Thread {
-
-		private final BufferedReader in;
-
-		private final String prefix;
-
-		private volatile boolean shutingDown = false;
-
-		public OutputLoggerThread(final String name, final BufferedReader in) {
-			super();
-			prefix = "[" + name + "] ";
-			this.in = in;
-		}
-
-		@Override
-		public void run() {
-			try {
-				while (!shutingDown) {
-					final String line = in.readLine();
-
-					if (line == null) {
-						break;
-					}
-					// Logger.log(IStatus.INFO, IStatus.OK, prefix + line,
-					// null);
-					System.err.println(prefix + line);
-				}
-			} catch (IOException e) {
-				if (!"Stream closed".equals(e.getMessage())) {
-					final String message = "OutputLogger died with error";
-					Logger.log(IStatus.INFO, Logger.DEBUG, message, e);
-				}
-			} finally {
-				if (in != null) {
-					try {
-						in.close();
-					} catch (IOException e) {
-					}
-				}
-			}
-		}
-
-		public void shutdown() {
-			shutingDown = true;
-
-			if (isAlive()) {
-				interrupt();
-			}
-		}
-	}
-
-	public void sendUserInterruptReference() {
-		if (userInterruptReference != null) {
-			try {
-				final OsSpecificInfo osInfo = getOsInfo(Platform.getOS(),
-						Platform.getOSArch());
-				final String command = getCliPath() + File.separator
-						+ osInfo.subdir + File.separator
-						+ osInfo.userInterruptCmd;
-				Runtime.getRuntime().exec(
-						new String[] { command,
-								userInterruptReference.toString() });
-			} catch (CliException e) {
-				Logger.info("getting the os specific info failed with exception: "
-						+ e.getLocalizedMessage());
-			} catch (IOException e) {
-				Logger.info("calling the send_user_interrupt command failed: "
-						+ e.getLocalizedMessage());
-			}
-		}
-	}
-
-	private static class OsSpecificInfo {
-		final String subdir;
-		final String cliName;
-		final String helperCmd;
-		final String userInterruptCmd;
-
-		public OsSpecificInfo(final String subdir, final String cliName,
-				final String helperCmd, final String userInterruptCmd) {
-			this.subdir = subdir;
-			this.cliName = cliName;
-			this.helperCmd = helperCmd;
-			this.userInterruptCmd = userInterruptCmd;
-		}
-
-	}
-}
diff --git a/de.prob.core/src/de/prob/core/internal/Activator.java b/de.prob.core/src/de/prob/core/internal/Activator.java
index 7b21a95c..c7bef67a 100644
--- a/de.prob.core/src/de/prob/core/internal/Activator.java
+++ b/de.prob.core/src/de/prob/core/internal/Activator.java
@@ -33,6 +33,7 @@ import de.prob.core.IAnimationListener;
 import de.prob.core.IComputationListener;
 import de.prob.core.ILifecycleListener;
 import de.prob.core.LimitedLogger;
+import de.prob.core.StaticListenerRegistry;
 import de.prob.core.domainobjects.Operation;
 import de.prob.core.domainobjects.State;
 import de.prob.logging.Logger;
diff --git a/de.prob.ui/plugin.xml b/de.prob.ui/plugin.xml
index 26bc7c3a..50f08471 100644
--- a/de.prob.ui/plugin.xml
+++ b/de.prob.ui/plugin.xml
@@ -86,18 +86,6 @@
             restorable="true">
       </view>
    </extension>
-   <extension
-         point="de.prob.core.animation">
-      <listener
-            class="de.prob.ui.StaticListenerRegistry">
-      </listener>
-   </extension>
-   <extension
-         point="de.prob.core.lifecycle">
-      <listener
-            class="de.prob.ui.StaticListenerRegistry">
-      </listener>
-   </extension>
 
 
    <extension
diff --git a/de.prob.ui/src/de/prob/ui/StaticListenerRegistry.java b/de.prob.ui/src/de/prob/ui/StaticListenerRegistry.java
index 393d814a..a20fb859 100644
--- a/de.prob.ui/src/de/prob/ui/StaticListenerRegistry.java
+++ b/de.prob.ui/src/de/prob/ui/StaticListenerRegistry.java
@@ -15,14 +15,13 @@ import de.prob.core.ILifecycleListener;
 import de.prob.core.ListenerRegistry;
 import de.prob.core.domainobjects.Operation;
 import de.prob.core.domainobjects.State;
+import de.prob.core.internal.Activator;
 
 public class StaticListenerRegistry implements ILifecycleListener,
 		IComputationListener, IAnimationListener{
 	
 	
 	public StaticListenerRegistry() {
-		History h = new History(null);
-		h.registerAnimationListener(this);
 	}
 
 	private static final ListenerRegistry registry = new ListenerRegistry();
diff --git a/de.prob.ui/src/de/prob/ui/eventb/StartAnimationHandler.java b/de.prob.ui/src/de/prob/ui/eventb/StartAnimationHandler.java
index 9fcab69c..320a894a 100644
--- a/de.prob.ui/src/de/prob/ui/eventb/StartAnimationHandler.java
+++ b/de.prob.ui/src/de/prob/ui/eventb/StartAnimationHandler.java
@@ -111,7 +111,6 @@ public class StartAnimationHandler extends AbstractHandler implements IHandler {
 		try {
 			model = instance.load(serialized, rootElement.getComponentName());
 		} catch (IOException e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 
diff --git a/de.prob.ui/src/de/prob/ui/stateview/AddFormulaHandler.java b/de.prob.ui/src/de/prob/ui/stateview/AddFormulaHandler.java
index 61bc8120..bab96d37 100644
--- a/de.prob.ui/src/de/prob/ui/stateview/AddFormulaHandler.java
+++ b/de.prob.ui/src/de/prob/ui/stateview/AddFormulaHandler.java
@@ -13,13 +13,17 @@ import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.handlers.HandlerUtil;
 
+import de.be4.classicalb.core.parser.exceptions.BException;
 import de.prob.core.Animator;
 import de.prob.core.LanguageDependendAnimationPart;
+import de.prob.core.internal.Activator;
 //import de.prob.core.command.EvaluationInsertFormulaCommand;
 import de.prob.exceptions.ProBException;
 import de.prob.parserbase.ProBParseException;
 import de.prob.parserbase.ProBParserBaseAdapter;
 import de.prob.prolog.term.PrologTerm;
+import de.prob.statespace.StateSpace;
+import de.prob.ui.ProbUiPlugin;
 
 public class AddFormulaHandler extends AbstractHandler implements IHandler {
 
@@ -39,39 +43,26 @@ public class AddFormulaHandler extends AbstractHandler implements IHandler {
 						validator);
 				int button = dialog.open();
 				if (button == InputDialog.OK) {
-					//TODO: Refactor to replace EvaluationInsertFormulaCommand with new core
-//					final String entered = dialog.getValue();
-//					PrologTerm parsed = null;
-//					try {
-//						parsed = parser.parsePredicate(entered, false);
-//					} catch (ProBParseException pe) {
-//						try {
-//							parsed = parser.parseExpression(entered, false);
-//						} catch (ProBParseException ee) {
-//							MessageDialog.openError(shell, title,
-//									StateViewStrings.dialogSyntaxError);
-//						}
-//					}
-//					if (parsed != null) {
-//						try {
-//							final EvaluationElement staticElement = EvaluationInsertFormulaCommand
-//									.insertFormula(parsed);
-//
-//							final IWorkbenchPage activePage = PlatformUI
-//									.getWorkbench().getActiveWorkbenchWindow()
-//									.getActivePage();
-//							final StateViewPart view = (StateViewPart) activePage
-//									.findView(StateViewPart.STATE_VIEW_ID);
-//							if (view != null) {
-//								view.addUserDefinedExpression(staticElement);
-//							} else {
-//								MessageDialog.openError(shell, "Error",
-//										"Unable to access state view");
-//							}
-//						} catch (ProBException e) {
-//							e.notifyUserOnce();
-//						}
-//					}
+					final String entered = dialog.getValue();
+					try {
+						StateSpace statespace = Activator.getHistory().getStatespace();
+						statespace.addUserFormula(entered);
+						final IWorkbenchPage activePage = PlatformUI
+								.getWorkbench().getActiveWorkbenchWindow()
+								.getActivePage();
+						final StateViewPart view = (StateViewPart) activePage
+								.findView(StateViewPart.STATE_VIEW_ID);
+						if (view != null) {
+							//view.addUserDefinedExpression(staticElement);
+						} else {
+							MessageDialog.openError(shell, "Error",
+									"Unable to access state view");
+						}
+					} catch (BException pe) {
+							MessageDialog.openError(shell, title,
+									StateViewStrings.dialogSyntaxError);
+					}
+
 				}
 			}
 		};
diff --git a/de.prob.ui/src/de/prob/ui/stateview/StateViewPart.java b/de.prob.ui/src/de/prob/ui/stateview/StateViewPart.java
index ab267fe8..62253310 100644
--- a/de.prob.ui/src/de/prob/ui/stateview/StateViewPart.java
+++ b/de.prob.ui/src/de/prob/ui/stateview/StateViewPart.java
@@ -485,11 +485,10 @@ public class StateViewPart extends StateBasedViewPart {
 		}
 	}
 
-	//TODO: Refactor to replace EvaluationElement
-//	public void addUserDefinedExpression(
-//			final EvaluationElement userDefinedElement) {
+	public void addUserDefinedExpression(
+			final String userDefinedElement) {
 //		this.expressionSection.addChild(userDefinedElement);
-//		this.topEvaluationElements.add(userDefinedElement);
-//		refreshTreeView();
-//	}
+	//	this.topEvaluationElements.add(userDefinedElement);
+		refreshTreeView();
+	}
 }
diff --git a/de.prob.ui/src/de/prob/ui/stateview/statetree/StateTreeExpression.java b/de.prob.ui/src/de/prob/ui/stateview/statetree/StateTreeExpression.java
index 87d54f32..cb58d333 100644
--- a/de.prob.ui/src/de/prob/ui/stateview/statetree/StateTreeExpression.java
+++ b/de.prob.ui/src/de/prob/ui/stateview/statetree/StateTreeExpression.java
@@ -20,7 +20,6 @@ public class StateTreeExpression extends AbstractStateTreeElement {
 
 	public StateTreeExpression(StaticStateElement parent) {
 		super(parent);
-		// TODO Auto-generated constructor stub
 	}
 	//TODO: Refactor to replace EvaluationElement
 //	private final EvaluationElement staticElement;
@@ -130,31 +129,26 @@ public class StateTreeExpression extends AbstractStateTreeElement {
 
 	@Override
 	public boolean hasChildren() {
-		// TODO Auto-generated method stub
 		return false;
 	}
 
 	@Override
 	public StaticStateElement[] getChildren() {
-		// TODO Auto-generated method stub
 		return null;
 	}
 
 	@Override
 	public String getLabel() {
-		// TODO Auto-generated method stub
 		return null;
 	}
 
 	@Override
 	public StateDependendElement getValue(State state) {
-		// TODO Auto-generated method stub
 		return null;
 	}
 
 	@Override
 	public boolean hasChanged(State current, State last) {
-		// TODO Auto-generated method stub
 		return false;
 	}
 
diff --git a/de.prob.ui/src/de/prob/ui/stateview/statetree/StateTreeExpressionSection.java b/de.prob.ui/src/de/prob/ui/stateview/statetree/StateTreeExpressionSection.java
index f7fd9d00..922709b6 100644
--- a/de.prob.ui/src/de/prob/ui/stateview/statetree/StateTreeExpressionSection.java
+++ b/de.prob.ui/src/de/prob/ui/stateview/statetree/StateTreeExpressionSection.java
@@ -17,7 +17,6 @@ public class StateTreeExpressionSection extends AbstractStateTreeElement {
 
 	public StateTreeExpressionSection(StaticStateElement parent) {
 		super(parent);
-		// TODO Auto-generated constructor stub
 	}
 	//TODO: Refactor to replace EvaluationElement
 //	private final String label;
@@ -68,31 +67,26 @@ public class StateTreeExpressionSection extends AbstractStateTreeElement {
 
 	@Override
 	public boolean hasChildren() {
-		// TODO Auto-generated method stub
 		return false;
 	}
 
 	@Override
 	public StaticStateElement[] getChildren() {
-		// TODO Auto-generated method stub
 		return null;
 	}
 
 	@Override
 	public String getLabel() {
-		// TODO Auto-generated method stub
 		return null;
 	}
 
 	@Override
 	public StateDependendElement getValue(State state) {
-		// TODO Auto-generated method stub
 		return null;
 	}
 
 	@Override
 	public boolean hasChanged(State current, State last) {
-		// TODO Auto-generated method stub
 		return false;
 	}
 
-- 
GitLab