DiagramViewer's EditorState limits states to hard-coded ones.
|Status:||On hold||Start date:|
|Velocity based estimate||-|
EditorState class and its handling limits the states:
1. org.simantics.modeling.ui.diagramEditor.DiagramEditorStates uses only EditorState, inheritance is not possible.
2. EditorState.toToolMode() is hard-coded to support Pointer, Pan, and Connect tools.
3. Creating new tools / states in own editor causes DiagramViewer.applyEditorStates to fail without overloading the said method. 1. causes cumbersome code in overloaded method, and 2. makes EditorState.toToolMode() an unusable method.
Steps to fix:
1. EditorState class must be changed to an interface.
2. DiagramEditorStates must use ReadGraph.adapt() to instantiate EditorState implementations.