1 /**********************************************************************************************
2 Copyright (C) 2017 Oliver Eichler <oliver.eichler@gmx.de>
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17 **********************************************************************************************/
18
19 #include "items/CItemRefMap.h"
20 #include "overlay/COverlayRefMap.h"
21 #include "overlay/refmap/COverlayRefMapPoint.h"
22
23 #include <QtWidgets>
24
CItemRefMap(const QString & filename,QStackedWidget * stackedWidget,QListWidget * parent)25 CItemRefMap::CItemRefMap(const QString& filename, QStackedWidget* stackedWidget, QListWidget* parent)
26 : CItemFile(filename, parent)
27 {
28 overlay = new COverlayRefMap(this, stackedWidget);
29 connect(overlay, &COverlayRefMap::sigChanged, this, &CItemRefMap::sigChanged);
30 }
31
~CItemRefMap()32 CItemRefMap::~CItemRefMap()
33 {
34 overlay->deleteLater();
35 }
36
saveSettings(QSettings & cfg)37 void CItemRefMap::saveSettings(QSettings& cfg)
38 {
39 CItemFile::saveSettings(cfg);
40 overlay->saveSettings(cfg);
41 }
42
loadSettings(QSettings & cfg)43 void CItemRefMap::loadSettings(QSettings& cfg)
44 {
45 CItemFile::loadSettings(cfg);
46 overlay->loadSettings(cfg);
47 }
48
addRefPoints(QList<COverlayRefMapPoint * > & points)49 void CItemRefMap::addRefPoints(QList<COverlayRefMapPoint*>& points)
50 {
51 overlay->addRefPoints(points);
52 }
53
getMapProjection() const54 QString CItemRefMap::getMapProjection() const
55 {
56 return overlay->getMapProjection();
57 }
58
getRefPoints() const59 const QList<COverlayRefMapPoint*> CItemRefMap::getRefPoints() const
60 {
61 return overlay->getRefPoints();
62 }
63
64
toFront()65 void CItemRefMap::toFront()
66 {
67 overlay->toFront();
68 }
69
drawFx(QPainter & p,CCanvas::redraw_e needsRedraw)70 bool CItemRefMap::drawFx(QPainter& p, CCanvas::redraw_e needsRedraw)
71 {
72 CItemFile::drawFx(p, needsRedraw);
73 overlay->drawFx(p, needsRedraw);
74 return true;
75 }
76
mouseMoveEventFx(QMouseEvent * e)77 void CItemRefMap::mouseMoveEventFx(QMouseEvent* e)
78 {
79 CItemFile::mouseMoveEventFx(e);
80 if(!mapIsMoving)
81 {
82 overlay->mouseMoveEventFx(e);
83 }
84 }
85
mouseReleaseEventFx(QMouseEvent * e)86 void CItemRefMap::mouseReleaseEventFx(QMouseEvent* e)
87 {
88 if(!mapDidMove)
89 {
90 overlay->mouseReleaseEventFx(e);
91 }
92 CItemFile::mouseReleaseEventFx(e);
93 }
94
keyPressEventFx(QKeyEvent * e)95 bool CItemRefMap::keyPressEventFx(QKeyEvent* e)
96 {
97 return overlay->keyPressEventFx(e);
98 }
99
leaveEventFx(QEvent * e)100 void CItemRefMap::leaveEventFx(QEvent* e)
101 {
102 CItemFile::leaveEventFx(e);
103 overlay->abortStep();
104 }
105
getCursorFx()106 QCursor CItemRefMap::getCursorFx()
107 {
108 return overlay->getCursorFx();
109 }
110
isOk() const111 bool CItemRefMap::isOk() const
112 {
113 return overlay->isOk();
114 }
115