LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
blockops.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "documentoperation.h"
5 #include "undoable.h"
6 
7 namespace lc {
8  namespace operation {
9  class AddBlock : public DocumentOperation {
10  public:
11  AddBlock(const Document_SPtr& document, const Block_CSPtr& block);
12 
13  virtual void undo() const override;
14  virtual void redo() const override;
15 
16  protected:
17  virtual void processInternal() override;
18 
19  private:
20  Block_CSPtr _block;
21  };
22 
23  class RemoveBlock : public DocumentOperation {
24  public:
25  RemoveBlock(const Document_SPtr& document, const Block_CSPtr& block);
26 
27  virtual void undo() const override;
28  virtual void redo() const override;
29 
30  protected:
31  virtual void processInternal() override;
32 
33  private:
34  Block_CSPtr _block;
35  };
36 
38  public:
39  ReplaceBlock(const Document_SPtr& document, const Block_CSPtr& oldBlock, const Block_CSPtr& newBlock);
40 
41  virtual void undo() const override;
42  virtual void redo() const override;
43 
44  protected:
45  virtual void processInternal() override;
46 
47  private:
48  Block_CSPtr _oldBlock;
49  Block_CSPtr _newBlock;
50  };
51  }
52 }
AddBlock(const Document_SPtr &document, const Block_CSPtr &block)
Definition: blockops.cpp:6
virtual void undo() const override
Undo a given operation.
Definition: blockops.cpp:12
virtual void processInternal() override
Definition: blockops.cpp:20
virtual void processInternal() override
Definition: blockops.cpp:61
virtual void redo() const override
Redo a given operation.
Definition: blockops.cpp:35
virtual void processInternal() override
Definition: blockops.cpp:39
ReplaceBlock(const Document_SPtr &document, const Block_CSPtr &oldBlock, const Block_CSPtr &newBlock)
Definition: blockops.cpp:44
virtual void redo() const override
Redo a given operation.
Definition: blockops.cpp:56
Definition: cadentity.h:12
virtual void undo() const override
Undo a given operation.
Definition: blockops.cpp:31
Block_CSPtr _block
Definition: blockops.h:20
RemoveBlock(const Document_SPtr &document, const Block_CSPtr &block)
Definition: blockops.cpp:25
virtual void redo() const override
Redo a given operation.
Definition: blockops.cpp:16
virtual void undo() const override
Undo a given operation.
Definition: blockops.cpp:51