diff options
author | Mikhail Gorbushin <m.gorbushin@corp.mail.ru> | 2019-06-12 20:54:27 +0300 |
---|---|---|
committer | mpimenov <mpimenov@users.noreply.github.com> | 2019-06-17 16:40:55 +0300 |
commit | 4025f9f9f16c216983f08b1854f918bcb539efa8 (patch) | |
tree | 3335051fc3f0eb1523931fcc5e93e6200886523f /qt/mainwindow.cpp | |
parent | 64e4c4ebe7d18474381f852452dc25f7f3487e1f (diff) |
[qt] add option - draw borders from packed_polygon.bin
Diffstat (limited to 'qt/mainwindow.cpp')
-rw-r--r-- | qt/mainwindow.cpp | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/qt/mainwindow.cpp b/qt/mainwindow.cpp index f8fe7a712b..0b65131be2 100644 --- a/qt/mainwindow.cpp +++ b/qt/mainwindow.cpp @@ -271,6 +271,14 @@ void FormatMapSize(uint64_t sizeInBytes, string & units, size_t & sizeToDownload units = "B"; } } + +bool IsMwmsBordersSelectionMode(DrawWidget::SelectionMode mode) +{ + return mode == DrawWidget::SelectionMode::MwmsBordersByPolyFiles || + mode == DrawWidget::SelectionMode::MwmsBordersWithPointsByPolyFiles || + mode == DrawWidget::SelectionMode::MwmsBordersByPackedPolygon || + mode == DrawWidget::SelectionMode::MwmsBordersWithPointsByPackedPolygon; +} } // namespace void MainWindow::CreateNavigationBar() @@ -639,11 +647,10 @@ void MainWindow::OnSwitchMwmsBordersSelectionMode() { MwmsBordersSelection dlg(this); auto const response = dlg.ShowModal(); - if (response == MwmsBordersSelection::Response::Canceled) + if (response == MwmsBordersSelection::Response::Cancelled) { if (m_pDrawWidget->SelectionModeIsSet() && - (m_pDrawWidget->GetSelectionMode() == DrawWidget::SelectionMode::MwmsBordersWithPoints || - m_pDrawWidget->GetSelectionMode() == DrawWidget::SelectionMode::MwmsBorders)) + IsMwmsBordersSelectionMode(m_pDrawWidget->GetSelectionMode())) { m_pDrawWidget->DropSelectionMode(); } @@ -652,8 +659,10 @@ void MainWindow::OnSwitchMwmsBordersSelectionMode() return; } - CHECK(response == MwmsBordersSelection::Response::JustBorders || - response == MwmsBordersSelection::Response::WithPointsAndBorders, ()); + CHECK(response == MwmsBordersSelection::Response::JustBordersByPolyFiles || + response == MwmsBordersSelection::Response::WithPointsAndBordersByPolyFiles || + response == MwmsBordersSelection::Response::JustBordersByPackedPolygon || + response == MwmsBordersSelection::Response::WithPointsAndBordersByPackedPolygon, ()); m_selectionMode->setChecked(false); m_selectionCityBoundariesMode->setChecked(false); @@ -661,10 +670,31 @@ void MainWindow::OnSwitchMwmsBordersSelectionMode() m_selectionMwmsBordersMode->setChecked(true); - if (response == MwmsBordersSelection::Response::WithPointsAndBorders) - m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersWithPoints); - else - m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBorders); + switch (response) + { + case MwmsBordersSelection::Response::JustBordersByPolyFiles: + { + m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersByPolyFiles); + break; + } + case MwmsBordersSelection::Response::WithPointsAndBordersByPolyFiles: + { + m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersWithPointsByPolyFiles); + break; + } + case MwmsBordersSelection::Response::JustBordersByPackedPolygon: + { + m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersByPackedPolygon); + break; + } + case MwmsBordersSelection::Response::WithPointsAndBordersByPackedPolygon: + { + m_pDrawWidget->SetSelectionMode(DrawWidget::SelectionMode::MwmsBordersWithPointsByPackedPolygon); + break; + } + default: + UNREACHABLE(); + } } void MainWindow::OnClearSelection() |