LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
linepatternops.h
Go to the documentation of this file.
1 //
2 // Created by R. van Twisk on 4/15/16.
3 //
4 
5 #pragma once
6 
8 #include "cad/const.h"
9 #include "undoable.h"
10 #include "documentoperation.h"
11 
12 namespace lc {
13  class Document;
14  DECLARE_SHORT_SHARED_PTR(Document)
15 
16  namespace operation {
21  public:
22  AddLinePattern(Document_SPtr document, const DxfLinePattern_CSPtr LinePattern);
23 
24  virtual void undo() const;
25  virtual void redo() const;
26 
27  protected:
28  virtual void processInternal();
29 
30  private:
31  DxfLinePattern_CSPtr _LinePattern;
32  };
33 
38  public:
39  RemoveLinePattern(Document_SPtr document, const DxfLinePattern_CSPtr LinePattern);
40 
41  virtual void undo() const;
42  virtual void redo() const;
43 
44  protected:
45  virtual void processInternal();
46 
47  private:
48  DxfLinePattern_CSPtr _LinePattern;
49  std::vector<entity::CADEntity_CSPtr> _entities;
50  };
51 
56  public:
57  ReplaceLinePattern(Document_SPtr document,
58  const DxfLinePattern_CSPtr oldLinePattern,
59  const DxfLinePattern_CSPtr newLinePattern
60  );
61 
62  virtual void undo() const;
63  virtual void redo() const;
64 
65  protected:
66  virtual void processInternal();
67 
68  private:
69  DxfLinePattern_CSPtr _oldLinePattern;
70  DxfLinePattern_CSPtr _newLinePattern;
71  };
72  }
73 }
std::vector< entity::CADEntity_CSPtr > _entities
DxfLinePattern_CSPtr _oldLinePattern
DECLARE_SHORT_SHARED_PTR(Document)
Definition: cadentity.h:12
DxfLinePattern_CSPtr _LinePattern
DxfLinePattern_CSPtr _newLinePattern
DxfLinePattern_CSPtr _LinePattern