1 #include <QtWidgets/QMessageBox>
3 #include "ui_addlayerdialog.h"
20 auto layout =
dynamic_cast<QFormLayout*
>(this->layout());
22 layout->setWidget(1, QFormLayout::FieldRole,
colorSelect);
27 if(oldLayer !=
nullptr) {
28 ui->name->setText(oldLayer->name().c_str());
29 if(oldLayer->linePattern() !=
nullptr) {
35 if(oldLayer->linePattern() !=
nullptr) {
36 int linePatternIndex =
linePatternSelect->findText(oldLayer->linePattern()->name().c_str());
38 if (linePatternIndex != -1) {
50 if(
ui->name->text().isEmpty()) {
51 QToolTip::showText(
ui->name->mapToGlobal(QPoint()), tr(
"Name cannot be empty."));
56 lc::Layer_CSPtr layer;
59 if(lineWidth ==
nullptr) {
63 if(linePattern ==
nullptr) {
64 layer = std::make_shared<const lc::Layer>(
65 ui->name->text().toStdString(),
71 layer = std::make_shared<const lc::Layer>(
72 ui->name->text().toStdString(),
lc::ui::ColorSelect * colorSelect
void editLayer(lc::Layer_CSPtr oldLayer, lc::Layer_CSPtr newLayer)
lc::Color color()
Returns selected color.
void accept()
Create layer This function is called when "Ok" button is pressed. It creates the layer according to t...
lc::MetaLineWidth_CSPtr lineWidth()
Return selected line width.
Dropdown select for line widths. Line widths are hardcoded in the constructor.
lc::Layer_CSPtr _oldLayer
void setWidth(lc::MetaLineWidth_CSPtr lineWidth)
Select a new width.
void setColor(lc::Color color)
Set selected color.
AddLayerDialog(lc::Document_SPtr document, QWidget *parent=0)
Create empty dialog.
lc::DxfLinePattern_CSPtr linePattern()
Return selected line pattern.
Dropdown select for DxfLinePatterns.
lc::ui::LinePatternSelect * linePatternSelect
Create a dialog with all required fields to create a new layer.
lc::ui::LineWidthSelect * lineWidthSelect
void newLayer(lc::Layer_CSPtr)