LibreCAD
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
metainfomanager.cpp
Go to the documentation of this file.
1 #include "metainfomanager.h"
2 
3 using namespace lc;
4 using namespace ui;
5 
7  _linePattern(nullptr),
8  _color(nullptr),
9  _lineWidth(nullptr) {
10 
11 }
12 
13 MetaInfo_CSPtr MetaInfoManager::metaInfo() {
14  MetaInfo_SPtr metaInfo = nullptr;
15 
16  metaInfo = addMetaType(metaInfo, _linePattern);
17  metaInfo = addMetaType(metaInfo, _lineWidth);
18  metaInfo = addMetaType(metaInfo, _color);
19 
20  return metaInfo;
21 }
22 
23 MetaInfo_SPtr MetaInfoManager::addMetaType(MetaInfo_SPtr metaInfo, EntityMetaType_CSPtr metaType) {
24  if(metaType != nullptr) {
25  if(metaInfo == nullptr) {
26  metaInfo = MetaInfo::create();
27  }
28 
29  metaInfo->add(metaType);
30  }
31 
32  return metaInfo;
33 }
34 
35 DxfLinePattern_CSPtr MetaInfoManager::linePattern() const {
36  return _linePattern;
37 }
38 
39 MetaColor_CSPtr MetaInfoManager::color() const {
40  return _color;
41 }
42 
43 MetaLineWidth_CSPtr MetaInfoManager::lineWidth() const {
44  return _lineWidth;
45 }
46 
47 void MetaInfoManager::setLinePattern(const DxfLinePattern_CSPtr& linePattern) {
49 }
50 
51 void MetaInfoManager::setColor(const MetaColor_CSPtr& color) {
52  _color = color;
53 }
54 
55 void MetaInfoManager::setLineWidth(const MetaLineWidth_CSPtr& lineWidth) {
57 }
MetaInfo_SPtr addMetaType(MetaInfo_SPtr metaInfo, EntityMetaType_CSPtr metaType)
Generate a new MetaInfo if needed and add the meta type if it's valid.
void setColor(const MetaColor_CSPtr &color)
void setLineWidth(const MetaLineWidth_CSPtr &lineWidth)
MetaColor_CSPtr color() const
void setLinePattern(const DxfLinePattern_CSPtr &linePattern)
DxfLinePattern_CSPtr linePattern() const
DxfLinePattern_CSPtr _linePattern
MetaLineWidth_CSPtr _lineWidth
MetaColor_CSPtr _color
MetaInfo_CSPtr metaInfo()
Generate new pointer to MetaInfo.
MetaLineWidth_CSPtr lineWidth() const