FGMagRibbon::FGMagRibbon (int w, int h)
: FGTexturedLayer(w, h)
{
- FGCroppedTexture texture("Aircraft/c172/Instruments/Textures/compass-ribbon.rgb");
+ FGCroppedTexture texture("Aircraft/Instruments/Textures/compass-ribbon.rgb");
setTexture(texture);
}
type = "rotation";
}
- if (propName != (string)"") {
- target = fgGetNode(propName, true);
+ if (!propName.empty()) {
+ target = fgGetNode(propName.c_str(), true);
}
t->node = target;
t->table = new SGInterpTable();
for(int i = 0; i < trans_table->nChildren(); i++) {
const SGPropertyNode * node = trans_table->getChild(i);
- if (node->getName() == "entry") {
+ if (string(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 "
else if (type == "number-value") {
string propName = node->getStringValue("property");
float scale = node->getFloatValue("scale", 1.0);
- SGPropertyNode * target = fgGetNode(propName, true);
+ SGPropertyNode * target = fgGetNode(propName.c_str(), true);
chunk = new FGTextLayer::Chunk(FGTextLayer::DOUBLE_VALUE, target,
format, scale);
}
for (int i = 0; i < node->nChildren(); i++) {
const SGPropertyNode * child = node->getChild(i);
cerr << "Trying child " << child->getName() << endl;
- if (child->getName() == "layer") {
+ if (string(child->getName()) == "layer") {
cerr << "succeeded!" << endl;
((FGGroupLayer *)layer)->addLayer(readLayer(child, w_scale, h_scale));
}
tlayer->setPointSize(pointSize);
// Set the font.
- // TODO
+ string fontName = node->getStringValue("font", "default");
+ tlayer->setFontName(fontName);
const SGPropertyNode * chunk_group = node->getNode("chunks");
if (chunk_group != 0) {
int nChunks = chunk_group->nChildren();
for (int i = 0; i < nChunks; i++) {
const SGPropertyNode * node = chunk_group->getChild(i);
- if (node->getName() == "chunk") {
+ if (string(node->getName()) == "chunk") {
FGTextLayer::Chunk * chunk = readTextChunk(node);
if (chunk != 0)
tlayer->addChunk(chunk);
int nTransformations = trans_group->nChildren();
for (int i = 0; i < nTransformations; i++) {
const SGPropertyNode * node = trans_group->getChild(i);
- if (node->getName() == "transformation") {
+ if (string(node->getName()) == "transformation") {
FGPanelTransformation * t = readTransformation(node, w_scale, h_scale);
if (t != 0)
layer->addTransformation(t);
int nActions = action_group->nChildren();
for (int i = 0; i < nActions; i++) {
const SGPropertyNode * node = action_group->getChild(i);
- if (node->getName() == "action") {
+ if (string(node->getName()) == "action") {
FGPanelAction * action = readAction(node, w_scale, h_scale);
if (action != 0)
instrument->addAction(action);
int nLayers = layer_group->nChildren();
for (int i = 0; i < nLayers; i++) {
const SGPropertyNode * node = layer_group->getChild(i);
- if (node->getName() == "layer") {
+ if (string(node->getName()) == "layer") {
FGInstrumentLayer * layer = readLayer(node, w_scale, h_scale);
if (layer != 0)
instrument->addLayer(layer);
if (!fgHasNode("/sim/panel/x-offset"))
fgSetInt("/sim/panel/x-offset", root->getIntValue("x-offset", 0));
+ // conditional removed by jim wilson to allow panel xml code
+ // with y-offset defined to work...
if (!fgHasNode("/sim/panel/y-offset"))
fgSetInt("/sim/panel/y-offset", root->getIntValue("y-offset", 0));
panel->setBackground(FGTextureManager::createTexture(bgTexture.c_str()));
SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << bgTexture );
+ //
+ // Get multibackground if any...
+ //
+ string mbgTexture = root->getStringValue("multibackground[0]");
+ if (!mbgTexture.empty()) {
+ panel->setMultiBackground(FGTextureManager::createTexture(mbgTexture.c_str()), 0);
+ SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << mbgTexture );
+
+ mbgTexture = root->getStringValue("multibackground[1]");
+ if (mbgTexture == "")
+ mbgTexture = "FOO";
+ panel->setMultiBackground(FGTextureManager::createTexture(mbgTexture.c_str()), 1);
+ SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << mbgTexture );
+
+ mbgTexture = root->getStringValue("multibackground[2]");
+ if (mbgTexture == "")
+ mbgTexture = "FOO";
+ panel->setMultiBackground(FGTextureManager::createTexture(mbgTexture.c_str()), 2);
+ SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << mbgTexture );
+
+ mbgTexture = root->getStringValue("multibackground[3]");
+ if (mbgTexture == "")
+ mbgTexture = "FOO";
+ panel->setMultiBackground(FGTextureManager::createTexture(mbgTexture.c_str()), 3);
+ SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << mbgTexture );
+
+ mbgTexture = root->getStringValue("multibackground[4]");
+ if (mbgTexture == "")
+ mbgTexture = "FOO";
+ panel->setMultiBackground(FGTextureManager::createTexture(mbgTexture.c_str()), 4);
+ SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << mbgTexture );
+
+ mbgTexture = root->getStringValue("multibackground[5]");
+ if (mbgTexture == "")
+ mbgTexture = "FOO";
+ panel->setMultiBackground(FGTextureManager::createTexture(mbgTexture.c_str()), 5);
+ SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << mbgTexture );
+
+ mbgTexture = root->getStringValue("multibackground[6]");
+ if (mbgTexture == "")
+ mbgTexture = "FOO";
+ panel->setMultiBackground(FGTextureManager::createTexture(mbgTexture.c_str()), 6);
+ SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << mbgTexture );
+
+ mbgTexture = root->getStringValue("multibackground[7]");
+ if (mbgTexture == "")
+ mbgTexture = "FOO";
+ panel->setMultiBackground(FGTextureManager::createTexture(mbgTexture.c_str()), 7);
+ SG_LOG( SG_COCKPIT, SG_INFO, "Set background texture to " << mbgTexture );
+
+ }
+
+
//
// Create each instrument.
int nInstruments = instrument_group->nChildren();
for (int i = 0; i < nInstruments; i++) {
const SGPropertyNode * node = instrument_group->getChild(i);
- if (node->getName() == "instrument") {
+ if (string(node->getName()) == "instrument") {
FGPanelInstrument * instrument = readInstrument(node);
if (instrument != 0)
panel->addInstrument(instrument);
// end of panel_io.cxx
+
+
+