Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkOperation.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkOperation_h
14 #define mitkOperation_h
15 
16 #include <MitkCoreExports.h>
17 #include <itkEventObject.h>
18 
19 #include <mitkCommon.h>
20 
21 namespace mitk
22 {
23  typedef int OperationType;
24 
25  //##Documentation
26  //## @brief Base class of all Operation-classes
27  //##
28  //## @ingroup Undo
30  {
31  public:
33 
34  //##Documentation
35  //## Constructor
36  Operation(OperationType operationType);
37 
38  virtual ~Operation();
39 
40  OperationType GetOperationType();
41 
42  protected:
44  };
45 
46  class MITKCORE_EXPORT OperationEndEvent : public itk::EndEvent
47  {
48  public:
50  typedef itk::EndEvent Superclass;
51  OperationEndEvent(Operation *operation = nullptr) : m_Operation(operation) {}
52  ~OperationEndEvent() override {}
53  const char *GetEventName() const override { return "OperationEndEvent"; }
54  bool CheckEvent(const ::itk::EventObject *e) const override { return dynamic_cast<const Self *>(e); }
55  ::itk::EventObject *MakeObject() const override { return new Self(m_Operation); }
56  Operation *GetOperation() const { return m_Operation; }
57  private:
58  Operation *m_Operation;
59  OperationEndEvent(const Self &);
60  void operator=(const Self &);
61  };
62 
63 } // namespace mitk
64 #endif
mitk::OperationEndEvent
Definition: mitkOperation.h:46
mitk::Operation::m_OperationType
OperationType m_OperationType
Definition: mitkOperation.h:43
mitk::Operation
Base class of all Operation-classes.
Definition: mitkOperation.h:29
mitk::OperationEndEvent::~OperationEndEvent
~OperationEndEvent() override
Definition: mitkOperation.h:52
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitkClassMacroNoParent
#define mitkClassMacroNoParent(className)
Definition: mitkCommon.h:57
MitkCoreExports.h
mitkCommon.h
mitk::OperationType
int OperationType
Definition: mitkOperation.h:23
mitk::OperationEndEvent::Self
OperationEndEvent Self
Definition: mitkOperation.h:49
mitk::OperationEndEvent::GetEventName
const char * GetEventName() const override
Definition: mitkOperation.h:53
mitk::OperationEndEvent::OperationEndEvent
OperationEndEvent(Operation *operation=nullptr)
Definition: mitkOperation.h:51
mitk::OperationEndEvent::CheckEvent
bool CheckEvent(const ::itk::EventObject *e) const override
Definition: mitkOperation.h:54
mitk::OperationEndEvent::MakeObject
::itk::EventObject * MakeObject() const override
Definition: mitkOperation.h:55
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition: MitkCoreExports.h:15
mitk::OperationEndEvent::GetOperation
Operation * GetOperation() const
Definition: mitkOperation.h:56
mitk::OperationEndEvent::Superclass
itk::EndEvent Superclass
Definition: mitkOperation.h:50