LibreCAD
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
lc::ui::MetaInfoManager Class Reference

#include <metainfomanager.h>

Public Member Functions

 MetaInfoManager ()
 
MetaInfo_CSPtr metaInfo ()
 Generate new pointer to MetaInfo. More...
 
DxfLinePattern_CSPtr linePattern () const
 
MetaColor_CSPtr color () const
 
MetaLineWidth_CSPtr lineWidth () const
 

Private Member Functions

MetaInfo_SPtr addMetaType (MetaInfo_SPtr metaInfo, EntityMetaType_CSPtr metaType)
 Generate a new MetaInfo if needed and add the meta type if it's valid. More...
 
void setLinePattern (const DxfLinePattern_CSPtr &linePattern)
 
void setColor (const MetaColor_CSPtr &color)
 
void setLineWidth (const MetaLineWidth_CSPtr &lineWidth)
 

Private Attributes

DxfLinePattern_CSPtr _linePattern
 
MetaColor_CSPtr _color
 
MetaLineWidth_CSPtr _lineWidth
 

Friends

class LinePatternSelect
 
class LineWidthSelect
 
class ColorSelect
 

Detailed Description

Definition at line 10 of file metainfomanager.h.

Constructor & Destructor Documentation

MetaInfoManager::MetaInfoManager ( )

Definition at line 6 of file metainfomanager.cpp.

6  :
7  _linePattern(nullptr),
8  _color(nullptr),
9  _lineWidth(nullptr) {
10 
11 }
DxfLinePattern_CSPtr _linePattern
MetaLineWidth_CSPtr _lineWidth
MetaColor_CSPtr _color

Member Function Documentation

MetaInfo_SPtr MetaInfoManager::addMetaType ( MetaInfo_SPtr  metaInfo,
EntityMetaType_CSPtr  metaType 
)
private

Generate a new MetaInfo if needed and add the meta type if it's valid.

Parameters
metaInfoActual MetaInfo (or nullptr)
metaTypeMetaType to add (or nullptr)
Returns
MetaInfo, needed if a new MetaInfo was generated

Definition at line 23 of file metainfomanager.cpp.

23  {
24  if(metaType != nullptr) {
25  if(metaInfo == nullptr) {
26  metaInfo = MetaInfo::create();
27  }
28 
29  metaInfo->add(metaType);
30  }
31 
32  return metaInfo;
33 }
MetaInfo_CSPtr metaInfo()
Generate new pointer to MetaInfo.
MetaColor_CSPtr MetaInfoManager::color ( ) const

Definition at line 39 of file metainfomanager.cpp.

39  {
40  return _color;
41 }
MetaColor_CSPtr _color
DxfLinePattern_CSPtr MetaInfoManager::linePattern ( ) const

Definition at line 35 of file metainfomanager.cpp.

35  {
36  return _linePattern;
37 }
DxfLinePattern_CSPtr _linePattern
MetaLineWidth_CSPtr MetaInfoManager::lineWidth ( ) const

Definition at line 43 of file metainfomanager.cpp.

43  {
44  return _lineWidth;
45 }
MetaLineWidth_CSPtr _lineWidth
MetaInfo_CSPtr MetaInfoManager::metaInfo ( )

Generate new pointer to MetaInfo.

Returns
MetaInfo_CSPtr or nullptr if no properties are available

Definition at line 13 of file metainfomanager.cpp.

13  {
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 }
MetaInfo_SPtr addMetaType(MetaInfo_SPtr metaInfo, EntityMetaType_CSPtr metaType)
Generate a new MetaInfo if needed and add the meta type if it's valid.
DxfLinePattern_CSPtr _linePattern
MetaLineWidth_CSPtr _lineWidth
MetaColor_CSPtr _color
MetaInfo_CSPtr metaInfo()
Generate new pointer to MetaInfo.
void MetaInfoManager::setColor ( const MetaColor_CSPtr &  color)
private

Definition at line 51 of file metainfomanager.cpp.

51  {
52  _color = color;
53 }
MetaColor_CSPtr color() const
MetaColor_CSPtr _color
void MetaInfoManager::setLinePattern ( const DxfLinePattern_CSPtr &  linePattern)
private

Definition at line 47 of file metainfomanager.cpp.

47  {
49 }
DxfLinePattern_CSPtr linePattern() const
DxfLinePattern_CSPtr _linePattern
void MetaInfoManager::setLineWidth ( const MetaLineWidth_CSPtr &  lineWidth)
private

Definition at line 55 of file metainfomanager.cpp.

55  {
57 }
MetaLineWidth_CSPtr _lineWidth
MetaLineWidth_CSPtr lineWidth() const

Friends And Related Function Documentation

friend class ColorSelect
friend

Definition at line 13 of file metainfomanager.h.

friend class LinePatternSelect
friend

Definition at line 11 of file metainfomanager.h.

friend class LineWidthSelect
friend

Definition at line 12 of file metainfomanager.h.

Member Data Documentation

MetaColor_CSPtr lc::ui::MetaInfoManager::_color
private

Definition at line 42 of file metainfomanager.h.

DxfLinePattern_CSPtr lc::ui::MetaInfoManager::_linePattern
private

Definition at line 41 of file metainfomanager.h.

MetaLineWidth_CSPtr lc::ui::MetaInfoManager::_lineWidth
private

Definition at line 43 of file metainfomanager.h.


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