navit 0.5.3-trunk
Loading...
Searching...
No Matches
routeProxy.h
Go to the documentation of this file.
1#ifndef NAVIT_GUI_QML_ROUTEPROXY_H
2#define NAVIT_GUI_QML_ROUTEPROXY_H
3
4class NGQProxyRoute : public NGQProxy {
5 Q_OBJECT;
6
7 public:
8 NGQProxyRoute(struct gui_priv *this_, QObject *parent) : NGQProxy(this_, parent) {};
9
10 public slots:
12 int counter = 0;
13 QList<struct attr> destinations = this->_routeDestinations();
14 struct pcoord *coords = (struct pcoord *)malloc(
15 sizeof(struct pcoord) * (destinations.size() + 1)); // Additional destination included
16
17 for (QList<struct attr>::const_iterator iter = destinations.begin(); iter != destinations.end(); iter++) {
18 coords[counter] = *(iter->u.pcoord);
19 counter++;
20 }
21
22 // Add new one
23 coords[counter] = *(this->object->currentPoint->pc());
24
25 // Propagate to route engine
26 route_set_destinations(navit_get_route(this->object->nav), coords, counter + 1, 1);
27 }
28 QString getDestinations() {
29
30 QList<struct attr> destinations = this->_routeDestinations();
31 for (QList<struct attr>::const_iterator iter = destinations.begin(); iter != destinations.end(); iter++) {
32 NGQPoint helperPoint(this->object, iter->u.pcoord, MapPoint);
33 dbg(lvl_debug, "Added destination %s", helperPoint.coordString().toLocal8Bit().constData());
34 }
35
36 // dbg(lvl_debug,QString::number(_itemId).toStdString().c_str());
37
38 // return retDoc.toString();
39 return QString();
40 }
41
42 protected:
43 int getAttrFunc(enum attr_type type, struct attr *attr, struct attr_iter *iter) {
44 return route_get_attr(navit_get_route(this->object->nav), type, attr, iter);
45 }
46 int setAttrFunc(struct attr *attr) {
47 return route_set_attr(navit_get_route(this->object->nav), attr);
48 }
50 return route_attr_iter_new();
51 };
52 void dropIterFunc(struct attr_iter *iter) {
54 };
55
56 QList<struct attr> _routeDestinations() {
57 QList<struct attr> ret;
58 struct attr attr;
59 struct attr_iter *iter;
60
61 // Fill da list
62 iter = getIterFunc();
63 if (iter == NULL) {
64 return ret;
65 }
66
67 while (getAttrFunc(attr_destination, &attr, iter)) {
68 struct attr c_attr = attr;
69 ret.push_front(c_attr); // List is reversed in route engine
70 }
71
72 dropIterFunc(iter);
73
74 return ret;
75 }
76};
77
78#include "routeProxy.moc"
79
80#endif /* NAVIT_GUI_QML_ROUTEPROXY_H */
attr_type
Definition attr_type_def.h:11
Definition ngqpoint.h:38
QString coordString
Definition ngqpoint.h:41
Definition routeProxy.h:4
void dropIterFunc(struct attr_iter *iter)
Definition routeProxy.h:52
int setAttrFunc(struct attr *attr)
Definition routeProxy.h:46
QList< struct attr > _routeDestinations()
Definition routeProxy.h:56
struct attr_iter * getIterFunc()
Definition routeProxy.h:49
NGQProxyRoute(struct gui_priv *this_, QObject *parent)
Definition routeProxy.h:8
int getAttrFunc(enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition routeProxy.h:43
void addDestination()
Definition routeProxy.h:11
QString getDestinations()
Definition routeProxy.h:28
Definition proxy.h:28
struct gui_priv * object
Definition proxy.h:98
@ lvl_debug
Definition debug.h:52
#define dbg(level,...)
Definition debug.h:59
char type[3]
Definition garmin_img.c:2
struct route * navit_get_route(struct navit *this_)
Definition navit.c:3500
@ MapPoint
Definition ngqpoint.h:31
void route_attr_iter_destroy(struct attr_iter *iter)
Definition route.c:4314
struct attr_iter * route_attr_iter_new(void)
Definition route.c:4310
void route_set_destinations(struct route *this, struct pcoord *dst, int count, int async)
Sets the destination of a route.
Definition route.c:1108
int route_set_attr(struct route *this_, struct attr *attr)
Definition route.c:4170
int route_get_attr(struct route *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition route.c:4234
Definition config_.c:47
Definition attr.h:138
Definition graphics_win32.h:50
struct navit * nav
Definition graphics_win32.h:51
Definition gpx2navit_txt.h:50
Definition coord.h:51