LibreCAD
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
metainfomanager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cad/meta/dxflinepattern.h>
4 #include <cad/meta/metacolor.h>
5 #include <cad/meta/metalinewidth.h>
6 #include <cad/base/metainfo.h>
7 
8 namespace lc {
9  namespace ui {
11  friend class LinePatternSelect;
12  friend class LineWidthSelect;
13  friend class ColorSelect;
14 
15  public:
17 
22  MetaInfo_CSPtr metaInfo();
23 
24  DxfLinePattern_CSPtr linePattern() const;
25  MetaColor_CSPtr color() const;
26  MetaLineWidth_CSPtr lineWidth() const;
27 
28  private:
35  MetaInfo_SPtr addMetaType(MetaInfo_SPtr metaInfo, EntityMetaType_CSPtr metaType);
36 
37  void setLinePattern(const DxfLinePattern_CSPtr& linePattern);
38  void setColor(const MetaColor_CSPtr& color);
39  void setLineWidth(const MetaLineWidth_CSPtr& lineWidth);
40 
41  DxfLinePattern_CSPtr _linePattern;
42  MetaColor_CSPtr _color;
43  MetaLineWidth_CSPtr _lineWidth;
44  };
45 
46  DECLARE_SHORT_SHARED_PTR(MetaInfoManager)
47  }
48 }
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)
Dropdown select for line widths. Line widths are hardcoded in the constructor.
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.
Dropdown select for DxfLinePatterns.
MetaLineWidth_CSPtr lineWidth() const