[Insight-developers] itk::Command

Bill Hoffman bill.hoffman at kitware.com
Mon Nov 20 12:00:48 EST 2000


I have  checked in the itk::Command class and associated Observer 
pattern code in itk::LightObject.   There are examples in 
itkBasicArchitectureTest.cxx.   This will replace the use of function 
pointer callbacks in itk.   You can still create "C" style function callbacks
if you want, but that will not be the default.


The basic idea, is that when one of following events occurs:

     DeleteEvent,     StartEvent,    EndEvent,    ProgressEvent,    PickEvent,
     StartPickEvent,    EndPickEvent,    AbortCheckEvent,    ExitEvent,
     AnyEvent,    UserEvent = 1000

     
A virtual Execute function will be called on the Command object sub-class 
registered to be notified when the event occurs.   Here is the function:
   
  virtual void Execute(LightObject *caller, unsigned long event) = 0;


There are several convenience classes that implement the above virtual, via
pointers to functions:
  
MemberCommand - call a pointer to a member function
SimpleMemberCommand - call a pointer to a member function with no arguments.
CStyleCommand - call a "C" function

See itk::Command for full details.

-Bill






More information about the Insight-developers mailing list