Encapsulates the handling of DAG node notifications.
This class provides a means for an application function to notify Alias of a list of possible DAG nodes that will be affected if an object is modified.
This class is passed to the application function along with an AlObject. For each DAG node that is affected if the AlObject is modifed, the application should call AlNotifyDagNode::notify.
This is a restricted version of an iterator which can only be applied to AlDagNodes.
statusCode AlNotifyDagNode::notify( AlDagNode *dag ) const
Used by the AlMessage class and the AlCommand class in conjunction with the ’kMessagePickListModified’ message type in the AlMessage class. The AlPickListModified message handler is passed two arguments: an AlListModified handle and an AlObject.
statusCode AlPickListModHandler( const AlListModified *dagMod, AlObject *obj )
For the given object, the handler should call dagMod->notify for every DAG node which would be modified if the object were modified (there could be more than one). The handler routine for a kMessagePickListModified message handler will resemble the following code segment:
void myPickHandler( AlMessageType msgType, const AlNotifyDagNode *dagMod, AlObject *obj ) { for every dagnode ’adag’ that would be affected if ’obj’ were modified { dagMod->notify( adag ); } }
For a construction history command, the listModifiedDagNodes routine will be similar in form:
void myUserCmd::listModifiedDagNodes( const AlNotifyDagNode *dagMod, AlObject *obj ) { for every dagnode ’adag’ that would be affected if ’obj’ were modified { dagMod->notify( adag ); } }