Connecting interactors to diagrams using listeners

In the Designer you can pass the status of a push_state interactor in a node to a Designer property. For information on how to do this, see Linking predefined interactors to parameters in Using the Designer. To customize the application behavior, use a Java™ listener to provoke custom behavior in your application when the node is clicked. The following code sample shows how to do so:
A listener to follow changes in diagram property values
/**
 * Listener for user  interaction. Assume that in the style sheet 
 * there is a
 * mapping:
 *   push_state : "@state";
 */
public class ModelListener implements SDMPropertyChangeListener {
 /*
 * @see ilog.views.sdm.event.SDMPropertyChangeListener#propertyChanged( 
 *          ilog.views.sdm.event.SDMPropertyChangeEvent)
 */
 public void propertyChanged(SDMPropertyChangeEvent event) {
   String propertyName = event.getPropertyName();
   Object target = event.getObject();
   String value = event.getNewValue().toString();

   if ("state".equals(propertyName)) {
      // push interactor has modified the model
      // invoke callback
      performSomeAction(target, value);
   }
 }
}

...

//Usage:
   IlvDiagrammer diag;
   diag = new IlvDiagrammer();
   diag.getEngine().getModel().addSDMPropertyChangeListener(new
          ModelListener());