diff --git a/Models/Instruments/ND/canvas/framework/navdisplay.nas b/Models/Instruments/ND/canvas/framework/navdisplay.nas
index e0cf4b6d..5ce94b90 100644
--- a/Models/Instruments/ND/canvas/framework/navdisplay.nas
+++ b/Models/Instruments/ND/canvas/framework/navdisplay.nas
@@ -82,6 +82,41 @@ var easeArrow = {
}
};
+var symbolFloat = {
+ new: func(name, nd) {
+ var m = {parents: [symbolFloat] };
+ m.group = nd.getElementById(name);
+ m.expn = nd.getElementById(name ~ "1");
+ m.mant = nd.getElementById(name ~ "2");
+ return m;
+ },
+ hide: func {
+ me.group.hide();
+ },
+ show: func {
+ me.group.show();
+ },
+ setText: func(txt) {
+ var parts = ( txt != "" ) ? split( "." , txt ) : nil;
+ if ( parts != nil and size(parts) == 2 ) {
+ me.expn.setText(parts[0]);
+ me.mant.setText("." ~ parts[1]);
+ } else {
+ me.expn.setText(txt);
+ me.mant.setText("");
+ }
+ },
+ setColor: func(r,g,b) {
+ me.expn.setColor(r,g,b);
+ me.mant.setColor(r,g,b);
+ },
+ setFloat: func(val) {
+ var parts = split( "." , sprintf("%03.1f",val) );
+ me.expn.setText(parts[0]);
+ me.mant.setText("." ~ parts[1]);
+ }
+};
+
canvas.NavDisplay.set_switch = func(s, v) {
var switch = me.efis_switches[s];
if(switch == nil) return nil;
@@ -137,10 +172,13 @@ canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update
### this is the "old" method that"s less flexible, we want to use the style hash instead (see above)
# because things are much better configurable that way
# now look up all required SVG elements and initialize member fields using the same name to have a convenient handle
- foreach(var element; ["dmeLDist","dmeRDist","dmeL","dmeR","vorL","vorR","vorLId","vorRId",
+ foreach(var element; ["dmeL","dmeR","vorL","vorR","vorLId","vorRId",
"status.wxr","status.wpt","status.sta","status.arpt","terrHI","terrLO","TerrLabel","terrAhead"])
me.symbols[element] = me.nd.getElementById(element);
+ foreach(var element; ["dmeLDist","dmeRDist"])
+ me.symbols[element] = symbolFloat.new( element, me.nd );
+
# load elements from vector image, and create instance variables using identical names, and call updateCenter() on each
# anything that needs updatecenter called, should be added to the vector here
#
@@ -576,7 +614,7 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
var adf1hdg = getprop("/instrumentation/adf[1]/indicated-bearing-deg");
if(!me.get_switch("toggle_centered"))
{
- if(me.in_mode("toggle_display_mode", ["PLAN"]) or (me.adirs_property.getValue() != 1 and (me.change_phase != 1) and (adirs_3.getValue() != 1 or att_switch.getValue() != me.attitude_heading_setting)))
+ if(me.in_mode("toggle_display_mode", ["PLAN"]) or (me.adirs_property.getValue() != 1 or (me.change_phase == 1) and (adirs_3.getValue() != 1 or att_switch.getValue() != me.attitude_heading_setting)))
me.symbols.trkInd.hide();
else
me.symbols.trkInd.show();
diff --git a/Models/Instruments/ND/canvas/res/airbusND.svg b/Models/Instruments/ND/canvas/res/airbusND.svg
index 6770ea1f..e6d4f380 100644
--- a/Models/Instruments/ND/canvas/res/airbusND.svg
+++ b/Models/Instruments/ND/canvas/res/airbusND.svg
@@ -26,13 +26,13 @@
inkscape:window-height="1017"
id="namedview102"
showgrid="false"
- inkscape:zoom="2.197766"
- inkscape:cx="933.14634"
- inkscape:cy="816.83256"
+ inkscape:zoom="3.1081105"
+ inkscape:cx="163.03816"
+ inkscape:cy="979.87161"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
- inkscape:current-layer="terrGroup"
+ inkscape:current-layer="layer3"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-object-midpoints="true"
@@ -80,7 +80,28 @@
id="guide3498" />image/svg+xmlGijs de RooyABCD
+ style="font-size:36px;line-height:1.25;text-align:end;text-anchor:end">XXXX99X
VOR 1
+ x="39.859375"
+ y="919.5495">VOR 1
NM
+
99.9
-ABC
+ x="39.9375"
+ y="956.56171">ABC
VOR 2
NM
-99.9
+
ABC
@@ -1300,16 +1299,8 @@
sodipodi:role="line"
style="font-size:32px;line-height:125%;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#af0063;fill-opacity:1">999.99
999999999.9999.9