-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathlayout.py
352 lines (342 loc) · 20.2 KB
/
layout.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'layout.ui'
#
# Created by: PyQt4 UI code generator 4.11.4
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtWidgets.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtWidgets.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtWidgets.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(1144, 656)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.line_5 = QtWidgets.QFrame(self.centralwidget)
self.line_5.setFrameShape(QtWidgets.QFrame.HLine)
self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_5.setObjectName(_fromUtf8("line_5"))
self.verticalLayout.addWidget(self.line_5)
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
self.webView = QtWebKitWidgets.QWebView(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.webView.sizePolicy().hasHeightForWidth())
self.webView.setSizePolicy(sizePolicy)
self.webView.setLayoutDirection(QtCore.Qt.LeftToRight)
self.webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
self.webView.setObjectName(_fromUtf8("webView"))
self.horizontalLayout_2.addWidget(self.webView)
self.line_3 = QtWidgets.QFrame(self.centralwidget)
self.line_3.setFrameShape(QtWidgets.QFrame.VLine)
self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_3.setObjectName(_fromUtf8("line_3"))
self.horizontalLayout_2.addWidget(self.line_3)
self.verticalLayout_5 = QtWidgets.QVBoxLayout()
self.verticalLayout_5.setContentsMargins(0, -1, 0, -1)
self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
self.horizontalLayout_5.setContentsMargins(8, -1, 9, -1)
self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setContentsMargins(5, -1, 5, -1)
self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
self.label_8 = QtWidgets.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.label_8.setFont(font)
self.label_8.setObjectName(_fromUtf8("label_8"))
self.verticalLayout_4.addWidget(self.label_8)
self.line_7 = QtWidgets.QFrame(self.centralwidget)
self.line_7.setFrameShape(QtWidgets.QFrame.HLine)
self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_7.setObjectName(_fromUtf8("line_7"))
self.verticalLayout_4.addWidget(self.line_7)
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setObjectName(_fromUtf8("label"))
self.verticalLayout_4.addWidget(self.label)
self.spinHexRobotNumber = QtWidgets.QSpinBox(self.centralwidget)
self.spinHexRobotNumber.setMinimum(0)
self.spinHexRobotNumber.setMaximum(10)
self.spinHexRobotNumber.setProperty("value", 0)
self.spinHexRobotNumber.setObjectName(_fromUtf8("spinHexRobotNumber"))
self.verticalLayout_4.addWidget(self.spinHexRobotNumber)
self.label_10 = QtWidgets.QLabel(self.centralwidget)
self.label_10.setObjectName(_fromUtf8("label_10"))
self.verticalLayout_4.addWidget(self.label_10)
self.spinHexAngle = QtWidgets.QSpinBox(self.centralwidget)
self.spinHexAngle.setMinimum(0)
self.spinHexAngle.setMaximum(360)
self.spinHexAngle.setProperty("value", 0)
self.spinHexAngle.setObjectName(_fromUtf8("spinHexAngle"))
self.verticalLayout_4.addWidget(self.spinHexAngle)
self.label_11 = QtWidgets.QLabel(self.centralwidget)
self.label_11.setObjectName(_fromUtf8("label_11"))
self.verticalLayout_4.addWidget(self.label_11)
self.spinHexAltitude = QtWidgets.QSpinBox(self.centralwidget)
self.spinHexAltitude.setMinimum(7)
self.spinHexAltitude.setProperty("value", 15)
self.spinHexAltitude.setObjectName(_fromUtf8("spinHexAltitude"))
self.verticalLayout_4.addWidget(self.spinHexAltitude)
self.label_14 = QtWidgets.QLabel(self.centralwidget)
self.label_14.setObjectName(_fromUtf8("label_14"))
self.verticalLayout_4.addWidget(self.label_14)
self.spinHexAltMult = QtWidgets.QSpinBox(self.centralwidget)
self.spinHexAltMult.setSingleStep(1)
self.spinHexAltMult.setProperty("value", 2)
self.spinHexAltMult.setObjectName(_fromUtf8("spinHexAltMult"))
self.verticalLayout_4.addWidget(self.spinHexAltMult)
self.label_12 = QtWidgets.QLabel(self.centralwidget)
self.label_12.setObjectName(_fromUtf8("label_12"))
self.verticalLayout_4.addWidget(self.label_12)
self.spinHexRadius = QtWidgets.QSpinBox(self.centralwidget)
self.spinHexRadius.setMinimum(1)
self.spinHexRadius.setMaximum(100)
self.spinHexRadius.setProperty("value", 8)
self.spinHexRadius.setObjectName(_fromUtf8("spinHexRadius"))
self.verticalLayout_4.addWidget(self.spinHexRadius)
self.label_13 = QtWidgets.QLabel(self.centralwidget)
self.label_13.setObjectName(_fromUtf8("label_13"))
self.verticalLayout_4.addWidget(self.label_13)
self.spinHexWidthSize = QtWidgets.QDoubleSpinBox(self.centralwidget)
self.spinHexWidthSize.setMinimum(1.0)
self.spinHexWidthSize.setSingleStep(0.5)
self.spinHexWidthSize.setObjectName(_fromUtf8("spinHexWidthSize"))
self.verticalLayout_4.addWidget(self.spinHexWidthSize)
self.btnHexToggleMaps = QtWidgets.QPushButton(self.centralwidget)
self.btnHexToggleMaps.setObjectName(_fromUtf8("btnHexToggleMaps"))
self.verticalLayout_4.addWidget(self.btnHexToggleMaps)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_4.addItem(spacerItem)
self.horizontalLayout_5.addLayout(self.verticalLayout_4)
self.line_8 = QtWidgets.QFrame(self.centralwidget)
self.line_8.setFrameShape(QtWidgets.QFrame.VLine)
self.line_8.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_8.setObjectName(_fromUtf8("line_8"))
self.horizontalLayout_5.addWidget(self.line_8)
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
self.verticalLayout_3.setContentsMargins(5, -1, 5, -1)
self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
self.label_9 = QtWidgets.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.label_9.setFont(font)
self.label_9.setObjectName(_fromUtf8("label_9"))
self.verticalLayout_3.addWidget(self.label_9)
self.line_6 = QtWidgets.QFrame(self.centralwidget)
self.line_6.setFrameShape(QtWidgets.QFrame.HLine)
self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_6.setObjectName(_fromUtf8("line_6"))
self.verticalLayout_3.addWidget(self.line_6)
self.label_15 = QtWidgets.QLabel(self.centralwidget)
self.label_15.setObjectName(_fromUtf8("label_15"))
self.verticalLayout_3.addWidget(self.label_15)
self.spinDroneAngle = QtWidgets.QSpinBox(self.centralwidget)
self.spinDroneAngle.setMinimum(-360)
self.spinDroneAngle.setMaximum(360)
self.spinDroneAngle.setProperty("value", -23)
self.spinDroneAngle.setObjectName(_fromUtf8("spinDroneAngle"))
self.verticalLayout_3.addWidget(self.spinDroneAngle)
self.label_16 = QtWidgets.QLabel(self.centralwidget)
self.label_16.setObjectName(_fromUtf8("label_16"))
self.verticalLayout_3.addWidget(self.label_16)
self.doubleSpinPointSpacement = QtWidgets.QDoubleSpinBox(self.centralwidget)
self.doubleSpinPointSpacement.setMaximum(20.0)
self.doubleSpinPointSpacement.setSingleStep(0.5)
self.doubleSpinPointSpacement.setProperty("value", 1.0)
self.doubleSpinPointSpacement.setObjectName(_fromUtf8("doubleSpinPointSpacement"))
self.verticalLayout_3.addWidget(self.doubleSpinPointSpacement)
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setObjectName(_fromUtf8("label_3"))
self.verticalLayout_3.addWidget(self.label_3)
self.spinAngle = QtWidgets.QSpinBox(self.centralwidget)
self.spinAngle.setMinimum(0)
self.spinAngle.setMaximum(360)
self.spinAngle.setSingleStep(2)
self.spinAngle.setProperty("value", 90)
self.spinAngle.setObjectName(_fromUtf8("spinAngle"))
self.verticalLayout_3.addWidget(self.spinAngle)
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setObjectName(_fromUtf8("label_2"))
self.verticalLayout_3.addWidget(self.label_2)
self.doubleSpinWidthSize = QtWidgets.QDoubleSpinBox(self.centralwidget)
self.doubleSpinWidthSize.setMinimum(1.0)
self.doubleSpinWidthSize.setMaximum(80.0)
self.doubleSpinWidthSize.setSingleStep(0.5)
self.doubleSpinWidthSize.setProperty("value", 2.0)
self.doubleSpinWidthSize.setObjectName(_fromUtf8("doubleSpinWidthSize"))
self.verticalLayout_3.addWidget(self.doubleSpinWidthSize)
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setObjectName(_fromUtf8("label_4"))
self.verticalLayout_3.addWidget(self.label_4)
self.doubleSpinAltitude = QtWidgets.QDoubleSpinBox(self.centralwidget)
self.doubleSpinAltitude.setPrefix(_fromUtf8(""))
self.doubleSpinAltitude.setMinimum(0.5)
self.doubleSpinAltitude.setMaximum(120.0)
self.doubleSpinAltitude.setSingleStep(0.5)
self.doubleSpinAltitude.setProperty("value", 1.5)
self.doubleSpinAltitude.setObjectName(_fromUtf8("doubleSpinAltitude"))
self.verticalLayout_3.addWidget(self.doubleSpinAltitude)
self.label_5 = QtWidgets.QLabel(self.centralwidget)
self.label_5.setObjectName(_fromUtf8("label_5"))
self.verticalLayout_3.addWidget(self.label_5)
self.spinSeconds = QtWidgets.QSpinBox(self.centralwidget)
self.spinSeconds.setObjectName(_fromUtf8("spinSeconds"))
self.verticalLayout_3.addWidget(self.spinSeconds)
self.label_6 = QtWidgets.QLabel(self.centralwidget)
self.label_6.setObjectName(_fromUtf8("label_6"))
self.verticalLayout_3.addWidget(self.label_6)
self.comboWPSequence = QtWidgets.QComboBox(self.centralwidget)
self.comboWPSequence.setObjectName(_fromUtf8("comboWPSequence"))
self.comboWPSequence.addItem(_fromUtf8(""))
self.comboWPSequence.addItem(_fromUtf8(""))
self.verticalLayout_3.addWidget(self.comboWPSequence)
self.label_7 = QtWidgets.QLabel(self.centralwidget)
self.label_7.setObjectName(_fromUtf8("label_7"))
self.verticalLayout_3.addWidget(self.label_7)
self.comboWPALT = QtWidgets.QComboBox(self.centralwidget)
self.comboWPALT.setObjectName(_fromUtf8("comboWPALT"))
self.comboWPALT.addItem(_fromUtf8(""))
self.comboWPALT.addItem(_fromUtf8(""))
self.verticalLayout_3.addWidget(self.comboWPALT)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_3.addItem(spacerItem1)
self.horizontalLayout_5.addLayout(self.verticalLayout_3)
self.verticalLayout_5.addLayout(self.horizontalLayout_5)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setContentsMargins(10, -1, 10, -1)
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
self.btnClearPaths = QtWidgets.QPushButton(self.centralwidget)
self.btnClearPaths.setObjectName(_fromUtf8("btnClearPaths"))
self.horizontalLayout_3.addWidget(self.btnClearPaths)
self.btnGenRoute = QtWidgets.QPushButton(self.centralwidget)
self.btnGenRoute.setObjectName(_fromUtf8("btnGenRoute"))
self.horizontalLayout_3.addWidget(self.btnGenRoute)
self.verticalLayout_5.addLayout(self.horizontalLayout_3)
self.horizontalLayout_2.addLayout(self.verticalLayout_5)
self.line_4 = QtWidgets.QFrame(self.centralwidget)
self.line_4.setFrameShape(QtWidgets.QFrame.VLine)
self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_4.setObjectName(_fromUtf8("line_4"))
self.horizontalLayout_2.addWidget(self.line_4)
self.verticalLayout_2.addLayout(self.horizontalLayout_2)
self.line = QtWidgets.QFrame(self.centralwidget)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName(_fromUtf8("line"))
self.verticalLayout_2.addWidget(self.line)
self.labelStatus = QtWidgets.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Helvetica"))
font.setPointSize(10)
font.setBold(True)
font.setWeight(75)
self.labelStatus.setFont(font)
self.labelStatus.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.labelStatus.setObjectName(_fromUtf8("labelStatus"))
self.verticalLayout_2.addWidget(self.labelStatus)
self.verticalLayout.addLayout(self.verticalLayout_2)
MainWindow.setCentralWidget(self.centralwidget)
self.menuBar = QtWidgets.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 1144, 23))
self.menuBar.setNativeMenuBar(False)
self.menuBar.setObjectName(_fromUtf8("menuBar"))
self.menuFile = QtWidgets.QMenu(self.menuBar)
self.menuFile.setObjectName(_fromUtf8("menuFile"))
self.menuMap = QtWidgets.QMenu(self.menuBar)
self.menuMap.setObjectName(_fromUtf8("menuMap"))
MainWindow.setMenuBar(self.menuBar)
self.actionSave_polygon_shape = QtWidgets.QAction(MainWindow)
self.actionSave_polygon_shape.setObjectName(_fromUtf8("actionSave_polygon_shape"))
self.actionLoad_polygon_shape = QtWidgets.QAction(MainWindow)
self.actionLoad_polygon_shape.setObjectName(_fromUtf8("actionLoad_polygon_shape"))
self.actionReload_Map = QtWidgets.QAction(MainWindow)
self.actionReload_Map.setObjectName(_fromUtf8("actionReload_Map"))
self.actionExport_Route = QtWidgets.QAction(MainWindow)
self.actionExport_Route.setObjectName(_fromUtf8("actionExport_Route"))
self.actionExit_program = QtWidgets.QAction(MainWindow)
self.actionExit_program.setObjectName(_fromUtf8("actionExit_program"))
self.actionAdd_GPS_markers_from_file = QtWidgets.QAction(MainWindow)
self.actionAdd_GPS_markers_from_file.setObjectName(_fromUtf8("actionAdd_GPS_markers_from_file"))
self.actionClear_GPS_markers = QtWidgets.QAction(MainWindow)
self.actionClear_GPS_markers.setObjectName(_fromUtf8("actionClear_GPS_markers"))
self.menuFile.addAction(self.actionSave_polygon_shape)
self.menuFile.addAction(self.actionLoad_polygon_shape)
self.menuFile.addAction(self.actionAdd_GPS_markers_from_file)
self.menuFile.addAction(self.actionClear_GPS_markers)
self.menuFile.addAction(self.actionExit_program)
self.menuMap.addAction(self.actionReload_Map)
self.menuMap.addAction(self.actionExport_Route)
self.menuBar.addAction(self.menuFile.menuAction())
self.menuBar.addAction(self.menuMap.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "Route Generator", None))
self.label_8.setText(_translate("MainWindow", "Hexagon config", None))
self.label.setText(_translate("MainWindow", "Robot number", None))
self.label_10.setText(_translate("MainWindow", "Path angle", None))
self.label_11.setText(_translate("MainWindow", "Altitude (mts)", None))
self.label_14.setText(_translate("MainWindow", "<html><head/><body><p>Alt (mts)<br/>multiplicator</p></body></html>", None))
self.label_12.setText(_translate("MainWindow", "Radius (mts)", None))
self.label_13.setText(_translate("MainWindow", "Cover width (mts)", None))
self.btnHexToggleMaps.setText(_translate("MainWindow", "Toggle hex routes", None))
self.label_9.setText(_translate("MainWindow", "Magnetic config", None))
self.label_15.setText(_translate("MainWindow", "Drone angle", None))
self.spinDroneAngle.setSuffix(_translate("MainWindow", " degrees", None))
self.label_16.setText(_translate("MainWindow", "Point spacement", None))
self.doubleSpinPointSpacement.setSuffix(_translate("MainWindow", " mts", None))
self.label_3.setText(_translate("MainWindow", "Path angle", None))
self.spinAngle.setSuffix(_translate("MainWindow", " degrees", None))
self.label_2.setText(_translate("MainWindow", "<html><head/><body><p>Cover width (mts)</p></body></html>", None))
self.doubleSpinWidthSize.setSuffix(_translate("MainWindow", " mts", None))
self.label_4.setText(_translate("MainWindow", "<html><head/><body><p>Altitude (mts)</p></body></html>", None))
self.doubleSpinAltitude.setSuffix(_translate("MainWindow", " mts", None))
self.label_5.setText(_translate("MainWindow", "<html><head/><body><p>Time to wait at WP<br/>In seconds</p></body></html>", None))
self.spinSeconds.setSuffix(_translate("MainWindow", " seconds", None))
self.label_6.setText(_translate("MainWindow", "WP sequence", None))
self.comboWPSequence.setItemText(0, _translate("MainWindow", "Normal", None))
self.comboWPSequence.setItemText(1, _translate("MainWindow", "Spaced", None))
self.label_7.setText(_translate("MainWindow", "WP altitude type", None))
self.comboWPALT.setItemText(0, _translate("MainWindow", "Follow Terrain", None))
self.comboWPALT.setItemText(1, _translate("MainWindow", "Normal", None))
self.btnClearPaths.setText(_translate("MainWindow", "Clear paths", None))
self.btnGenRoute.setText(_translate("MainWindow", "Generate route", None))
self.labelStatus.setText(_translate("MainWindow", "Status", None))
self.menuFile.setTitle(_translate("MainWindow", "File&", None))
self.menuMap.setTitle(_translate("MainWindow", "Map", None))
self.actionSave_polygon_shape.setText(_translate("MainWindow", "Save polygon shape", None))
self.actionLoad_polygon_shape.setText(_translate("MainWindow", "Load polygon shape", None))
self.actionReload_Map.setText(_translate("MainWindow", "Reload Map", None))
self.actionExport_Route.setText(_translate("MainWindow", "Export Route", None))
self.actionExit_program.setText(_translate("MainWindow", "Exit", None))
self.actionAdd_GPS_markers_from_file.setText(_translate("MainWindow", "Load GPS markers from file", None))
self.actionClear_GPS_markers.setText(_translate("MainWindow", "Clear GPS markers", None))
from PyQt5 import QtWebKitWidgets
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())