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