QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RLinkedStorage.h
Go to the documentation of this file.
1 #ifndef RLINKEDSTORAGE_H_
2 #define RLINKEDSTORAGE_H_
3 
4 #include <QSharedPointer>
5 
6 #include "RMemoryStorage.h"
8 
19 public:
21  virtual ~RLinkedStorage();
22 
23  virtual void clear();
24 
25  virtual QSet<RObject::Id> queryAllObjects();
26  virtual QSet<REntity::Id> queryAllEntities(bool undone = false, bool allBlocks = false);
27  virtual QSet<RUcs::Id> queryAllUcs();
28  virtual QSet<RLayer::Id> queryAllLayers(bool undone = false);
29  virtual QSet<RBlock::Id> queryAllBlocks(bool undone = false);
30  virtual QSet<RView::Id> queryAllViews(bool undone = false);
31  virtual QSet<RLinetype::Id> queryAllLinetypes();
32  virtual QSet<REntity::Id> querySelectedEntities();
33 
34  virtual QSet<REntity::Id> queryLayerEntities(RLayer::Id layerId, bool allBlocks = false);
35  virtual QSet<REntity::Id> queryBlockEntities(RBlock::Id blockId);
36  virtual QSet<REntity::Id> queryBlockReferences(RBlock::Id blockId);
37  virtual QSet<REntity::Id> queryAllBlockReferences();
38 
39  virtual QSharedPointer<RObject> queryObject(RObject::Id objectId) const;
40  virtual QSharedPointer<REntity> queryEntity(REntity::Id objectId) const;
41  virtual QSharedPointer<RLayer> queryLayer(RLayer::Id layerId) const;
42  virtual QSharedPointer<RLayer> queryLayer(const QString& layerName) const;
43  virtual QSharedPointer<RBlock> queryBlock(RBlock::Id blockId) const;
44  virtual QSharedPointer<RBlock> queryBlock(const QString& blockName) const;
45  virtual QSharedPointer<RView> queryView(RView::Id viewId) const;
46  virtual QSharedPointer<RView> queryView(const QString& viewName) const;
47  virtual QSharedPointer<RUcs> queryUcs(RUcs::Id ucsId) const;
48  virtual QSharedPointer<RUcs> queryUcs(const QString& ucsName) const;
49  virtual QSharedPointer<RLinetype> queryLinetype(RLinetype::Id linetypeId) const;
50  virtual QSharedPointer<RLinetype> queryLinetype(const QString& linetypeName) const;
51 
52  virtual QString getLayerName(RLayer::Id layerId);
53  virtual QSet<QString> getLayerNames();
54  virtual RLayer::Id getLayerId(const QString& layerName);
55 
56  virtual QString getBlockName(RBlock::Id blockId) const;
57  virtual QSet<QString> getBlockNames();
58  virtual RBlock::Id getBlockId(const QString& blockName);
59 
60  virtual QString getViewName(RView::Id viewId);
61  virtual QSet<QString> getViewNames();
62  virtual RView::Id getViewId(const QString& viewName);
63 
64  virtual QString getLinetypeName(RLinetype::Id linetypeId);
65  virtual QSet<QString> getLinetypeNames();
66  virtual RLinetype::Id getLinetypeId(const QString& linetypeName);
67 
68  virtual QSharedPointer<RObject> queryObjectDirect(RObject::Id objectId) const;
69  virtual QSharedPointer<REntity> queryEntityDirect(REntity::Id objectId) const;
70  virtual QSharedPointer<RUcs> queryUcsDirect(RUcs::Id ucsId) const;
71  virtual QSharedPointer<RLayer> queryLayerDirect(RLayer::Id layerId) const;
72  virtual QSharedPointer<RBlock> queryBlockDirect(RBlock::Id blockId) const;
73 
74  virtual RObject::Id getNewObjectId();
76 
77  virtual RLayer::Id getCurrentLayerId();
78  virtual RBlock::Id getCurrentBlockId();
79  virtual RView::Id getCurrentViewId();
80  virtual RColor getCurrentColor();
82  virtual RLinetype getCurrentLinetype();
83 
84  virtual bool deleteObject(RObject::Id objectId);
85  virtual bool setUndoStatus(RObject::Id objectId, bool status);
86 
87  virtual bool isInBackStorage(RObject::Id object);
88 
90  return backStorage;
91  }
92 
93 private:
96 };
97 
99 
100 #endif /* RMEMORYSTOARGE_H_ */