bool ChartElemNavaids::addNdb(const Ndb& ndb,
                              QDomElement& element, 
                              QDomDocument& dom_doc,
                              QString& err_msg)
{
    QString leaf_id = getLeafID(ndb);

    // check for double entries
    if (containsLeaf(leaf_id)) 
    {
        err_msg = QString("Double NDB entry detected: (%1)").arg(ndb.getId());
        return false;
    }
    
    // process the NDB

    ChartElemNdb* chart_elem_ndb = new ChartElemNdb(this, m_chart_model, ndb);
    MYASSERT(chart_elem_ndb != 0);

    if (!chart_elem_ndb->loadFromDomElement(element, dom_doc, err_msg)) 
    {
        delete chart_elem_ndb;
        return false;
    }

    addLeaf(leaf_id, chart_elem_ndb);
    return true;
}