LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
documentlist.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include <unordered_set>
5 #include <string>
6 
7 namespace lc {
8  class DocumentList {
9  friend class Document;
10 
11  public:
13  static DocumentList _instance;
14 
15  return _instance;
16  }
17 
18  DocumentList(DocumentList const&) = delete;
19  void operator=(DocumentList const&) = delete;
20 
24  Nano::Signal<void(const NewWaitingCustomEntityEvent&)>& newWaitingCustomEntityEvent();
25 
26  std::unordered_set<entity::Insert_CSPtr> waitingCustomEntities(const std::string& pluginName);
27 
28  private:
29  DocumentList();
30 
31  void addDocument(Document* document);
32  void removeDocument(Document* document);
33 
35 
36  std::unordered_set<Document*> _documents;
37  Nano::Signal<void(const lc::NewWaitingCustomEntityEvent&)> _newWaitingCustomEntityEvent;
38  };
39 }
void operator=(DocumentList const &)=delete
std::unordered_set< Document * > _documents
Definition: documentlist.h:36
void removeDocument(Document *document)
Definition: cadentity.h:12
std::unordered_set< entity::Insert_CSPtr > waitingCustomEntities(const std::string &pluginName)
Nano::Signal< void(const lc::NewWaitingCustomEntityEvent &)> _newWaitingCustomEntityEvent
Definition: documentlist.h:37
Nano::Signal< void(const NewWaitingCustomEntityEvent &)> & newWaitingCustomEntityEvent()
Event called when an unmanaged entity is added to a document.
void addDocument(Document *document)
Definition: documentlist.cpp:9
void onNewWaitingCustomEntity(const NewWaitingCustomEntityEvent &event)
static DocumentList & getInstance()
Definition: documentlist.h:12