fgmapping 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,224 @@
1
+ =begin
2
+ ** Form generated from reading ui file 'main-dlg.ui'
3
+ **
4
+ ** Created: Fr. Jun 11 14:41:10 2010
5
+ ** by: Qt User Interface Compiler version 4.6.2
6
+ **
7
+ ** WARNING! All changes made in this file will be lost when recompiling ui file!
8
+ =end
9
+
10
+ class Ui_MainDlg
11
+ attr_reader :horizontalLayout_3
12
+ attr_reader :verticalLayout
13
+ attr_reader :pBrecordTrack
14
+ attr_reader :cBautocenter
15
+ attr_reader :cBtoorigin
16
+ attr_reader :cBvor
17
+ attr_reader :cBndb
18
+ attr_reader :cBrw
19
+ attr_reader :fRcurrentwp
20
+ attr_reader :gridLayout
21
+ attr_reader :label_2
22
+ attr_reader :lBcurrentwp
23
+ attr_reader :verticalSpacer
24
+ attr_reader :horizontalLayout
25
+ attr_reader :pBminus
26
+ attr_reader :pBplus
27
+ attr_reader :horizontalLayout_2
28
+ attr_reader :label
29
+ attr_reader :lBzoom
30
+ attr_reader :line_2
31
+ attr_reader :pBexit
32
+ attr_reader :gVmap
33
+
34
+ def setupUi(mainDlg)
35
+ if mainDlg.objectName.nil?
36
+ mainDlg.objectName = "mainDlg"
37
+ end
38
+ mainDlg.resize(588, 389)
39
+ @horizontalLayout_3 = Qt::HBoxLayout.new(mainDlg)
40
+ @horizontalLayout_3.objectName = "horizontalLayout_3"
41
+ @verticalLayout = Qt::VBoxLayout.new()
42
+ @verticalLayout.objectName = "verticalLayout"
43
+ @pBrecordTrack = Qt::PushButton.new(mainDlg)
44
+ @pBrecordTrack.objectName = "pBrecordTrack"
45
+ @pBrecordTrack.checkable = true
46
+
47
+ @verticalLayout.addWidget(@pBrecordTrack)
48
+
49
+ @cBautocenter = Qt::CheckBox.new(mainDlg)
50
+ @cBautocenter.objectName = "cBautocenter"
51
+
52
+ @verticalLayout.addWidget(@cBautocenter)
53
+
54
+ @cBtoorigin = Qt::CheckBox.new(mainDlg)
55
+ @cBtoorigin.objectName = "cBtoorigin"
56
+
57
+ @verticalLayout.addWidget(@cBtoorigin)
58
+
59
+ @cBvor = Qt::CheckBox.new(mainDlg)
60
+ @cBvor.objectName = "cBvor"
61
+ @cBvor.checked = true
62
+
63
+ @verticalLayout.addWidget(@cBvor)
64
+
65
+ @cBndb = Qt::CheckBox.new(mainDlg)
66
+ @cBndb.objectName = "cBndb"
67
+
68
+ @verticalLayout.addWidget(@cBndb)
69
+
70
+ @cBrw = Qt::CheckBox.new(mainDlg)
71
+ @cBrw.objectName = "cBrw"
72
+
73
+ @verticalLayout.addWidget(@cBrw)
74
+
75
+ @fRcurrentwp = Qt::Frame.new(mainDlg)
76
+ @fRcurrentwp.objectName = "fRcurrentwp"
77
+ @fRcurrentwp.frameShape = Qt::Frame::StyledPanel
78
+ @fRcurrentwp.frameShadow = Qt::Frame::Raised
79
+ @gridLayout = Qt::GridLayout.new(@fRcurrentwp)
80
+ @gridLayout.objectName = "gridLayout"
81
+ @gridLayout.setContentsMargins(2, 2, 0, 0)
82
+ @label_2 = Qt::Label.new(@fRcurrentwp)
83
+ @label_2.objectName = "label_2"
84
+
85
+ @gridLayout.addWidget(@label_2, 0, 0, 1, 1)
86
+
87
+ @lBcurrentwp = Qt::Label.new(@fRcurrentwp)
88
+ @lBcurrentwp.objectName = "lBcurrentwp"
89
+ @sizePolicy = Qt::SizePolicy.new(Qt::SizePolicy::Preferred, Qt::SizePolicy::Preferred)
90
+ @sizePolicy.setHorizontalStretch(1)
91
+ @sizePolicy.setVerticalStretch(0)
92
+ @sizePolicy.heightForWidth = @lBcurrentwp.sizePolicy.hasHeightForWidth
93
+ @lBcurrentwp.sizePolicy = @sizePolicy
94
+
95
+ @gridLayout.addWidget(@lBcurrentwp, 0, 1, 1, 1)
96
+
97
+
98
+ @verticalLayout.addWidget(@fRcurrentwp)
99
+
100
+ @verticalSpacer = Qt::SpacerItem.new(106, 28, Qt::SizePolicy::Minimum, Qt::SizePolicy::Expanding)
101
+
102
+ @verticalLayout.addItem(@verticalSpacer)
103
+
104
+ @horizontalLayout = Qt::HBoxLayout.new()
105
+ @horizontalLayout.objectName = "horizontalLayout"
106
+ @pBminus = Qt::PushButton.new(mainDlg)
107
+ @pBminus.objectName = "pBminus"
108
+ @sizePolicy1 = Qt::SizePolicy.new(Qt::SizePolicy::Ignored, Qt::SizePolicy::Preferred)
109
+ @sizePolicy1.setHorizontalStretch(0)
110
+ @sizePolicy1.setVerticalStretch(0)
111
+ @sizePolicy1.heightForWidth = @pBminus.sizePolicy.hasHeightForWidth
112
+ @pBminus.sizePolicy = @sizePolicy1
113
+ @pBminus.minimumSize = Qt::Size.new(0, 32)
114
+
115
+ @horizontalLayout.addWidget(@pBminus)
116
+
117
+ @pBplus = Qt::PushButton.new(mainDlg)
118
+ @pBplus.objectName = "pBplus"
119
+ @sizePolicy1.heightForWidth = @pBplus.sizePolicy.hasHeightForWidth
120
+ @pBplus.sizePolicy = @sizePolicy1
121
+ @pBplus.minimumSize = Qt::Size.new(0, 32)
122
+
123
+ @horizontalLayout.addWidget(@pBplus)
124
+
125
+
126
+ @verticalLayout.addLayout(@horizontalLayout)
127
+
128
+ @horizontalLayout_2 = Qt::HBoxLayout.new()
129
+ @horizontalLayout_2.objectName = "horizontalLayout_2"
130
+ @label = Qt::Label.new(mainDlg)
131
+ @label.objectName = "label"
132
+
133
+ @horizontalLayout_2.addWidget(@label)
134
+
135
+ @lBzoom = Qt::Label.new(mainDlg)
136
+ @lBzoom.objectName = "lBzoom"
137
+ @sizePolicy.heightForWidth = @lBzoom.sizePolicy.hasHeightForWidth
138
+ @lBzoom.sizePolicy = @sizePolicy
139
+
140
+ @horizontalLayout_2.addWidget(@lBzoom)
141
+
142
+
143
+ @verticalLayout.addLayout(@horizontalLayout_2)
144
+
145
+ @line_2 = Qt::Frame.new(mainDlg)
146
+ @line_2.objectName = "line_2"
147
+ @line_2.setFrameShape(Qt::Frame::HLine)
148
+ @line_2.setFrameShadow(Qt::Frame::Sunken)
149
+
150
+ @verticalLayout.addWidget(@line_2)
151
+
152
+ @pBexit = Qt::PushButton.new(mainDlg)
153
+ @pBexit.objectName = "pBexit"
154
+
155
+ @verticalLayout.addWidget(@pBexit)
156
+
157
+
158
+ @horizontalLayout_3.addLayout(@verticalLayout)
159
+
160
+ @gVmap = Qt::GraphicsView.new(mainDlg)
161
+ @gVmap.objectName = "gVmap"
162
+ @sizePolicy2 = Qt::SizePolicy.new(Qt::SizePolicy::Expanding, Qt::SizePolicy::Expanding)
163
+ @sizePolicy2.setHorizontalStretch(3)
164
+ @sizePolicy2.setVerticalStretch(1)
165
+ @sizePolicy2.heightForWidth = @gVmap.sizePolicy.hasHeightForWidth
166
+ @gVmap.sizePolicy = @sizePolicy2
167
+ @gVmap.verticalScrollBarPolicy = Qt::ScrollBarAlwaysOff
168
+ @gVmap.horizontalScrollBarPolicy = Qt::ScrollBarAlwaysOff
169
+ brush = Qt::Brush.new(Qt::Color.new(0, 0, 0, 0))
170
+ brush.style = Qt::NoBrush
171
+ @gVmap.backgroundBrush = brush
172
+ brush1 = Qt::Brush.new(Qt::Color.new(0, 0, 0, 0))
173
+ brush1.style = Qt::NoBrush
174
+ @gVmap.foregroundBrush = brush1
175
+ @gVmap.viewportUpdateMode = Qt::GraphicsView::FullViewportUpdate
176
+
177
+ @horizontalLayout_3.addWidget(@gVmap)
178
+
179
+
180
+ retranslateUi(mainDlg)
181
+ Qt::Object.connect(@pBexit, SIGNAL('clicked()'), mainDlg, SLOT('pBexit_clicked()'))
182
+ Qt::Object.connect(@cBtoorigin, SIGNAL('clicked()'), mainDlg, SLOT('cBpointorigin_clicked()'))
183
+ Qt::Object.connect(@pBrecordTrack, SIGNAL('toggled(bool)'), mainDlg, SLOT('pBrecordTrack_toggled(bool)'))
184
+ Qt::Object.connect(@pBplus, SIGNAL('clicked()'), mainDlg, SLOT('pBplus_clicked()'))
185
+ Qt::Object.connect(@pBminus, SIGNAL('clicked()'), mainDlg, SLOT('pBminus_clicked()'))
186
+ Qt::Object.connect(@cBvor, SIGNAL('clicked(bool)'), mainDlg, SLOT('cBvor_clicked()'))
187
+ Qt::Object.connect(@cBndb, SIGNAL('clicked(bool)'), mainDlg, SLOT('cBndb_clicked()'))
188
+ Qt::Object.connect(@cBrw, SIGNAL('clicked(bool)'), mainDlg, SLOT('cBrw_clicked()'))
189
+
190
+ Qt::MetaObject.connectSlotsByName(mainDlg)
191
+ end # setupUi
192
+
193
+ def setup_ui(mainDlg)
194
+ setupUi(mainDlg)
195
+ end
196
+
197
+ def retranslateUi(mainDlg)
198
+ mainDlg.windowTitle = Qt::Application.translate("MainDlg", "Voc-Trainer", nil, Qt::Application::UnicodeUTF8)
199
+ @pBrecordTrack.text = Qt::Application.translate("MainDlg", "Record Track 1", nil, Qt::Application::UnicodeUTF8)
200
+ @cBautocenter.text = Qt::Application.translate("MainDlg", "Autocenter", nil, Qt::Application::UnicodeUTF8)
201
+ @cBtoorigin.text = Qt::Application.translate("MainDlg", "Point to Origin", nil, Qt::Application::UnicodeUTF8)
202
+ @cBvor.text = Qt::Application.translate("MainDlg", "Display VOR", nil, Qt::Application::UnicodeUTF8)
203
+ @cBndb.text = Qt::Application.translate("MainDlg", "Display NDB", nil, Qt::Application::UnicodeUTF8)
204
+ @cBrw.text = Qt::Application.translate("MainDlg", "Display Rws", nil, Qt::Application::UnicodeUTF8)
205
+ @label_2.text = Qt::Application.translate("MainDlg", "Current WP: ", nil, Qt::Application::UnicodeUTF8)
206
+ @lBcurrentwp.text = ''
207
+ @pBminus.text = Qt::Application.translate("MainDlg", "-", nil, Qt::Application::UnicodeUTF8)
208
+ @pBplus.text = Qt::Application.translate("MainDlg", "+", nil, Qt::Application::UnicodeUTF8)
209
+ @label.text = Qt::Application.translate("MainDlg", "Zoom:", nil, Qt::Application::UnicodeUTF8)
210
+ @lBzoom.text = ''
211
+ @pBexit.text = Qt::Application.translate("MainDlg", "Exit", nil, Qt::Application::UnicodeUTF8)
212
+ end # retranslateUi
213
+
214
+ def retranslate_ui(mainDlg)
215
+ retranslateUi(mainDlg)
216
+ end
217
+
218
+ end
219
+
220
+ module Ui
221
+ class MainDlg < Ui_MainDlg
222
+ end
223
+ end # module Ui
224
+
@@ -0,0 +1,177 @@
1
+ require 'zlib'
2
+ require 'bsearch'
3
+ begin
4
+ require "ap"
5
+ rescue LoadError
6
+ def ap(*k)
7
+ p k
8
+ end
9
+ end
10
+
11
+
12
+ #NAVAID_FILE = "/usr/share/games/FlightGear/Navaids/nav.dat.gz"
13
+ NAVAID_FILE = "/home/chief/dev/nav.dat.gz"
14
+
15
+ class Navaid
16
+ Vor = Struct.new( :lat, :lon, :freq, :shortName, :longName, :type, :sceneItem )
17
+ Runway = Struct.new( :lat, :lon, :freq, :alt, :direction, :airportName, :runwayName, :sceneItem )
18
+
19
+ def initialize(arg=nil)
20
+ @vors = Array.new
21
+ @runways = Array.new
22
+ @lonSort = Array.new
23
+ @latSort = Array.new
24
+ @rwlatSort = Array.new
25
+ @rwlonSort = Array.new
26
+ @navaidFile = NAVAID_FILE
27
+
28
+ vorCount = 0
29
+ rwCount = 0
30
+
31
+ checkForNavaidFile(arg)
32
+
33
+ begin
34
+ Zlib::GzipReader.open(@navaidFile) {|gz|
35
+ gz.each_line do |l|
36
+ vordata=[]
37
+ if l[0,2] == "2 " or l[0,2] == "3 " then
38
+ vordata = l.split(" ")
39
+ # is it a NDB?
40
+ if l[0,2] == "2 " then
41
+ freq = vordata[4].to_i
42
+ type = "NDB"
43
+ else
44
+ # freq is in MHz * 100
45
+ freq = vordata[4].to_i / 100.0
46
+ type = vordata[-1]
47
+ end
48
+ @vors << Vor.new( vordata[1], vordata[2], freq, vordata[7], vordata[8..-2].join(" "), type, nil)
49
+ @latSort << [vordata[1].to_f, vorCount]
50
+ @lonSort << [vordata[2].to_f, vorCount]
51
+ vorCount += 1
52
+ end
53
+
54
+ # check for runways
55
+ if l[0,2] == "4 " then
56
+ rwdata = l.split(" ")
57
+ # freq is in MHz * 100
58
+ @runways << Runway.new( rwdata[1], rwdata[2], rwdata[4].to_i / 100.0, rwdata[3].to_i,
59
+ rwdata[6].to_f, rwdata[8], rwdata[9], nil)
60
+ @rwlatSort << [rwdata[1].to_f, rwCount]
61
+ @rwlonSort << [rwdata[2].to_f, rwCount]
62
+ rwCount += 1
63
+ end
64
+ end
65
+ }
66
+
67
+ @runways.sort! do |a,b|
68
+ a.airportName <=> b.airportName
69
+ end
70
+
71
+ Zlib::GzipReader.open(@navaidFile) {|gz|
72
+ mmdata = nil
73
+ range = nil
74
+ gz.each_line do |l|
75
+ # check for MiddleMarker used for placement of cone peak
76
+ if l[0,2] == "8 " then
77
+ mmdata = l.split(" ")
78
+ range = @runways.bsearch_range {|rw| rw.airportName <=> mmdata[8]}
79
+ rwMod = @runways[range].find do |rw|
80
+ rw.runwayName == mmdata[9]
81
+ end
82
+ # exchange lat and lon with position of corresponding MiddleMarker
83
+ if !rwMod.nil? then
84
+ rwMod.lat = mmdata[1]
85
+ rwMod.lon = mmdata[2]
86
+ end
87
+ end
88
+ end
89
+ }
90
+
91
+
92
+ @latSort.sort! do |a,b|
93
+ a[0] <=> b[0]
94
+ end
95
+ @lonSort.sort! do |a,b|
96
+ a[0] <=> b[0]
97
+ end
98
+ @rwlatSort.sort! do |a,b|
99
+ a[0] <=> b[0]
100
+ end
101
+ @rwlonSort.sort! do |a,b|
102
+ a[0] <=> b[0]
103
+ end
104
+ rescue Errno::ENOENT
105
+ puts "Warning. Could not find data file for VORs."
106
+ end
107
+ # ap @vors
108
+ end
109
+
110
+ def checkForNavaidFile(arg)
111
+ root = ENV['FG_ROOT']
112
+ root = "" if root.nil?
113
+ arg="" if arg.nil?
114
+ paths=[ arg, root + "/Navaids", "/usr/share/games/FlightGear/Navaids", "%ProgramFiles%/FlightGear/data/Navaids" ]
115
+ paths.each do |path|
116
+ if FileTest.exist?(path) then
117
+ @navaidFile = path + "/nav.dat.gz"
118
+ puts "Found \"#{path}\" for loading navigation aids."
119
+ break
120
+ end
121
+ end
122
+ end
123
+
124
+ def getVORs(box)
125
+ i = @latSort.bsearch_lower_boundary {|x| x[0] <=> box[1][0]}
126
+ j = @latSort.bsearch_upper_boundary {|x| x[0] <=> box[1][1]}
127
+ latCandidates = @latSort[i...j].collect do |a|
128
+ a[1] # return its array index
129
+ end
130
+ # protect against excessive CPU load
131
+ return [] if j-i > 2000
132
+
133
+ i = @lonSort.bsearch_lower_boundary {|x| x[0] <=> box[0][0]}
134
+ j = @lonSort.bsearch_upper_boundary {|x| x[0] <=> box[0][1]}
135
+ lonCandidates = @lonSort[i...j].collect do |a|
136
+ a[1] # return its array index
137
+ end
138
+ # protect against excessive CPU load
139
+ return [] if j-i > 2000
140
+
141
+ cross=latCandidates.find_all do |a|
142
+ lonCandidates.include?(a)
143
+ end
144
+
145
+ cross.collect do |a|
146
+ @vors[a]
147
+ end
148
+ end
149
+
150
+ def getRunways(box)
151
+ i = @rwlatSort.bsearch_lower_boundary {|x| x[0] <=> box[1][0]}
152
+ j = @rwlatSort.bsearch_upper_boundary {|x| x[0] <=> box[1][1]}
153
+ latCandidates = @rwlatSort[i...j].collect do |a|
154
+ a[1] # return its array index
155
+ end
156
+ # protect against excessive CPU load
157
+ return [] if j-i > 1000
158
+
159
+ i = @rwlonSort.bsearch_lower_boundary {|x| x[0] <=> box[0][0]}
160
+ j = @rwlonSort.bsearch_upper_boundary {|x| x[0] <=> box[0][1]}
161
+ lonCandidates = @rwlonSort[i...j].collect do |a|
162
+ a[1] # return its array index
163
+ end
164
+ # protect against excessive CPU load
165
+ return [] if j-i > 1000
166
+
167
+ cross=latCandidates.find_all do |a|
168
+ lonCandidates.include?(a)
169
+ end
170
+
171
+ cross.collect do |a|
172
+ @runways[a]
173
+ end
174
+ end
175
+ end
176
+
177
+
@@ -0,0 +1,46 @@
1
+ require "nodeinfo-widget"
2
+ begin
3
+ require "ap"
4
+ rescue LoadError
5
+ def ap(*k)
6
+ p k
7
+ end
8
+ end
9
+
10
+ # Class MainDlg ############################################
11
+ class NodeinfoWidget < Qt::Widget
12
+ slots "hoverTimer()"
13
+ attr_reader :w, :hovertimer, :hover_on, :hover_widget_pos
14
+ attr_writer :hover_on, :hover_widget_pos
15
+
16
+ def initialize parent=nil
17
+ super()
18
+ @w=Ui::NodeinfoWidget.new
19
+ @w.setupUi(self)
20
+ @parent=parent
21
+
22
+ @hovertimer = Qt::Timer.new()
23
+ @hovertimer.setSingleShot(true)
24
+ Qt::Object.connect( @hovertimer, SIGNAL('timeout()'), self, SLOT('hoverTimer()') )
25
+
26
+ @hover_on=false
27
+ @hover_widget_pos=nil
28
+ end
29
+
30
+ def hoverTimer()
31
+ p "timer fired"
32
+ if @hover_on then
33
+ @parent.scene.items.each {|item|
34
+ if item.kind_of? Qt::GraphicsRectItem then
35
+ if item == @parent then
36
+ item.setVisible(false)
37
+ break
38
+ end
39
+ end
40
+ }
41
+ @hover_widget_pos = nil
42
+ @hover_on = false
43
+ end
44
+ p "timer fired out"
45
+ end
46
+ end
@@ -0,0 +1,152 @@
1
+ =begin
2
+ ** Form generated from reading ui file 'nodeinfo-widget.ui'
3
+ **
4
+ ** Created: Fr. Jun 11 14:41:10 2010
5
+ ** by: Qt User Interface Compiler version 4.6.2
6
+ **
7
+ ** WARNING! All changes made in this file will be lost when recompiling ui file!
8
+ =end
9
+
10
+ class Ui_NodeinfoWidget
11
+ attr_reader :gridLayout_3
12
+ attr_reader :frame
13
+ attr_reader :gridLayout_2
14
+ attr_reader :gridLayout
15
+ attr_reader :label_4
16
+ attr_reader :lBalt
17
+ attr_reader :label_3
18
+ attr_reader :lBspeed
19
+ attr_reader :label_6
20
+ attr_reader :lBlat
21
+ attr_reader :label_5
22
+ attr_reader :lBlon
23
+
24
+ def setupUi(nodeinfoWidget)
25
+ if nodeinfoWidget.objectName.nil?
26
+ nodeinfoWidget.objectName = "nodeinfoWidget"
27
+ end
28
+ nodeinfoWidget.resize(146, 58)
29
+ @sizePolicy = Qt::SizePolicy.new(Qt::SizePolicy::MinimumExpanding, Qt::SizePolicy::MinimumExpanding)
30
+ @sizePolicy.setHorizontalStretch(0)
31
+ @sizePolicy.setVerticalStretch(0)
32
+ @sizePolicy.heightForWidth = nodeinfoWidget.sizePolicy.hasHeightForWidth
33
+ nodeinfoWidget.sizePolicy = @sizePolicy
34
+ @palette = Qt::Palette.new
35
+ brush = Qt::Brush.new(Qt::Color.new(255, 255, 255, 0))
36
+ brush.style = Qt::SolidPattern
37
+ @palette.setBrush(Qt::Palette::Active, Qt::Palette::Base, brush)
38
+ brush1 = Qt::Brush.new(Qt::Color.new(224, 223, 222, 200))
39
+ brush1.style = Qt::SolidPattern
40
+ @palette.setBrush(Qt::Palette::Active, Qt::Palette::Window, brush1)
41
+ @palette.setBrush(Qt::Palette::Inactive, Qt::Palette::Base, brush)
42
+ brush2 = Qt::Brush.new(Qt::Color.new(224, 223, 222, 100))
43
+ brush2.style = Qt::SolidPattern
44
+ @palette.setBrush(Qt::Palette::Inactive, Qt::Palette::Window, brush2)
45
+ @palette.setBrush(Qt::Palette::Disabled, Qt::Palette::Base, brush2)
46
+ @palette.setBrush(Qt::Palette::Disabled, Qt::Palette::Window, brush2)
47
+ nodeinfoWidget.palette = @palette
48
+ @gridLayout_3 = Qt::GridLayout.new(nodeinfoWidget)
49
+ @gridLayout_3.margin = 1
50
+ @gridLayout_3.objectName = "gridLayout_3"
51
+ @frame = Qt::Frame.new(nodeinfoWidget)
52
+ @frame.objectName = "frame"
53
+ @frame.frameShape = Qt::Frame::StyledPanel
54
+ @frame.frameShadow = Qt::Frame::Raised
55
+ @gridLayout_2 = Qt::GridLayout.new(@frame)
56
+ @gridLayout_2.margin = 1
57
+ @gridLayout_2.objectName = "gridLayout_2"
58
+ @gridLayout = Qt::GridLayout.new()
59
+ @gridLayout.objectName = "gridLayout"
60
+ @label_4 = Qt::Label.new(@frame)
61
+ @label_4.objectName = "label_4"
62
+ @font = Qt::Font.new
63
+ @font.pointSize = 7
64
+ @label_4.font = @font
65
+
66
+ @gridLayout.addWidget(@label_4, 0, 0, 1, 1)
67
+
68
+ @lBalt = Qt::Label.new(@frame)
69
+ @lBalt.objectName = "lBalt"
70
+ @lBalt.font = @font
71
+ @lBalt.frameShape = Qt::Frame::Panel
72
+ @lBalt.frameShadow = Qt::Frame::Sunken
73
+
74
+ @gridLayout.addWidget(@lBalt, 0, 1, 1, 1)
75
+
76
+ @label_3 = Qt::Label.new(@frame)
77
+ @label_3.objectName = "label_3"
78
+ @label_3.font = @font
79
+
80
+ @gridLayout.addWidget(@label_3, 0, 2, 1, 1)
81
+
82
+ @lBspeed = Qt::Label.new(@frame)
83
+ @lBspeed.objectName = "lBspeed"
84
+ @lBspeed.font = @font
85
+ @lBspeed.frameShape = Qt::Frame::Panel
86
+ @lBspeed.frameShadow = Qt::Frame::Sunken
87
+
88
+ @gridLayout.addWidget(@lBspeed, 0, 3, 1, 1)
89
+
90
+ @label_6 = Qt::Label.new(@frame)
91
+ @label_6.objectName = "label_6"
92
+ @label_6.font = @font
93
+
94
+ @gridLayout.addWidget(@label_6, 1, 0, 1, 1)
95
+
96
+ @lBlat = Qt::Label.new(@frame)
97
+ @lBlat.objectName = "lBlat"
98
+ @lBlat.font = @font
99
+ @lBlat.frameShape = Qt::Frame::Panel
100
+ @lBlat.frameShadow = Qt::Frame::Sunken
101
+
102
+ @gridLayout.addWidget(@lBlat, 1, 1, 1, 1)
103
+
104
+ @label_5 = Qt::Label.new(@frame)
105
+ @label_5.objectName = "label_5"
106
+ @label_5.font = @font
107
+
108
+ @gridLayout.addWidget(@label_5, 1, 2, 1, 1)
109
+
110
+ @lBlon = Qt::Label.new(@frame)
111
+ @lBlon.objectName = "lBlon"
112
+ @lBlon.font = @font
113
+ @lBlon.frameShape = Qt::Frame::Panel
114
+ @lBlon.frameShadow = Qt::Frame::Sunken
115
+
116
+ @gridLayout.addWidget(@lBlon, 1, 3, 1, 1)
117
+
118
+
119
+ @gridLayout_2.addLayout(@gridLayout, 0, 0, 1, 1)
120
+
121
+
122
+ @gridLayout_3.addWidget(@frame, 0, 0, 1, 1)
123
+
124
+
125
+ retranslateUi(nodeinfoWidget)
126
+
127
+ Qt::MetaObject.connectSlotsByName(nodeinfoWidget)
128
+ end # setupUi
129
+
130
+ def setup_ui(nodeinfoWidget)
131
+ setupUi(nodeinfoWidget)
132
+ end
133
+
134
+ def retranslateUi(nodeinfoWidget)
135
+ nodeinfoWidget.windowTitle = Qt::Application.translate("NodeinfoWidget", "Form", nil, Qt::Application::UnicodeUTF8)
136
+ @label_4.text = Qt::Application.translate("NodeinfoWidget", "Alt:", nil, Qt::Application::UnicodeUTF8)
137
+ @label_3.text = Qt::Application.translate("NodeinfoWidget", "Speed", nil, Qt::Application::UnicodeUTF8)
138
+ @label_6.text = Qt::Application.translate("NodeinfoWidget", "Lat:", nil, Qt::Application::UnicodeUTF8)
139
+ @label_5.text = Qt::Application.translate("NodeinfoWidget", "Lon:", nil, Qt::Application::UnicodeUTF8)
140
+ end # retranslateUi
141
+
142
+ def retranslate_ui(nodeinfoWidget)
143
+ retranslateUi(nodeinfoWidget)
144
+ end
145
+
146
+ end
147
+
148
+ module Ui
149
+ class NodeinfoWidget < Ui_NodeinfoWidget
150
+ end
151
+ end # module Ui
152
+