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. :-)
15 #include "dlgrotate.h"
17 #include "rs_modification.h"
20 DlgRotate::DlgRotate(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
21 QDialog(parent, flags)
25 settings.beginGroup("Modify");
26 copies = settings.value("RotateCopies", "10").toString();
27 numberMode = settings.value("RotateMode", 0).toInt();
28 angle = settings.value("RotateAngle", "90.0").toString();
29 useCurrentLayer = settings.value("RotateUseCurrentLayer", false).toBool();
30 useCurrentAttributes = settings.value("RotateUseCurrentAttributes", false).toBool();
36 ui.rbMove->setChecked(true);
40 ui.rbCopy->setChecked(true);
44 ui.rbMultiCopy->setChecked(true);
51 ui.leNumber->setText(copies);
52 ui.leAngle->setText(angle);
53 ui.cbCurrentAttributes->setChecked(useCurrentAttributes);
54 ui.cbCurrentLayer->setChecked(useCurrentLayer);
57 DlgRotate::~DlgRotate()
59 settings.beginGroup("Modify");
60 settings.setValue("RotateCopies", ui.leNumber->text());
62 if (ui.rbMove->isChecked())
64 else if (ui.rbCopy->isChecked())
69 settings.setValue("RotateMode", numberMode);
70 settings.setValue("RotateAngle", ui.leAngle->text());
71 settings.setValue("RotateUseCurrentLayer", ui.cbCurrentLayer->isChecked());
72 settings.setValue("RotateUseCurrentAttributes", ui.cbCurrentAttributes->isChecked());
76 void DlgRotate::setData(RS_RotateData * d)
81 void DlgRotate::updateData()
83 if (ui.rbMove->isChecked())
85 else if (ui.rbCopy->isChecked())
88 data->number = ui.leNumber->text().toInt();
90 data->angle = RS_Math::deg2rad(RS_Math::eval(ui.leAngle->text()));
91 data->useCurrentAttributes = ui.cbCurrentAttributes->isChecked();
92 data->useCurrentLayer = ui.cbCurrentLayer->isChecked();