LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
layerops.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "cad/const.h"
4 #include "undoable.h"
5 #include "documentoperation.h"
6 
7 namespace lc {
8  class Document;
9  namespace operation {
13  class AddLayer : public DocumentOperation {
14  public:
15  AddLayer(std::shared_ptr<Document> document, const Layer_CSPtr layer) ;
16 
17  virtual void undo() const;
18  virtual void redo() const;
19 
20  private:
21 
22  protected:
23  virtual void processInternal();
24 
25  private:
26  Layer_CSPtr _layer;
27  };
28 
32  class RemoveLayer : public DocumentOperation {
33  public:
34  RemoveLayer(std::shared_ptr<Document> document, const Layer_CSPtr layer) ;
35 
36  virtual void undo() const;
37  virtual void redo() const;
38 
39  private:
40 
41  protected:
42  virtual void processInternal();
43 
44  private:
45  Layer_CSPtr _layer;
46  std::vector<entity::CADEntity_CSPtr> _entities;
47  };
48 
53  public:
54  ReplaceLayer(std::shared_ptr<Document> document, const Layer_CSPtr oldLayer, const Layer_CSPtr newLayer) ;
55 
56  virtual void undo() const;
57  virtual void redo() const;
58 
59  private:
60 
61  protected:
62  virtual void processInternal();
63 
64  private:
65  Layer_CSPtr _oldLayer;
66  Layer_CSPtr _newLayer;
67  };
68  }
69 }
std::vector< entity::CADEntity_CSPtr > _entities
Definition: layerops.h:46
virtual void undo() const
Undo a given operation.
Definition: layerops.cpp:51
Layer_CSPtr _layer
Definition: layerops.h:26
RemoveLayer(std::shared_ptr< Document > document, const Layer_CSPtr layer)
Definition: layerops.cpp:30
virtual void redo() const
Redo a given operation.
Definition: layerops.cpp:23
virtual void processInternal()
Definition: layerops.cpp:40
AddLayer(std::shared_ptr< Document > document, const Layer_CSPtr layer)
Definition: layerops.cpp:10
virtual void redo() const
Redo a given operation.
Definition: layerops.cpp:92
ReplaceLayer(std::shared_ptr< Document > document, const Layer_CSPtr oldLayer, const Layer_CSPtr newLayer)
Definition: layerops.cpp:71
Definition: cadentity.h:12
virtual void processInternal()
Definition: layerops.cpp:77
virtual void processInternal()
Definition: layerops.cpp:15
virtual void undo() const
Undo a given operation.
Definition: layerops.cpp:19
virtual void undo() const
Undo a given operation.
Definition: layerops.cpp:89
virtual void redo() const
Redo a given operation.
Definition: layerops.cpp:59