LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lc::DocumentList Class Reference

#include <documentlist.h>

Public Member Functions

 DocumentList (DocumentList const &)=delete
 
void operator= (DocumentList const &)=delete
 
Nano::Signal< void(const
NewWaitingCustomEntityEvent &)> & 
newWaitingCustomEntityEvent ()
 Event called when an unmanaged entity is added to a document. More...
 
std::unordered_set
< entity::Insert_CSPtr > 
waitingCustomEntities (const std::string &pluginName)
 

Static Public Member Functions

static DocumentListgetInstance ()
 

Private Member Functions

 DocumentList ()
 
void addDocument (Document *document)
 
void removeDocument (Document *document)
 
void onNewWaitingCustomEntity (const NewWaitingCustomEntityEvent &event)
 

Private Attributes

std::unordered_set< Document * > _documents
 
Nano::Signal< void(const
lc::NewWaitingCustomEntityEvent &)> 
_newWaitingCustomEntityEvent
 

Friends

class Document
 

Detailed Description

Definition at line 8 of file documentlist.h.

Constructor & Destructor Documentation

lc::DocumentList::DocumentList ( DocumentList const &  )
delete
DocumentList::DocumentList ( )
private

Definition at line 5 of file documentlist.cpp.

5  {
6 
7 }

Member Function Documentation

void DocumentList::addDocument ( lc::Document document)
private

Definition at line 9 of file documentlist.cpp.

9  {
10  _documents.insert(document);
12 }
std::unordered_set< Document * > _documents
Definition: documentlist.h:36
void onNewWaitingCustomEntity(const NewWaitingCustomEntityEvent &event)
virtual Nano::Signal< void(const NewWaitingCustomEntityEvent &)> & newWaitingCustomEntityEvent()
Event called when an unmanaged entity is added to the document.
Definition: document.cpp:74
static DocumentList& lc::DocumentList::getInstance ( )
inlinestatic

Definition at line 12 of file documentlist.h.

12  {
13  static DocumentList _instance;
14 
15  return _instance;
16  }
Nano::Signal< void(const NewWaitingCustomEntityEvent &)> & DocumentList::newWaitingCustomEntityEvent ( )

Event called when an unmanaged entity is added to a document.

Definition at line 23 of file documentlist.cpp.

23  {
25 }
Nano::Signal< void(const lc::NewWaitingCustomEntityEvent &)> _newWaitingCustomEntityEvent
Definition: documentlist.h:37
void DocumentList::onNewWaitingCustomEntity ( const NewWaitingCustomEntityEvent event)
private

Definition at line 19 of file documentlist.cpp.

19  {
21 }
Nano::Signal< void(const lc::NewWaitingCustomEntityEvent &)> _newWaitingCustomEntityEvent
Definition: documentlist.h:37
void lc::DocumentList::operator= ( DocumentList const &  )
delete
void DocumentList::removeDocument ( lc::Document document)
private

Definition at line 14 of file documentlist.cpp.

14  {
16  _documents.erase(document);
17 }
std::unordered_set< Document * > _documents
Definition: documentlist.h:36
void onNewWaitingCustomEntity(const NewWaitingCustomEntityEvent &event)
virtual Nano::Signal< void(const NewWaitingCustomEntityEvent &)> & newWaitingCustomEntityEvent()
Event called when an unmanaged entity is added to the document.
Definition: document.cpp:74
std::unordered_set< entity::Insert_CSPtr > DocumentList::waitingCustomEntities ( const std::string &  pluginName)

Definition at line 27 of file documentlist.cpp.

27  {
28  std::unordered_set<entity::Insert_CSPtr> result;
29 
30  for (auto document : _documents) {
31  auto entities = document->waitingCustomEntities(pluginName);
32  result.insert(entities.begin(), entities.end());
33  }
34 
35  return result;
36 }
std::unordered_set< Document * > _documents
Definition: documentlist.h:36

Friends And Related Function Documentation

friend class Document
friend

Definition at line 9 of file documentlist.h.

Member Data Documentation

std::unordered_set<Document*> lc::DocumentList::_documents
private

Definition at line 36 of file documentlist.h.

Nano::Signal<void(const lc::NewWaitingCustomEntityEvent&)> lc::DocumentList::_newWaitingCustomEntityEvent
private

Definition at line 37 of file documentlist.h.


The documentation for this class was generated from the following files: