18#ifndef itkEventObject_h
19#define itkEventObject_h
116#define ITKEvent_EXPORT ITKCommon_EXPORT
122#define itkEventMacroDeclaration(classname, super) \
124 class ITKEvent_EXPORT classname : public super \
127 using Self = classname; \
128 using Superclass = super; \
129 classname() = default; \
130 classname(const Self & s); \
131 virtual ~classname() override; \
132 virtual const char * \
133 GetEventName() const override; \
135 CheckEvent(const itk::EventObject * e) const override; \
136 virtual itk::EventObject * \
137 MakeObject() const override; \
141 operator=(const Self &); \
143 ITK_MACROEND_NOOP_STATEMENT
145#define itkEventMacroDefinition(classname, super) \
146 classname::classname(const classname & s) \
148 classname::~classname() {} \
149 const char * classname::GetEventName() const { return #classname; } \
150 bool classname::CheckEvent(const itk::EventObject * e) const \
152 return (dynamic_cast<const classname *>(e) != nullptr); \
154 itk::EventObject * classname::MakeObject() const { return new classname; } \
155 ITK_MACROEND_NOOP_STATEMENT
157#if !defined(ITK_LEGACY_REMOVE)
168# define itkEventMacro(classname, super) \
170 class ITKEvent_EXPORT classname : public super \
173 using Self = classname; \
174 using Superclass = super; \
176 virtual ~classname() {} \
177 virtual const char * \
178 GetEventName() const \
183 CheckEvent(const itk::EventObject * e) const \
185 return (dynamic_cast<const Self *>(e) != nullptr); \
187 virtual itk::EventObject * \
192 classname(const Self & s) \
197 operator=(const Self &); \
225#undef ITKEvent_EXPORT
226#define ITKEvent_EXPORT ITK_ABI_EXPORT
Abstraction of the Events used to communicating among filters and with GUIs.
virtual void PrintHeader(std::ostream &os, Indent indent) const
EventObject(const EventObject &)=default
virtual void Print(std::ostream &os) const
virtual void PrintTrailer(std::ostream &os, Indent indent) const
virtual ~EventObject()=default
virtual void PrintSelf(std::ostream &os, Indent indent) const
EventObject & operator=(const EventObject &)=delete
virtual bool CheckEvent(const EventObject *) const =0
virtual EventObject * MakeObject() const =0
virtual const char * GetEventName() const =0
Control indentation during Print() invocation.
#define itkEventMacroDeclaration(classname, super)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)