+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
#include <plib/pu.h>
#include <simgear/props/props.hxx>
+#include <simgear/math/SGMath.hxx>
#include "layout.hxx"
int LayoutWidget::nChildren()
{
- // Hack: assume that any non-leaf nodes are widgets...
+ // Hack: assume that any non-leaf nodes but "hrule" and "vrule"
+ // are widgets...
int n = 0;
- for(int i=0; i<_prop->nChildren(); i++)
- if(_prop->getChild(i)->nChildren() != 0)
+ for(int i=0; i<_prop->nChildren(); i++) {
+ SGPropertyNode* p = _prop->getChild(i);
+ const char* name = p->getName();
+ if(p->nChildren() != 0 || !strcmp(name, "hrule")
+ || !strcmp(name, "vrule"))
n++;
+ }
return n;
}
int n = 0;
for(int i=0; i<_prop->nChildren(); i++) {
SGPropertyNode* p = _prop->getChild(i);
- if(p->nChildren() != 0) {
+ const char* name = p->getName();
+ if(p->nChildren() != 0 || !strcmp(name, "hrule")
+ || !strcmp(name, "vrule")) {
if(idx == n) return LayoutWidget(p);
n++;
}
return _prop->getIntValue(f);
}
-bool LayoutWidget::getBool(const char* f)
+bool LayoutWidget::getBool(const char* f, bool dflt)
{
- return _prop->getBoolValue(f);
+ return _prop->getBoolValue(f, dflt);
}
const char* LayoutWidget::getStr(const char* f)