3 // Originally part of QCad Community Edition by Andrew Mustun
4 // Extensively rewritten and refactored by James L. Hammons
5 // (C) 2010 Underground Software
7 // JLH = James L. Hammons <jlhamm@acm.org>
10 // --- ---------- -----------------------------------------------------------
11 // JLH 05/10/2010 Created this file. :-)
14 #include "layerdialog.h"
17 #include "rs_layerlist.h"
19 LayerDialog::LayerDialog(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
20 QDialog(parent, flags), layer(NULL), layerList(NULL), layerName(""), editLayer(false)
25 LayerDialog::~LayerDialog()
29 void LayerDialog::setLayer(RS_Layer * l)
32 layerName = layer->getName();
33 ui.leName->setText(layerName);
34 ui.wPen->setPen(layer->getPen(), false, false, tr("Default Pen"));
36 if (layer->getName() == "0")
37 ui.leName->setEnabled(false);
40 void LayerDialog::setLayerList(RS_LayerList * ll)
45 void LayerDialog::setEditLayer(bool el)
50 void LayerDialog::updateLayer()
52 layer->setName(ui.leName->text());
53 layer->setPen(ui.wPen->getPen());
55 //OK, the problem is the color widget is misreporting the color that's been set.
56 RS_Color c = ui.wPen->getPen().getColor();
57 printf("LayerDialog::updateLayer() -> selected pen is %u, %u, %u\n", c.red(), c.green(), c.blue());
58 std::cout << ui.wPen->getPen();
59 RS_Pen p = layer->getPen();
61 printf("LayerDialog::updateLayer() -> selected pen is %u, %u, %u\n", c.red(), c.green(), c.blue());
62 std::cout << ui.wPen->getPen();
66 void LayerDialog::validate()
68 if (layerList != NULL && (editLayer == FALSE || layerName != ui.leName->text()))
70 RS_Layer * l = layerList->find(ui.leName->text().toLatin1());
74 QMessageBox::information(parentWidget(), QMessageBox::tr("Layer Properties"),
75 QMessageBox::tr("Layer with a name \"%1\" already exists. Please specify "
76 "a different name.").arg(ui.leName->text()), QMessageBox::Ok);
77 ui.leName->setFocus();
78 ui.leName->selectAll();