}
//=====================================================================
-
//=====================================================================
int SQLiteTreeHandler::AddBranch( const AttributeMapType& attr )
{
tree::Node* parent = DBGetParent(attr);
DBGraftToParent(parent,attr);
return (parent->GetLevel()+1);
+
}
//=====================================================================
// Add Attribute 'ID' to Description
- GetTree().GetLevelDescriptor(l).Add
+ GetTree().GetDescriptor().Add
(AttributeDescriptor( "ID",
"Database Identifier",
0,0,
AttributeDescriptor::PRIVATE
- ));
+ ),l);
if (l>1)
{
// Add Attribute 'PARENT_ID' to Description
- GetTree().GetLevelDescriptor(l).Add
+ GetTree().GetDescriptor().Add
(AttributeDescriptor( "PARENT_ID",
"Database Parent Identifier",
0,0,
AttributeDescriptor::PRIVATE
- ));
+ ),l);
}
}
<< i->GetGroup() << ","
<< i->GetElement() << ","
<< i->GetFlags() << ");";
-
UPDATEDB(insert.str());
}
tree::Descriptor& desc = GetTree().GetDescriptor();
// clears the existing one
- desc.GetLevelDescriptorList().clear();
+ desc.Clear();
int nblevel = 0;
std::string query = "SELECT * FROM LEVELS";
{
std::string name = q.getStringField(0);
GimmickMessage(2," * Importing level '"<<name<<"'"<<std::endl);
- desc.GetLevelDescriptorList().push_back(LevelDescriptor(name));
+ desc.Add(LevelDescriptor(name));
nblevel++;
q.nextRow();
}
std::string name(q.getStringField(1));
GimmickMessage(2," - Importing attribute '"<<key<<"' '"<<name
<<"'"<<std::endl);
- desc.GetLevelDescriptor(level).Add
+ desc.Add
(AttributeDescriptor( key, // Key
name, // Name
q.getIntField(2), // Group
q.getIntField(3), // Element
q.getIntField(4) // Flags
- ));
+ ),level);
if ( key == "ID" )
{
ID_found = true;
if (node->GetChildrenLoaded())
{
// Iterate the children
- tree::Node::ChildrenListType::iterator i;
+
+ /*tree::Node::ChildrenListType::iterator i;
for (i = node->GetChildrenList().begin();
i!= node->GetChildrenList().end();
++i)
{
nbloaded += DBLoadChildren(*i,numberoflevels-1);
- }
+ }*/
return nbloaded;
+
}
/// If children not loaded : do it and recurse
while (!q.eof())
{
+ // std::cout<<"Name in q: "<<q.fieldName(3)<<" Value: "<<q.getStringField(3)<<std::endl;
nbloaded++;
Node* n = new Node(node);
for (int fld = 0; fld < q.numFields(); fld++)
if ( numberoflevels != 1 )
{
// msw[2].Pause();
- nbloaded += DBLoadChildren(n, numberoflevels-1);
+ // nbloaded += DBLoadChildren(n, numberoflevels-1);
// msw[2].Resume();
}
// next entry in db
}
}
- //=====================================================================
-
//=====================================================================
unsigned int SQLiteTreeHandler::GetNumberOfChildren(tree::Node* n)
{