LibreCAD
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
linewidthselect.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <QComboBox>
4 #include <QString>
5 
6 #include <cad/meta/metalinewidth.h>
9 
10 #define BY_BLOCK "ByBlock"
11 #define BY_LAYER "ByLayer"
12 
13 namespace lc {
14  namespace ui {
19  class LineWidthSelect : public QComboBox {
20  Q_OBJECT
21 
22  public:
29  LineWidthSelect(lc::ui::MetaInfoManager_SPtr metaInfoManager,
30  QWidget* parent = 0,
31  bool showByLayer = false, bool showByBlock = false);
32 
37  void setMetaInfoManager(lc::ui::MetaInfoManager_SPtr metaInfoManager);
38 
43  lc::MetaLineWidth_CSPtr lineWidth();
44 
50  void setWidth(lc::MetaLineWidth_CSPtr lineWidth);
51 
52  public slots:
58  void onLayerChanged(lc::Layer_CSPtr layer);
59 
60  private slots:
61  void onActivated(const QString& text);
62 
63  private:
64  void createEntries();
65  void updateMetaInfoManager();
66 
67  lc::ui::MetaInfoManager_SPtr _metaInfoManager;
68 
69  QSize qIconSize;
70 
71  std::map<QString, double> values;
72  };
73  }
74 }
lc::ui::MetaInfoManager_SPtr _metaInfoManager
lc::MetaLineWidth_CSPtr lineWidth()
Return selected line width.
Dropdown select for line widths. Line widths are hardcoded in the constructor.
void onActivated(const QString &text)
void setWidth(lc::MetaLineWidth_CSPtr lineWidth)
Select a new width.
void onLayerChanged(lc::Layer_CSPtr layer)
Event when a new layer is selected.
std::map< QString, double > values
LineWidthSelect(lc::ui::MetaInfoManager_SPtr metaInfoManager, QWidget *parent=0, bool showByLayer=false, bool showByBlock=false)
Create widget.
void setMetaInfoManager(lc::ui::MetaInfoManager_SPtr metaInfoManager)
Set the MetaInfo manager.