1 #include <cad/meta/layer.h>
25 values[
"0.13mm (ISO)"] = 0.13;
27 values[
"0.18mm (ISO)"] = 0.18;
29 values[
"0.25mm (ISO)"] = 0.25;
31 values[
"0.35mm (ISO)"] = 0.35;
33 values[
"0.50mm (ISO)"] = 0.50;
36 values[
"0.70mm (ISO)"] = 0.70;
39 values[
"1.00mm (ISO)"] = 1.00;
42 values[
"1.40mm (ISO)"] = 1.40;
44 values[
"2.00mm (ISO)"] = 2.00;
51 connect(
this, SIGNAL(activated(
const QString&)),
this, SLOT(
onActivated(
const QString&)));
61 addItem(QIcon(pixmap), v.first);
74 setItemIcon(index, QIcon(pixmap));
80 if(lineWidth ==
nullptr) {
86 auto byValue = std::dynamic_pointer_cast<
const lc::MetaLineWidthByValue>(
lineWidth);
87 if(byValue !=
nullptr) {
89 if (v.second == byValue->width()) {
90 setCurrentText(v.first);
99 auto byBlock = std::dynamic_pointer_cast<
const lc::MetaLineWidthByBlock>(
lineWidth);
100 if(byBlock !=
nullptr) {
110 if(metaInfoManager !=
nullptr && metaInfoManager->lineWidth() !=
nullptr) {
111 setWidth(metaInfoManager->lineWidth());
126 _metaInfoManager->setLineWidth(std::make_shared<const lc::MetaLineWidthByBlock>());
133 catch (std::out_of_range& e) {
144 return std::make_shared<const lc::MetaLineWidthByBlock>();
148 return std::make_shared<lc::MetaLineWidthByValue>(
values.at(currentText()));
150 catch (std::out_of_range& e) {
void updateMetaInfoManager()
lc::ui::MetaInfoManager_SPtr _metaInfoManager
lc::MetaLineWidth_CSPtr lineWidth()
Return selected line width.
void onActivated(const QString &text)
void setWidth(lc::MetaLineWidth_CSPtr lineWidth)
Select a new width.
Painting line patterns on a QPaintDevice.
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.
void drawLinePattern()
Paint line.