Пример #1
0
static void writePageFooter(QTextStream &t,const QCString &lastTitle,
                            const QCString relPath)
{
  if (g_footer.isEmpty())
  {
    t << "<hr size=\"1\"><address style=\"align: right;\"><small>";
    t << theTranslator->trGeneratedAt(
        dateToString(TRUE),
        Config_getString("PROJECT_NAME")
        );
    t << "&nbsp;" << endl << "<a href=\"http://www.doxygen.org/index.html\">";
    t << endl << "<img src=\"" << relPath << "doxygen.png\" alt=\"doxygen\" " 
      << "align=\"middle\" border=\"0\">" << "</a> " << versionString << " ";
    t << "</small></address>";
    if (Debug::isFlagSet(Debug::Validate))
    {
      t << "<p><a href=\"http://validator.w3.org/check/referer\">"
           "<img border=\"0\" src=\"http://www.w3.org/Icons/valid-html401\""
           " height=\"31\" width=\"88\" alt=\"This page is Valid HTML 4.01 "
           "Transitional!\"></a><a href=\"http://jigsaw.w3.org/css-validator/\">"
           "<img style=\"border:0;width:88px;height:31px\" "
           "src=\"http://jigsaw.w3.org/css-validator/images/vcss\" "
           "alt=\"This page uses valid CSS!\"></a></p>";
    }
    t << "\n</body>\n</html>\n";
  }
  else
  {
    t << substituteKeywords(g_footer,convertToHtml(lastTitle),relPath);
  }
}
Пример #2
0
void HtmlGenerator::startFile(const char *name,const char *,
                              const char *title)
{
  //printf("HtmlGenerator::startFile(%s)\n",name);
  QCString fileName=name;
  lastTitle=title;
  relPath = relativePathToRoot(fileName);

  if (fileName.right(Doxygen::htmlFileExtension.length())!=Doxygen::htmlFileExtension) 
  {
    fileName+=Doxygen::htmlFileExtension;
  }
  startPlainFile(fileName);
  if (Config_getBool("GENERATE_HTMLHELP"))
  {
    HtmlHelp::getInstance()->addIndexFile(fileName);
  }
  
  QCString dispTitle = title;
  QCString projName = Config_getString("PROJECT_NAME");
  if (!projName.isEmpty())
  {
    dispTitle.prepend(projName+": ");
  }
 
  lastFile = fileName;
  if (g_header.isEmpty()) 
  {
    writeDefaultHeaderFile(t,dispTitle,relPath,FALSE);
  }
  else
  {
    t << substituteKeywords(g_header,convertToHtml(dispTitle),relPath);
  }
  t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen " 
    << versionString << " -->" << endl;
}
Пример #3
0
void ProvisioningInfo::readProvisioningFile(const QString& filePath)
{
  QFile file(filePath);
  file.open(QFile::ReadOnly);
  QTextStream fileStream(&file);
  QRegExp sep("\\s+");
  QString line;
  int count = 1;
  do {
    line = fileStream.readLine().trimmed();
    if (!line.isEmpty() && !line.startsWith('#'))
    {
      QString keyword = line.section(sep, 0, 0);
      QString value = line.mid(keyword.size()).trimmed();
      value = substituteKeywords(value);

      if (keyword.isEmpty())
      {
        MITK_WARN << "Keyword missing in line " << count
                  << " of provisioning file " << filePath.toStdString();
        continue;
      }

      Keyword key = UNKNOWN;
      if (keyword.compare("READ", Qt::CaseInsensitive) == 0)
      {
        key = READ;
      }
      else if (keyword.compare("INSTALL", Qt::CaseInsensitive) == 0)
      {
        key = INSTALL;
      }
      else if (keyword.compare("START", Qt::CaseInsensitive) == 0)
      {
        key = START;
      }
      else if (keyword.compare("STOP", Qt::CaseInsensitive) == 0)
      {
        key = STOP;
      }

      if (key == UNKNOWN)
      {
        MITK_WARN << "Keyword " << keyword.toStdString() << " in line "
                  << count << " of provisioning file "
                  << filePath.toStdString() << " unknown";
        continue;
      }

      if (value.isEmpty())
      {
        MITK_WARN << "Value after keyword " << keyword.toStdString()
                  << " missing in line " << count
                  << " of provisioning file " << filePath.toStdString();
        continue;
      }

      switch (key)
      {
      case READ:
      {
        QUrl readFileUrl(value);
        if (!readFileUrl.isValid())
        {
          MITK_WARN << "The READ URL " << value.toStdString()
                    << "is invalid: " << readFileUrl.errorString().toStdString();
          break;
        }
        this->readProvisioningFile(readFileUrl.toLocalFile());
        break;
      }
      case INSTALL:
      {
        this->addPluginToInstall(value);
        break;
      }
      case START:
      {
        this->addPluginToStart(value);
        break;
      }
      case STOP:
      {
        break;
      }
      case UNKNOWN:
      {
        break; // error handled above
      }
      }
    }
    ++count;
  } while (!line.isNull());
}