1 #include <QApplication>
5 #include "waypointitem.h"
10 QString
RouteItem::toolTip()
15 tt
.insert(qApp
->translate("RouteItem", "Name"), _name
);
17 tt
.insert(qApp
->translate("RouteItem", "Description"), _desc
);
18 tt
.insert(qApp
->translate("RouteItem", "Distance"),
19 Format::distance(_distance
.last(), _units
));
24 RouteItem::RouteItem(const Route
&route
, QGraphicsItem
*parent
)
27 const RouteData
&r
= route
.routeData();
28 Q_ASSERT(r
.count() >= 2);
32 _desc
= r
.description();
33 _distance
= route
.distanceData();
35 new WaypointItem(r
.at(0), this);
36 p
= r
.at(0).coordinates().toMercator();
37 _path
.moveTo(QPointF(p
.x(), -p
.y()));
38 for (int i
= 1; i
< r
.size(); i
++) {
39 p
= r
.at(i
).coordinates().toMercator();
40 _path
.lineTo(QPointF(p
.x(), -p
.y()));
41 new WaypointItem(r
.at(i
), this);
46 _marker
->setPos(_path
.pointAtPercent(0));
48 _pen
.setStyle(Qt::DotLine
);
50 setToolTip(toolTip());
53 void RouteItem::setScale(qreal scale
)
55 QList
<QGraphicsItem
*> childs
= childItems();
56 for (int i
= 0; i
< childs
.count(); i
++)
57 childs
.at(i
)->setScale(1.0/scale
);
59 PathItem::setScale(scale
);
62 void RouteItem::setUnits(enum Units units
)
64 PathItem::setUnits(units
);
65 setToolTip(toolTip());
68 void RouteItem::showWaypoints(bool show
)
70 QList
<QGraphicsItem
*> childs
= childItems();
71 for (int i
= 0; i
< childs
.count(); i
++)
72 if (childs
.at(i
) != _marker
)
73 childs
.at(i
)->setVisible(show
);
76 void RouteItem::showWaypointLabels(bool show
)
78 QList
<QGraphicsItem
*> childs
= childItems();
79 for (int i
= 0; i
< childs
.count(); i
++) {
80 if (childs
.at(i
) != _marker
) {
81 WaypointItem
*wi
= static_cast<WaypointItem
*>(childs
.at(i
));