ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkEventObject.h>
Public Member Functions | |
virtual bool | CheckEvent (const EventObject *) const =0 |
EventObject () | |
EventObject (const EventObject &) | |
virtual const char * | GetEventName (void) const =0 |
virtual EventObject * | MakeObject () const =0 |
virtual void | Print (std::ostream &os) const |
virtual | ~EventObject () |
Protected Member Functions | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
Private Types | |
typedef EventObject * | EventFactoryFunction () |
Private Member Functions | |
void | operator= (const EventObject &) |
Abstraction of the Events used to communicating among filters and with GUIs.
EventObject provides a standard coding for sending and receiving messages indicating things like the initiation of processes, end of processes, modification of filters.
EventObjects form a hierarchy similar to the itk::ExceptionObject allowing to factorize common events in a tree-like structure. Higher detail can be assigned by users by subclassing existing itk::EventObjects.
EventObjects are used by itk::Command and itk::Object for implementing the Observer/Subject design pattern. Observers register their interest in particular kinds of events produced by a specific itk::Object. This mechanism decouples classes among them.
As opposed to itk::Exception, itk::EventObject does not represent error states, but simply flow of information allowing to trigger actions as a consequence of changes occurring in state on some itk::Objects.
itk::EventObject carries information in its own type, it relies on the appropiate use of the RTTI (Run Time Type Information).
A set of standard EventObjects is defined near the end of itkEventObject.h.
Definition at line 57 of file itkEventObject.h.
typedef EventObject* itk::EventObject::EventFactoryFunction() [private] |
Definition at line 96 of file itkEventObject.h.
itk::EventObject::EventObject | ( | ) | [inline] |
Constructor and copy constructor. Note that these functions will be called when children are instantiated.
Definition at line 62 of file itkEventObject.h.
itk::EventObject::EventObject | ( | const EventObject & | ) | [inline] |
Definition at line 64 of file itkEventObject.h.
virtual itk::EventObject::~EventObject | ( | ) | [inline, virtual] |
Virtual destructor needed
Definition at line 67 of file itkEventObject.h.
virtual bool itk::EventObject::CheckEvent | ( | const EventObject * | ) | const [pure virtual] |
Check if given event matches or derives from this event.
virtual const char* itk::EventObject::GetEventName | ( | void | ) | const [pure virtual] |
Return the StringName associated with the event.
Implemented in itk::TreePruneEvent< TTreeType >, itk::TreeRemoveEvent< TTreeType >, itk::TreeAddEvent< TTreeType >, itk::TreeNodeChangeEvent< TTreeType >, and itk::TreeChangeEvent< TTreeType >.
virtual EventObject* itk::EventObject::MakeObject | ( | ) | const [pure virtual] |
Create an Event of this type This method work as a Factory for creating events of each particular type.
Implemented in itk::TreePruneEvent< TTreeType >, itk::TreeRemoveEvent< TTreeType >, itk::TreeAddEvent< TTreeType >, itk::TreeNodeChangeEvent< TTreeType >, and itk::TreeChangeEvent< TTreeType >.
void itk::EventObject::operator= | ( | const EventObject & | ) | [private] |
virtual void itk::EventObject::Print | ( | std::ostream & | os | ) | const [virtual] |
Print Event information. This method can be overridden by specific Event subtypes. The default is to print out the type of the event.
virtual void itk::EventObject::PrintHeader | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
virtual void itk::EventObject::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
virtual void itk::EventObject::PrintTrailer | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |