MCPcopy Create free account
hub / github.com/OpenOrienteering/mapper / StretchMapDialog

Method StretchMapDialog

src/gui/map/stretch_map_dialog.cpp:43–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41namespace OpenOrienteering {
42
43StretchMapDialog::StretchMapDialog(const Map& map, double stretch_factor, QWidget* parent, Qt::WindowFlags f)
44: QDialog(parent, f)
45, stretch_factor(stretch_factor)
46{
47 setWindowTitle(tr("Change scale factor"));
48
49 auto* layout = new QFormLayout();
50
51 layout->addRow(Util::Headline::create(tr("Scaling parameters")));
52
53 layout->addRow(new QLabel(tr("Scaling center:")));
54
55 //: Scaling center point
56 center_origin_radio = new QRadioButton(tr("Map coordinate system origin"));
57 if (map.getGeoreferencing().getState() == Georeferencing::Local)
58 center_origin_radio->setChecked(true);
59 layout->addRow(center_origin_radio);
60
61 //: Scaling center point
62 center_georef_radio = new QRadioButton(tr("Georeferencing reference point"));
63 if (map.getGeoreferencing().getState() != Georeferencing::Local)
64 center_georef_radio->setChecked(true);
65 else
66 center_georef_radio->setEnabled(false);
67 layout->addRow(center_georef_radio);
68
69 //: Scaling center point
70 center_other_radio = new QRadioButton(tr("Other point,"));
71 layout->addRow(center_other_radio);
72
73 other_x_edit = Util::SpinBox::create<MapCoordF>();
74 //: x coordinate
75 layout->addRow(tr("X:"), other_x_edit);
76
77 other_y_edit = Util::SpinBox::create<MapCoordF>();
78 //: y coordinate
79 layout->addRow(tr("Y:"), other_y_edit);
80
81 layout->addItem(Util::SpacerItem::create(this));
82 layout->addRow(Util::Headline::create(tr("Options")));
83
84 adjust_georeferencing_check = new QCheckBox(tr("Adjust georeferencing reference point"));
85 if (map.getGeoreferencing().getState() == Georeferencing::Geospatial)
86 adjust_georeferencing_check->setChecked(true);
87 else
88 adjust_georeferencing_check->setEnabled(false);
89 layout->addRow(adjust_georeferencing_check);
90
91 adjust_templates_check = new QCheckBox(tr("Scale non-georeferenced templates"));
92 adjust_templates_check->setChecked(true);
93 layout->addRow(adjust_templates_check);
94
95
96 QDialogButtonBox* button_box = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal);
97 ok_button = button_box->button(QDialogButtonBox::Ok);
98
99 auto* box_layout = new QVBoxLayout();
100 box_layout->addLayout(layout);

Callers

nothing calls this directly

Calls 5

getStateMethod · 0.80
buttonMethod · 0.80
createFunction · 0.50
addRowMethod · 0.45
setEnabledMethod · 0.45

Tested by

no test coverage detected