comparison OrthancStone/Sources/Scene2DViewport/MeasureCommands.h @ 1791:9b650ab68d4c

replaced unneeded use of boost::share_ptr for MeasureCommand mementos by std::unique_ptr
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 17 May 2021 16:11:17 +0200
parents 9ac2a65d4172
children 3889ae96d2e9
comparison
equal deleted inserted replaced
1790:b325761e0bd3 1791:9b650ab68d4c
82 { 82 {
83 private: 83 private:
84 /** Must be implemented by the subclasses that edit the actual tool */ 84 /** Must be implemented by the subclasses that edit the actual tool */
85 virtual boost::shared_ptr<MeasureTool> GetMeasureTool() = 0; 85 virtual boost::shared_ptr<MeasureTool> GetMeasureTool() = 0;
86 86
87 /** This memento is updated by the subclasses upon modifications */
88 std::unique_ptr<MeasureToolMemento> mementoModified_;
89
90 /** This memento is the original object state */
91 std::unique_ptr<MeasureToolMemento> mementoOriginal_;
92
87 protected: 93 protected:
88 /** This memento is updated by the subclasses upon modifications */ 94 void SetMementoModified(MeasureToolMemento* memento); // takes ownership
89 boost::shared_ptr<MeasureToolMemento> mementoModified_;
90 95
91 public: 96 public:
92 EditMeasureCommand(boost::shared_ptr<MeasureTool> measureTool, 97 EditMeasureCommand(boost::shared_ptr<MeasureTool> measureTool,
93 boost::weak_ptr<IViewport> viewport); 98 boost::weak_ptr<IViewport> viewport);
94 99
95 virtual ~EditMeasureCommand(); 100 virtual ~EditMeasureCommand();
96 101
97 virtual void Undo() ORTHANC_OVERRIDE; 102 virtual void Undo() ORTHANC_OVERRIDE;
98 103
99 virtual void Redo() ORTHANC_OVERRIDE; 104 virtual void Redo() ORTHANC_OVERRIDE;
100 105
101 /** This memento is the original object state */ 106 const MeasureToolMemento& GetMementoOriginal() const;
102 boost::shared_ptr<MeasureToolMemento> mementoOriginal_;
103 }; 107 };
104 108
105 109
106 class DeleteMeasureCommand : public MeasureCommand 110 class DeleteMeasureCommand : public MeasureCommand
107 { 111 {
112 return measureTool_; 116 return measureTool_;
113 } 117 }
114 118
115 boost::shared_ptr<MeasureTool> measureTool_; 119 boost::shared_ptr<MeasureTool> measureTool_;
116 120
121 /** This memento is updated by the subclasses upon modifications */
122 std::unique_ptr<MeasureToolMemento> mementoModified_;
123
124 /** This memento is the original object state */
125 std::unique_ptr<MeasureToolMemento> mementoOriginal_;
126
117 protected: 127 protected:
118 /** This memento is updated by the subclasses upon modifications */ 128 void SetMementoModified(MeasureToolMemento* memento); // takes ownership
119 boost::shared_ptr<MeasureToolMemento> mementoModified_;
120 129
121 public: 130 public:
122 DeleteMeasureCommand(boost::shared_ptr<MeasureTool> measureTool, 131 DeleteMeasureCommand(boost::shared_ptr<MeasureTool> measureTool,
123 boost::weak_ptr<IViewport> viewport); 132 boost::weak_ptr<IViewport> viewport);
124 133
126 135
127 virtual void Undo() ORTHANC_OVERRIDE; 136 virtual void Undo() ORTHANC_OVERRIDE;
128 137
129 virtual void Redo() ORTHANC_OVERRIDE; 138 virtual void Redo() ORTHANC_OVERRIDE;
130 139
131 /** This memento is the original object state */ 140 const MeasureToolMemento& GetMementoOriginal() const;
132 boost::shared_ptr<MeasureToolMemento> mementoOriginal_;
133 }; 141 };
134 } 142 }
135 143