/*========================================================================= Program: CMake - Cross-Platform Makefile Generator Module: $RCSfile: cmDocumentationFormatterUsage.cxx,v $ Language: C++ Date: $Date: 2007-10-22 16:48:39 $ Version: $Revision: 1.4 $ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #include "cmDocumentationFormatterUsage.h" #include "cmDocumentationSection.h" cmDocumentationFormatterUsage::cmDocumentationFormatterUsage() :cmDocumentationFormatterText() { } void cmDocumentationFormatterUsage ::PrintSection(std::ostream& os, const cmDocumentationSection §ion, const char* name) { if(name) { os << name << "\n"; } const std::vector &entries = section.GetEntries(); for(std::vector::const_iterator op = entries.begin(); op != entries.end(); ++op) { if(op->Name.size()) { os << " " << op->Name; this->TextIndent = " "; int align = static_cast(strlen(this->TextIndent))-4; for(int i = static_cast(op->Name.size()); i < align; ++i) { os << " "; } if (op->Name.size() > strlen(this->TextIndent)-4 ) { os << "\n"; os.write(this->TextIndent, strlen(this->TextIndent)-2); } os << "= "; this->PrintColumn(os, op->Brief.c_str()); os << "\n"; } else { os << "\n"; this->TextIndent = ""; this->PrintFormatted(os, op->Brief.c_str()); } } os << "\n"; }