mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-07-20 22:04:23 +02:00
Project structure refactoring
This commit is contained in:
72
src/GUI/routeitem.cpp
Normal file
72
src/GUI/routeitem.cpp
Normal file
@ -0,0 +1,72 @@
|
||||
#include <QPainter>
|
||||
#include "data/waypoint.h"
|
||||
#include "map/map.h"
|
||||
#include "format.h"
|
||||
#include "waypointitem.h"
|
||||
#include "tooltip.h"
|
||||
#include "routeitem.h"
|
||||
|
||||
|
||||
QString RouteItem::toolTip(Units units) const
|
||||
{
|
||||
ToolTip tt;
|
||||
|
||||
if (!_name.isEmpty())
|
||||
tt.insert(tr("Name"), _name);
|
||||
if (!_desc.isEmpty())
|
||||
tt.insert(tr("Description"), _desc);
|
||||
tt.insert(tr("Distance"), Format::distance(_path.last().distance(), units));
|
||||
|
||||
return tt.toString();
|
||||
}
|
||||
|
||||
RouteItem::RouteItem(const Route &route, Map *map, QGraphicsItem *parent)
|
||||
: PathItem(route.path(), map, parent)
|
||||
{
|
||||
const QVector<Waypoint> &waypoints = route.waypoints();
|
||||
|
||||
for (int i = 0; i < waypoints.size(); i++)
|
||||
new WaypointItem(waypoints.at(i), map, this);
|
||||
|
||||
_name = route.name();
|
||||
_desc = route.description();
|
||||
|
||||
setToolTip(toolTip(Metric));
|
||||
}
|
||||
|
||||
void RouteItem::setMap(Map *map)
|
||||
{
|
||||
QList<QGraphicsItem *> childs = childItems();
|
||||
for (int i = 0; i < childs.count(); i++) {
|
||||
if (childs.at(i) != _marker) {
|
||||
WaypointItem *wi = static_cast<WaypointItem*>(childs.at(i));
|
||||
wi->setMap(map);
|
||||
}
|
||||
}
|
||||
|
||||
PathItem::setMap(map);
|
||||
}
|
||||
|
||||
void RouteItem::setUnits(enum Units units)
|
||||
{
|
||||
setToolTip(toolTip(units));
|
||||
}
|
||||
|
||||
void RouteItem::showWaypoints(bool show)
|
||||
{
|
||||
QList<QGraphicsItem *> childs = childItems();
|
||||
for (int i = 0; i < childs.count(); i++)
|
||||
if (childs.at(i) != _marker)
|
||||
childs.at(i)->setVisible(show);
|
||||
}
|
||||
|
||||
void RouteItem::showWaypointLabels(bool show)
|
||||
{
|
||||
QList<QGraphicsItem *> childs = childItems();
|
||||
for (int i = 0; i < childs.count(); i++) {
|
||||
if (childs.at(i) != _marker) {
|
||||
WaypointItem *wi = static_cast<WaypointItem*>(childs.at(i));
|
||||
wi->showLabel(show);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user