Beispiel #1
0
static QCString node2URL(FTVNode *n,bool overruleFile=FALSE,bool srcLink=FALSE)
{
    QCString url = n->file;
    if (!url.isEmpty() && url.at(0)=='!')  // relative URL
    {
        // remove leading !
        url = url.mid(1);
    }
    else if (!url.isEmpty() && url.at(0)=='^') // absolute URL
    {
        // skip, keep ^ in the output
    }
    else // local file (with optional anchor)
    {
        if (overruleFile && n->def && n->def->definitionType()==Definition::TypeFile)
        {
            FileDef *fd = (FileDef*)n->def;
            if (srcLink)
            {
                url = fd->getSourceFileBase();
            }
            else
            {
                url = fd->getOutputFileBase();
            }
        }
        url+=Doxygen::htmlFileExtension;
        if (!n->anchor.isEmpty()) url+="#"+n->anchor;
    }
    return url;
}