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());