OpenLexocad  27.1
CA_CommandObserver.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <qobject.h>
4 
5 #include <string>
6 #include <vector>
7 
8 
9 namespace Core
10 {
11 class Property;
12 class DocObject;
13 class CoreDocument;
14 class Command;
15 } // namespace Core
16 
17 
18 class LX_CORE_EXPORT CA_Transaction
19 {
20 public:
23 
24  enum why
25  {
35 
39 
45 
47  RecomputeFailure
48 
49  } Why;
50 
51  Core::CoreDocument* doc = nullptr;
52  Core::DocObject* object = nullptr;
53  Core::Property* property = nullptr;
54 };
55 
56 
57 
58 class LX_CORE_EXPORT CA_TransactionObserver
59 {
60 public:
62  virtual void onChange(const CA_Transaction& tr) = 0;
63  virtual std::string getName() = 0;
64 
65 protected:
66  virtual ~CA_TransactionObserver(void){};
67 };
68 
69 
70 class LX_CORE_EXPORT CA_CommandObserver : public QObject
71 {
72 public:
74  virtual ~CA_CommandObserver(void){};
75 
76  virtual void notifyRedo(Core::Command* const /*command*/){};
77  virtual void notifyUndo(Core::Command* const /*command*/){};
78  virtual void info(const std::string&){};
79 
80  virtual void notifyStart(){};
81  virtual void notifyStop(){};
82  virtual void notifyReset(){};
83 
84  virtual void notifySelectionAdd(Core::CoreDocument const*, const std::vector<Core::DocObject*>& /*objs*/){};
85  virtual void notifySelectionRemove(Core::CoreDocument const*, const std::vector<Core::DocObject*>& /*objs*/){};
86  virtual void notifySelectionClear(Core::CoreDocument const*){};
87 
88 
89  virtual void notifyPlayLastEvents(){};
90 
91  virtual void notifyDocumentNewFile(Core::CoreDocument const*){};
95  virtual void notifyDocumentClose(Core::CoreDocument const*){};
97 
98  virtual std::string getName() { return "NoName"; };
99 
100 protected:
101  virtual void setName(std::string&){};
102 };
103 
104 typedef std::vector<CA_CommandObserver*> ca_CommandObserver_Vector;
105 typedef std::vector<CA_TransactionObserver*> CA_TransactionObserver_Vector;
virtual void notifyDocumentClose(Core::CoreDocument const *)
Definition: CA_CommandObserver.h:95
Definition: CA_CommandObserver.h:31
std::vector< CA_TransactionObserver * > CA_TransactionObserver_Vector
Definition: CA_CommandObserver.h:105
Definition: CA_CommandObserver.h:40
virtual void notifySetActiveDocument(Core::CoreDocument const *)
Definition: CA_CommandObserver.h:96
Definition: CA_CommandObserver.h:58
CoreDocument()
virtual void notifySelectionAdd(Core::CoreDocument const *, const std::vector< Core::DocObject * > &)
Definition: CA_CommandObserver.h:84
virtual void notifyPlayLastEvents()
Definition: CA_CommandObserver.h:89
Definition: CA_CommandObserver.h:29
virtual void notifyUndo(Core::Command *const)
Definition: CA_CommandObserver.h:77
Definition: CA_CommandObserver.h:70
virtual void notifySelectionRemove(Core::CoreDocument const *, const std::vector< Core::DocObject * > &)
Definition: CA_CommandObserver.h:85
Definition: CA_CommandObserver.h:30
virtual void notifySelectionClear(Core::CoreDocument const *)
Definition: CA_CommandObserver.h:86
Definition: CoreDocument.h:210
virtual void info(const std::string &)
Definition: CA_CommandObserver.h:78
Definition: CA_CommandObserver.h:36
CA_Transaction()
Definition: CA_CommandObserver.h:21
virtual std::string getName()
Definition: CA_CommandObserver.h:98
virtual ~CA_CommandObserver(void)
Definition: CA_CommandObserver.h:74
virtual void notifyRedo(Core::Command *const)
Definition: CA_CommandObserver.h:76
Definition: CA_CommandObserver.h:18
Definition: Base.h:12
~CA_Transaction()
Definition: CA_CommandObserver.h:22
Definition: CA_CommandObserver.h:43
virtual void notifyReset()
Definition: CA_CommandObserver.h:82
virtual ~CA_TransactionObserver(void)
Definition: CA_CommandObserver.h:66
Definition: CA_CommandObserver.h:26
virtual void notifyDocumentOpenFile(Core::CoreDocument const *)
Definition: CA_CommandObserver.h:92
Definition: CA_CommandObserver.h:41
virtual void notifyStop()
Definition: CA_CommandObserver.h:81
Definition: CA_CommandObserver.h:46
why
Definition: CA_CommandObserver.h:24
Definition: CA_CommandObserver.h:27
Definition: CA_CommandObserver.h:37
Definition: CA_CommandObserver.h:28
Definition: CA_CommandObserver.h:42
virtual void notifyStart()
Definition: CA_CommandObserver.h:80
Definition: CA_CommandObserver.h:32
Definition: Property.h:77
Definition: CA_CommandObserver.h:44
std::vector< CA_CommandObserver * > ca_CommandObserver_Vector
Definition: CA_CommandObserver.h:104
Definition: CA_CommandObserver.h:34
CA_TransactionObserver()
Definition: CA_CommandObserver.h:61
CA_CommandObserver(void)
Definition: CA_CommandObserver.h:73
Definition: CA_CommandObserver.h:33
Definition: Command.h:34
virtual void notifyDocumentNewFile(Core::CoreDocument const *)
Definition: CA_CommandObserver.h:91
virtual void setName(std::string &)
Definition: CA_CommandObserver.h:101
Definition: DocObject.h:51
virtual void notifyDocumentSaveAsFile(Core::CoreDocument const *)
Definition: CA_CommandObserver.h:94
Definition: CA_CommandObserver.h:38
virtual void notifyDocumentSaveFile(Core::CoreDocument const *)
Definition: CA_CommandObserver.h:93