navit 0.5.3-trunk
Loading...
Searching...
No Matches
guiProxy.h
Go to the documentation of this file.
1#ifndef NAVIT_GUI_QML_GUIPROXY_H
2#define NAVIT_GUI_QML_GUIPROXY_H
3
4class NGQProxyGui : public NGQProxy {
5 Q_OBJECT;
6
7 Q_PROPERTY(QString iconPath READ iconPath CONSTANT);
8
9 Q_PROPERTY(QString commandFunction READ commandFunction CONSTANT);
10
11 Q_PROPERTY(QString localeName READ localeName CONSTANT);
12 Q_PROPERTY(QString langName READ langName CONSTANT);
13 Q_PROPERTY(QString ctryName READ ctryName CONSTANT);
14
15 Q_PROPERTY(int width READ width WRITE setWidth NOTIFY widthSignal STORED false);
16 Q_PROPERTY(int height READ height WRITE setHeight NOTIFY heightSignal STORED false);
17
18 private:
19 QStringList returnPath;
20
21 public:
22 NGQProxyGui(struct gui_priv *this_, QObject *parent) : NGQProxy(this_, parent) {
23 this->source = QString("");
24 }
25
27 if (this->object->currentPoint != NULL) {
28 delete this->object->currentPoint;
29 }
30 this->object->currentPoint = new NGQPoint(this->object, p, type, NULL);
31 this->object->guiWidget->rootContext()->setContextProperty("point", this->object->currentPoint);
32 }
34 if (this->object->currentPoint != NULL) {
35 delete this->object->currentPoint;
36 }
37 this->object->currentPoint = new NGQPoint(this->object, c, type, NULL);
38 this->object->guiWidget->rootContext()->setContextProperty("point", this->object->currentPoint);
39 }
41 if (this->object->currentPoint != NULL) {
42 delete this->object->currentPoint;
43 }
44 this->object->currentPoint = new NGQPoint(this->object, pc, type, NULL);
45 this->object->guiWidget->rootContext()->setContextProperty("point", this->object->currentPoint);
46 }
47 void processCommand(QString function) {
48 // QDeclarativeExpression
49 // commandJS(this->object->guiWidget->rootContext(),QString(),qobject_cast<QObject*>(this->object->guiWidget->rootObject()));
50 // commandJS.setSourceLocation("command.js",0);
51 // this->function=function;
52 // commandJS.eval(qobject_cast<QObject*>(this->object->guiWidget->rootObject()));
53 }
54 signals:
55 void widthSignal(int);
56 void heightSignal(int);
57 public slots:
58 void pushPage(QString page) {
59 returnPath.push_front(page);
60 }
61 QString popPage() {
62 if (!returnPath.empty()) {
63 if (returnPath.length() > 1) {
64 returnPath.pop_front();
65 }
66 return returnPath.first();
67 }
68 return QString();
69 }
70 int lengthPage() {
71 return returnPath.length();
72 }
73 void backToMap() {
74 if (this->object->graphicsWidget) {
75 this->object->graphicsWidget->setFocus(Qt::ActiveWindowFocusReason);
76 this->object->switcherWidget->setCurrentWidget(this->object->graphicsWidget);
77 this->object->graphicsWidget->show();
78 }
79 }
80 void switchToMenu(struct point *p) {
81 if (!this->object->lazy) {
82 this->returnPath.clear();
83 this->object->guiWidget->setSource(
84 QUrl::fromLocalFile(QString(this->object->source) + "/" + this->object->skin + "/main.qml"));
85 }
86 this->setNewPoint(p, MapPoint);
87 this->object->guiWidget->setFocus(Qt::ActiveWindowFocusReason);
88 this->object->switcherWidget->setCurrentWidget(this->object->guiWidget);
89 }
90 // Properties
91 QString iconPath() {
92 return QString(this->object->icon_src);
93 }
94 int width() {
95 return this->object->w;
96 }
97 void setWidth(int w) {
98 this->object->w = w;
99 this->widthSignal(w);
100 }
101 int height() {
102 return this->object->h;
103 }
104 void setHeight(int h) {
105 this->object->h = h;
106 this->heightSignal(h);
107 }
108 QString commandFunction() {
109 return this->function;
110 }
111
112 // Locale properties
113 QString localeName() {
114 return QString() + "LANG=" + getenv("LANG");
115 }
116 QString langName() {
117#ifdef HAVE_API_WIN32_BASE
118 char str[32];
119
120 GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME, str, sizeof(str));
121 return QString() + "LOCALE_SABBREVLANGNAME=" + str;
122#else
123 return QString();
124#endif
125 }
126 QString ctryName() {
127#ifdef HAVE_API_WIN32_BASE
128 char str[32];
129
130 GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVCTRYNAME, str, sizeof(str));
131 return QString() + "LOCALE_SABBREVCTRYNAME=" + str;
132#else
133 return QString();
134#endif
135 }
136
137 protected:
138 int getAttrFunc(enum attr_type type, struct attr *attr, struct attr_iter *iter) {
139 return gui_get_attr(this->object->gui, type, attr, iter);
140 }
141 int setAttrFunc(struct attr *attr) {
142 return gui_set_attr(this->object->gui, attr);
143 }
144
145 private:
146 QString source;
147 QString function;
148};
149
150void __setNewPoint(struct gui_priv *this_, struct coord *c, NGQPointTypes type) {
151 this_->guiProxy->setNewPoint(c, type);
152}
153void __setNewPoint(struct gui_priv *this_, struct pcoord *pc, NGQPointTypes type) {
154 this_->guiProxy->setNewPoint(pc, type);
155}
156
157#include "guiProxy.moc"
158
159#endif /* NAVIT_GUI_QML_GUIPROXY_H */
attr_type
Definition attr_type_def.h:11
Definition ngqpoint.h:38
Definition guiProxy.h:4
void switchToMenu(struct point *p)
Definition guiProxy.h:80
QString commandFunction()
Definition guiProxy.h:108
QString popPage()
Definition guiProxy.h:61
void setWidth(int w)
Definition guiProxy.h:97
void pushPage(QString page)
Definition guiProxy.h:58
int setAttrFunc(struct attr *attr)
Definition guiProxy.h:141
NGQProxyGui(struct gui_priv *this_, QObject *parent)
Definition guiProxy.h:22
QString localeName
Definition guiProxy.h:11
int height()
Definition guiProxy.h:101
void processCommand(QString function)
Definition guiProxy.h:47
void setHeight(int h)
Definition guiProxy.h:104
QString ctryName
Definition guiProxy.h:13
QString function
Definition guiProxy.h:147
QString langName
Definition guiProxy.h:12
QString iconPath()
Definition guiProxy.h:91
QString commandFunction
Definition guiProxy.h:9
QString ctryName()
Definition guiProxy.h:126
QString iconPath
Definition guiProxy.h:7
QString localeName()
Definition guiProxy.h:113
int height
Definition guiProxy.h:16
int width()
Definition guiProxy.h:94
void widthSignal(int)
QString source
Definition guiProxy.h:146
int lengthPage()
Definition guiProxy.h:70
QStringList returnPath
Definition guiProxy.h:19
void setNewPoint(struct pcoord *pc, NGQPointTypes type)
Definition guiProxy.h:40
void setNewPoint(struct point *p, NGQPointTypes type)
Definition guiProxy.h:26
QString langName()
Definition guiProxy.h:116
int getAttrFunc(enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition guiProxy.h:138
void backToMap()
Definition guiProxy.h:73
int width
Definition guiProxy.h:15
void setNewPoint(struct coord *c, NGQPointTypes type)
Definition guiProxy.h:33
void heightSignal(int)
Definition proxy.h:28
struct gui_priv * object
Definition proxy.h:98
char type[3]
Definition garmin_img.c:2
void __setNewPoint(struct gui_priv *this_, struct coord *c, NGQPointTypes type)
Definition guiProxy.h:150
int gui_set_attr(struct gui *this_, struct attr *attr)
Definition gui.c:74
int gui_get_attr(struct gui *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition gui.c:60
unsigned char p[5]
Definition mg.h:2
NGQPointTypes
Definition ngqpoint.h:30
@ MapPoint
Definition ngqpoint.h:31
static struct pcoord c
Definition popup.c:375
Definition config_.c:47
Definition attr.h:138
Definition coord.h:33
Definition graphics_win32.h:50
class NGQPoint * currentPoint
Definition gui_qml.cpp:80
char * icon_src
Definition gui_qml.cpp:52
class NGQProxyGui * guiProxy
Definition gui_qml.cpp:74
QDeclarativeView * guiWidget
Definition gui_qml.cpp:64
char * source
Definition gui_qml.cpp:50
struct gui * gui
Definition gui_qml.cpp:40
int lazy
Definition gui_qml.cpp:55
QWidget * graphicsWidget
Definition gui_qml.cpp:63
Definition gpx2navit_txt.h:50
Definition coord.h:51
Definition point.h:23