18 #ifndef itkEventObject_h
19 #define itkEventObject_h
75 MakeObject()
const = 0;
81 Print(std::ostream & os)
const;
85 GetEventName()
const = 0;
97 PrintSelf(std::ostream & os,
Indent indent)
const;
100 PrintHeader(std::ostream & os,
Indent indent)
const;
103 PrintTrailer(std::ostream & os,
Indent indent)
const;
107 inline std::ostream &
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; \
130 classname(const Self & s); \
131 virtual ~classname(); \
132 virtual const char * \
133 GetEventName() const; \
135 CheckEvent(const ::itk::EventObject * e) const; \
136 virtual ::itk::EventObject * \
137 MakeObject() const; \
141 operator=(const Self &); \
144 #define itkEventMacroDefinition(classname, super) \
145 classname::classname() {} \
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; }
165 #define itkEventMacro(classname, super) \
167 class ITKEvent_EXPORT classname : public super \
170 using Self = classname; \
171 using Superclass = super; \
173 virtual ~classname() {} \
174 virtual const char * \
175 GetEventName() const \
180 CheckEvent(const ::itk::EventObject * e) const \
182 return (dynamic_cast<const Self *>(e) != nullptr); \
184 virtual ::itk::EventObject * \
189 classname(const Self & s) \
194 operator=(const Self &); \
214 #undef ITKEvent_EXPORT
215 #define ITKEvent_EXPORT ITK_ABI_EXPORT