3 // Part of the Architektonas Project
4 // Originally part of QCad Community Edition by Andrew Mustun
5 // Extensively rewritten and refactored by James L. Hammons
6 // (C) 2010 Underground Software
8 // JLH = James L. Hammons <jlhamm@acm.org>
11 // --- ---------- -----------------------------------------------------------
12 // JLH 06/12/2010 Created this file. :-)
17 #include "rs_modification.h"
20 DlgScale::DlgScale(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
21 QDialog(parent, flags)
25 settings.beginGroup("Modify");
26 copies = settings.value("ScaleCopies", "10").toString();
27 numberMode = settings.value("ScaleMode", 0).toInt();
28 factor = settings.value("ScaleFactor", "0.5").toString();
29 useCurrentLayer = settings.value("ScaleUseCurrentLayer", false).toBool();
30 useCurrentAttributes = settings.value("ScaleUseCurrentAttributes", false).toBool();
36 ui.rbMove->setChecked(true);
40 ui.rbCopy->setChecked(true);
44 ui.rbMultiCopy->setChecked(true);
51 ui.leNumber->setText(copies);
52 ui.leFactor->setText(factor);
53 ui.cbCurrentAttributes->setChecked(useCurrentAttributes);
54 ui.cbCurrentLayer->setChecked(useCurrentLayer);
59 settings.beginGroup("Modify");
60 settings.setValue("ScaleCopies", ui.leNumber->text());
61 settings.setValue("ScaleFactor", ui.leFactor->text());
63 if (ui.rbMove->isChecked())
65 else if (ui.rbCopy->isChecked())
70 settings.setValue("ScaleMode", numberMode);
71 settings.setValue("ScaleUseCurrentLayer", ui.cbCurrentLayer->isChecked());
72 settings.setValue("ScaleUseCurrentAttributes", ui.cbCurrentAttributes->isChecked());
76 void DlgScale::setData(RS_ScaleData * d)
81 void DlgScale::updateData()
83 if (ui.rbMove->isChecked())
85 else if (ui.rbCopy->isChecked())
88 data->number = ui.leNumber->text().toInt();
90 data->factor = RS_Math::eval(ui.leFactor->text());
91 data->useCurrentAttributes = ui.cbCurrentAttributes->isChecked();
92 data->useCurrentLayer = ui.cbCurrentLayer->isChecked();