net.sourceforge.toscanaj.controller.diagram
Class AttributeAdditiveNodeMovementEventListener

java.lang.Object
  extended bynet.sourceforge.toscanaj.controller.diagram.AttributeAdditiveNodeMovementEventListener
All Implemented Interfaces:
org.tockit.events.EventBrokerListener

public class AttributeAdditiveNodeMovementEventListener
extends java.lang.Object
implements org.tockit.events.EventBrokerListener

Implements node movement in a way that ensures attribute-additivity. Here is the basic idea: - identify all meet-irreducibles in the upset of the dragged node's concept - find the minimal elements in this - distribute the movement along the nodes of these concepts, moving all downsets with them The trick is that this way the movement is restricted to the interval of the dragged node and the join of the upper neighbours, which is in some way the smallest change possible. Most noticably the trivial case (only one upper neighbour) breaks down to moving just the dragged node.


Constructor Summary
AttributeAdditiveNodeMovementEventListener()
           
 
Method Summary
 void processEvent(org.tockit.events.Event e)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AttributeAdditiveNodeMovementEventListener

public AttributeAdditiveNodeMovementEventListener()
Method Detail

processEvent

public void processEvent(org.tockit.events.Event e)
Specified by:
processEvent in interface org.tockit.events.EventBrokerListener


The ToscanaJ project