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

Method ScaleMapDialog

src/gui/map/map_dialog_scale.cpp:41–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39namespace OpenOrienteering {
40
41ScaleMapDialog::ScaleMapDialog(QWidget* parent, Map* map) : QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint), map(map)
42{
43 setWindowTitle(tr("Change map scale"));
44
45 QFormLayout* layout = new QFormLayout();
46
47 layout->addRow(Util::Headline::create(tr("Scaling parameters")));
48
49 scale_edit = Util::SpinBox::create(1, 9999999, {}, 500);
50 scale_edit->setPrefix(QStringLiteral("1 : "));
51 scale_edit->setButtonSymbols(QAbstractSpinBox::NoButtons);
52 scale_edit->setValue(static_cast<int>(map->getScaleDenominator()));
53 layout->addRow(tr("New scale:"), scale_edit);
54
55 layout->addRow(new QLabel(tr("Scaling center:")));
56
57 //: Scaling center point
58 center_origin_radio = new QRadioButton(tr("Map coordinate system origin"));
59 center_origin_radio->setChecked(true);
60 layout->addRow(center_origin_radio);
61
62 //: Scaling center point
63 center_georef_radio = new QRadioButton(tr("Georeferencing reference point"));
64 if (map->getGeoreferencing().getState() == Georeferencing::Local)
65 center_georef_radio->setEnabled(false);
66 layout->addRow(center_georef_radio);
67
68 //: Scaling center point
69 center_other_radio = new QRadioButton(tr("Other point,"));
70 layout->addRow(center_other_radio);
71
72 other_x_edit = Util::SpinBox::create<MapCoordF>();
73 //: x coordinate
74 layout->addRow(tr("X:"), other_x_edit);
75
76 other_y_edit = Util::SpinBox::create<MapCoordF>();
77 //: y coordinate
78 layout->addRow(tr("Y:"), other_y_edit);
79
80 layout->addItem(Util::SpacerItem::create(this));
81 layout->addRow(Util::Headline::create(tr("Options")));
82
83 adjust_symbols_check = new QCheckBox(tr("Scale symbol sizes"));
84 if (map->getNumSymbols() > 0)
85 adjust_symbols_check->setChecked(true);
86 else
87 adjust_symbols_check->setEnabled(false);
88 layout->addRow(adjust_symbols_check);
89
90 adjust_objects_check = new QCheckBox(tr("Scale map object positions"));
91 if (map->getNumObjects() > 0)
92 adjust_objects_check->setChecked(true);
93 else
94 adjust_objects_check->setEnabled(false);
95 layout->addRow(adjust_objects_check);
96
97 adjust_georeferencing_check = new QCheckBox(tr("Adjust georeferencing reference point"));
98 if (map->getGeoreferencing().getState() == Georeferencing::Geospatial)

Callers

nothing calls this directly

Calls 14

setValueMethod · 0.80
getStateMethod · 0.80
getNumSymbolsMethod · 0.80
getNumTemplatesMethod · 0.80
getNumClosedTemplatesMethod · 0.80
getClosedTemplateMethod · 0.80
buttonMethod · 0.80
createFunction · 0.50
addRowMethod · 0.45
getScaleDenominatorMethod · 0.45
setEnabledMethod · 0.45

Tested by

no test coverage detected