}
}
-enum NGQPointTypes {MapPoint,Bookmark,Position,Destination};
+enum NGQPointTypes {MapPoint,Bookmark,Position,Destination,PointOfInterest};
class NGQPoint : public QObject {
Q_OBJECT;
struct pcoord* pc() { return &c; }
public slots:
+ void setNewPoint(QString coord,NGQPointTypes type=PointOfInterest) {
+ QStringList coordSplit=coord.split(" ",QString::SkipEmptyParts);
+ this->co.x=coordSplit[0].toInt();
+ this->co.y=coordSplit[1].toInt();
+ transform_to_geo(transform_get_projection(navit_get_trans(this->object->nav)), &co, &g);
+ this->c.pro = transform_get_projection(navit_get_trans(this->object->nav));
+ this->c.x = coordSplit[0].toInt();
+ this->c.y = coordSplit[1].toInt();
+ this->type=type;
+
+ this->name=this->_coordName();
+ this->coord=this->_coordString();
+ }
QString pointName() {
return this->name;
}
}
return QString("");
}
- QString getAttrList(const QString &attr_name) {
+ QString getPOI(const QString &attr_name) {
struct attr attr;
struct item* item;
struct mapset_handle *h;
}
map_selection_destroy(sel);
mapset_close(h);
- dbg(0,"%s\n",retDoc.toString().toLocal8Bit().constData());
+ dbg(2,"%s\n",retDoc.toString().toLocal8Bit().constData());
return retDoc.toString();
}
protected:
color: "Black"
opacity: 0
- function poiClick(item) {
- console.log("itemName: "+item.itemName);
- }
-
function calculateFilter() {
page.poiFilter='/points/point[type="point_begin" or ';
if (bankBtn.state=="on") {
}
Slider {
- id: distanceSlider; minValue: 1; maxValue: 250; value: gui.getAttr("radius"); text: "Distance"; onChanged: { gui.setAttr("radius",distanceSlider.value); listModel.xml=point.getAttrList("points"); listModel.reload(); }
+ id: distanceSlider; minValue: 1; maxValue: 250; value: gui.getAttr("radius"); text: "Distance"; onChanged: { gui.setAttr("radius",distanceSlider.value); listModel.xml=point.getPOI("points"); listModel.reload(); }
anchors.top: selectorsList.bottom; anchors.horizontalCenter: page.horizontalCenter;
}
XmlListModel {
id: listModel
- xml: point.getAttrList("points")
+ xml: point.getPOI("points")
query: "/points/point"
XmlRole { name: "itemName"; query: "name/string()" }
XmlRole { name: "itemType"; query: "type/string()" }
XmlRole { name: "itemDistance"; query: "distance/string()" }
XmlRole { name: "itemDirection"; query: "direction/string()" }
- XmlRole { name: "itemCoords"; query: "coords/string()" }
+ XmlRole { name: "itemValue"; query: "coords/string()" }
}
ListSelector {
- id:layoutList; text: ""; itemId: point.getAttrList("points"); onChanged: console.log("clicked"+wrapper);
+ id:layoutList; text: ""; itemId: point.getPOI("points"); onChanged: { point.setNewPoint(layoutList.value); gui.setPage("point.qml"); }
anchors.top: distanceSlider.bottom;
anchors.left: parent.left; anchors.leftMargin: 3
anchors.topMargin: gui.height/16; anchors.leftMargin: gui.width/32