]> git.mxchange.org Git - flightgear.git/blobdiff - src/Cockpit/panel_io.cxx
make --enable-osgviewer the default
[flightgear.git] / src / Cockpit / panel_io.cxx
index 16e148ba56b2cb843c18fe6b5973071bd2a4024a..d017fb93c8e0987d1df6ba4a5cd8f650ed999ebb 100644 (file)
@@ -178,7 +178,7 @@ readAction (const SGPropertyNode * node, float w_scale, float h_scale)
   // button-less actions are fired initially
   if (!node->hasValue("w") || !node->hasValue("h")) {
     for (i = 0; i < bindings.size(); i++) {
-      FGBinding b(bindings[i]);
+      SGBinding b(bindings[i], globals->get_props());
       b.fire();
     }
     return 0;
@@ -207,7 +207,7 @@ readAction (const SGPropertyNode * node, float w_scale, float h_scale)
 
     binding = dest->getChild("binding", j, true);
     copyProperties(bindings[i], binding);
-    action->addBinding(new FGBinding(binding), 0);
+    action->addBinding(new SGBinding(binding, globals->get_props()), 0);
   }
 
   if (node->hasChild("mod-up")) {
@@ -219,7 +219,7 @@ readAction (const SGPropertyNode * node, float w_scale, float h_scale)
 
       binding = dest->getChild("binding", j, true);
       copyProperties(bindings[i], binding);
-      action->addBinding(new FGBinding(binding), 1);
+      action->addBinding(new SGBinding(binding, globals->get_props()), 1);
     }
   }
 
@@ -287,21 +287,8 @@ readTransformation (const SGPropertyNode * node, float w_scale, float h_scale)
   const SGPropertyNode * trans_table = node->getNode("interpolation");
   if (trans_table != 0) {
     SG_LOG( SG_COCKPIT, SG_INFO, "Found interpolation table with "
-            << trans_table->nChildren() << "children" );
-    t->table = new SGInterpTable();
-    for (int i = 0; i < trans_table->nChildren(); i++) {
-      const SGPropertyNode * node = trans_table->getChild(i);
-      if (!strcmp(node->getName(), "entry")) {
-       double ind = node->getDoubleValue("ind", 0.0);
-       double dep = node->getDoubleValue("dep", 0.0);
-       SG_LOG( SG_COCKPIT, SG_INFO, "Adding interpolation entry "
-                << ind << "==>" << dep );
-       t->table->addEntry(ind, dep);
-      } else {
-       SG_LOG( SG_COCKPIT, SG_INFO, "Skipping " << node->getName()
-                << " in interpolation" );
-      }
-    }
+            << trans_table->nChildren() << " children" );
+    t->table = new SGInterpTable(trans_table);
   } else {
     t->table = 0;
   }
@@ -693,6 +680,8 @@ readPanel (const SGPropertyNode * root)
   if (!fgHasNode("/sim/panel/y-offset"))
     fgSetInt("/sim/panel/y-offset", root->getIntValue("y-offset", 0));
 
+  panel->setAutohide(root->getBoolValue("autohide", true));
+
   //
   // Assign the background texture, if any, or a bogus chequerboard.
   //