comparison OrthancStone/Sources/Scene2DViewport/MeasureCommands.h @ 1571:85e117739eca

cppcheck
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 21 Sep 2020 17:46:39 +0200
parents 244ad1e4e76a
children 8563ea5d8ae4
comparison
equal deleted inserted replaced
1570:9a04f42098a3 1571:85e117739eca
32 32
33 namespace OrthancStone 33 namespace OrthancStone
34 { 34 {
35 class MeasureCommand : public boost::noncopyable 35 class MeasureCommand : public boost::noncopyable
36 { 36 {
37 public:
38 MeasureCommand(boost::shared_ptr<IViewport> viewport) : viewport_(viewport)
39 {}
40 virtual void Undo() = 0;
41 virtual void Redo() = 0;
42
43 virtual ~MeasureCommand() {};
44
45 protected: 37 protected:
46 boost::shared_ptr<IViewport> viewport_; 38 boost::shared_ptr<IViewport> viewport_;
39
40 public:
41 explicit MeasureCommand(boost::shared_ptr<IViewport> viewport) :
42 viewport_(viewport)
43 {
44 }
45
46 virtual ~MeasureCommand()
47 {
48 }
49
50 virtual void Undo() = 0;
51
52 virtual void Redo() = 0;
47 }; 53 };
48 54
55
49 class CreateMeasureCommand : public MeasureCommand 56 class CreateMeasureCommand : public MeasureCommand
50 { 57 {
51 public:
52 CreateMeasureCommand(boost::shared_ptr<IViewport> viewport);
53 virtual ~CreateMeasureCommand();
54 virtual void Undo() ORTHANC_OVERRIDE;
55 virtual void Redo() ORTHANC_OVERRIDE;
56 private: 58 private:
57 /** Must be implemented by the subclasses that create the actual tool */ 59 /** Must be implemented by the subclasses that create the actual tool */
58 virtual boost::shared_ptr<MeasureTool> GetMeasureTool() = 0; 60 virtual boost::shared_ptr<MeasureTool> GetMeasureTool() = 0;
61
62 public:
63 explicit CreateMeasureCommand(boost::shared_ptr<IViewport> viewport);
64
65 virtual ~CreateMeasureCommand();
66
67 virtual void Undo() ORTHANC_OVERRIDE;
68
69 virtual void Redo() ORTHANC_OVERRIDE;
59 }; 70 };
71
60 72
61 class EditMeasureCommand : public MeasureCommand 73 class EditMeasureCommand : public MeasureCommand
62 { 74 {
63 public:
64 EditMeasureCommand(boost::shared_ptr<MeasureTool> measureTool, boost::shared_ptr<IViewport> viewport);
65 virtual ~EditMeasureCommand();
66 virtual void Undo() ORTHANC_OVERRIDE;
67 virtual void Redo() ORTHANC_OVERRIDE;
68
69 /** This memento is the original object state */
70 boost::shared_ptr<MeasureToolMemento> mementoOriginal_;
71
72 private: 75 private:
73 /** Must be implemented by the subclasses that edit the actual tool */ 76 /** Must be implemented by the subclasses that edit the actual tool */
74 virtual boost::shared_ptr<MeasureTool> GetMeasureTool() = 0; 77 virtual boost::shared_ptr<MeasureTool> GetMeasureTool() = 0;
75 78
76 protected: 79 protected:
77
78 /** This memento is updated by the subclasses upon modifications */ 80 /** This memento is updated by the subclasses upon modifications */
79 boost::shared_ptr<MeasureToolMemento> mementoModified_; 81 boost::shared_ptr<MeasureToolMemento> mementoModified_;
82
83 public:
84 EditMeasureCommand(boost::shared_ptr<MeasureTool> measureTool,
85 boost::shared_ptr<IViewport> viewport);
86
87 virtual ~EditMeasureCommand();
88
89 virtual void Undo() ORTHANC_OVERRIDE;
90
91 virtual void Redo() ORTHANC_OVERRIDE;
92
93 /** This memento is the original object state */
94 boost::shared_ptr<MeasureToolMemento> mementoOriginal_;
80 }; 95 };
81 96
97
82 class DeleteMeasureCommand : public MeasureCommand 98 class DeleteMeasureCommand : public MeasureCommand
83 { 99 {
84 public:
85 DeleteMeasureCommand(boost::shared_ptr<MeasureTool> measureTool, boost::shared_ptr<IViewport> viewport);
86 virtual ~DeleteMeasureCommand();
87 virtual void Undo() ORTHANC_OVERRIDE;
88 virtual void Redo() ORTHANC_OVERRIDE;
89
90 /** This memento is the original object state */
91 boost::shared_ptr<MeasureToolMemento> mementoOriginal_;
92
93 private: 100 private:
94 /** Must be implemented by the subclasses that edit the actual tool */ 101 /** Must be implemented by the subclasses that edit the actual tool */
95 virtual boost::shared_ptr<MeasureTool> GetMeasureTool() 102 virtual boost::shared_ptr<MeasureTool> GetMeasureTool()
96 { 103 {
97 return measureTool_; 104 return measureTool_;
98 } 105 }
99 106
100 boost::shared_ptr<MeasureTool> measureTool_; 107 boost::shared_ptr<MeasureTool> measureTool_;
101 108
102 protected: 109 protected:
103
104 /** This memento is updated by the subclasses upon modifications */ 110 /** This memento is updated by the subclasses upon modifications */
105 boost::shared_ptr<MeasureToolMemento> mementoModified_; 111 boost::shared_ptr<MeasureToolMemento> mementoModified_;
112
113 public:
114 DeleteMeasureCommand(boost::shared_ptr<MeasureTool> measureTool,
115 boost::shared_ptr<IViewport> viewport);
116
117 virtual ~DeleteMeasureCommand();
118
119 virtual void Undo() ORTHANC_OVERRIDE;
120
121 virtual void Redo() ORTHANC_OVERRIDE;
122
123 /** This memento is the original object state */
124 boost::shared_ptr<MeasureToolMemento> mementoOriginal_;
106 }; 125 };
107 } 126 }
108 127