Cuurently the actions are connected to member functions within the constructor of SegTool2D without even defining a concrete statemachine. These functions are all doing quite the same, just checking if the object can handle the action. For concrete interaction the functions are overriden in subclasses. This causes that there can be no other interaction or statemachine in subclasses of SegTool2D.
The solution will be to let the Tools connect their methods with the actions defined in their statemachine and provide a CanHandleEvent method in SegTool2D to check the event.