本文整理汇总了C++中UMLAttribute::getDoc方法的典型用法代码示例。如果您正苦于以下问题:C++ UMLAttribute::getDoc方法的具体用法?C++ UMLAttribute::getDoc怎么用?C++ UMLAttribute::getDoc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UMLAttribute
的用法示例。
在下文中一共展示了UMLAttribute::getDoc方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: writeOperations
void JSWriter::writeOperations(QString classname, UMLOperationList *opList, QTextStream &js)
{
UMLOperation *op;
UMLAttribute *at;
for(op = opList->first(); op; op = opList->next())
{
UMLAttributeList atl = op->getParmList();
//write method doc if we have doc || if at least one of the params has doc
bool writeDoc = forceDoc() || !op->getDoc().isEmpty();
for (at = atl.first(); at; at = atl.next())
writeDoc |= !at->getDoc().isEmpty();
if( writeDoc ) //write method documentation
{
js << "/**" << m_endl << formatDoc(op->getDoc()," * ");
for (at = atl.first(); at; at = atl.next()) //write parameter documentation
{
if(forceDoc() || !at->getDoc().isEmpty())
{
js << " * @param " + cleanName(at->getName())<<m_endl;
js << formatDoc(at->getDoc()," * ");
}
}//end for : write parameter documentation
js << " */" << m_endl;
}//end if : write method documentation
js << classname << ".prototype." << cleanName(op->getName()) << " = function " << "(";
int i = atl.count();
int j=0;
for (at = atl.first(); at ;at = atl.next(),j++)
{
js << cleanName(at->getName())
<< (!(at->getInitialValue().isEmpty()) ? (QString(" = ")+at->getInitialValue()) : QString(""))
<< ((j < i-1)?", ":"");
}
js << ")" << m_endl << "{" << m_endl <<
m_indentation << m_endl << "}" << m_endl;
js << m_endl << m_endl;
}//end for
}
示例2: writeAttributes
void CSharpWriter::writeAttributes(UMLAttributeList &atList, QTextStream &cs) {
for (UMLAttribute *at = atList.first(); at ; at = atList.next()) {
bool asProperty = true;
if (at->getVisibility() == Uml::Visibility::Private) {
asProperty = false;
}
writeAttribute(at->getDoc(), at->getVisibility(), at->getStatic(),
makeLocalTypeName(at), at->getName(), at->getInitialValue(), asProperty, cs);
cs << m_endl;
} // end for
return;
}
示例3: printAttributes
void SQLWriter::printAttributes(QTextStream& sql, UMLAttributeList attributeList, bool first) {
QString attrDoc = "";
UMLAttribute* at;
for (at=attributeList.first();at;at=attributeList.next())
{
// print , after attribute
if (first == false) {
sql <<",";
} else {
first = false;
}
// print documentation/comment of last attribute at end of line
if (attrDoc.isEmpty() == false)
{
sql << " -- " << attrDoc << m_endl;
} else {
sql << m_endl;
}
// write the attribute
sql << m_indentation << cleanName(at->getName()) << " " << at->getTypeName() << " "
<< (at->getInitialValue().isEmpty()?QString(""):QString(" DEFAULT ")+at->getInitialValue());
// now get documentation/comment of current attribute
attrDoc = at->getDoc();
}
// print documentation/comment at end of line
if (attrDoc.isEmpty() == false)
{
sql << " -- " << attrDoc << m_endl;
} else {
sql << m_endl;
}
return;
}
示例4: writeOperations
void CSharpWriter::writeOperations(UMLOperationList opList,
QTextStream &cs, bool isInterface /* = false */,
bool isOverride /* = false */,
bool generateErrorStub /* = false */) {
for (UMLOperation *op=opList.first(); op ; op=opList.next()) {
UMLAttributeList atl = op->getParmList();
UMLAttribute *at;
//write method doc if we have doc || if at least one of the params has doc
bool writeDoc = forceDoc() || !op->getDoc().isEmpty();
for (at = atl.first(); at; at = atl.next()) {
writeDoc |= !at->getDoc().isEmpty();
}
//write method documentation
if (writeDoc && !isOverride)
{
cs << m_container_indent << m_indentation << "/// <summary>" << m_endl;
cs << formatDoc(op->getDoc(), m_container_indent + m_indentation + "/// ");
cs << m_container_indent << m_indentation << "/// </summary>" << m_endl;
//write parameter documentation
for (at = atl.first(); at; at = atl.next())
{
if (forceDoc() || !at->getDoc().isEmpty()) {
cs << m_container_indent << m_indentation << "/// <param name=\"" << cleanName(at->getName()) << "\">";
//removing newlines from parameter doc
cs << formatDoc(at->getDoc(), "").replace("\n", " ").remove('\r').replace(QRegExp(" $"), "");
cs << "</param>" << m_endl;
}
}
// FIXME: "returns" should contain documentation, not type.
cs << m_container_indent << m_indentation << "/// <returns>";
if (! op->getTypeName().isEmpty()) {
cs << makeLocalTypeName(op);
}
cs << "</returns>" << m_endl;
}
// method visibility
cs << m_container_indent << m_indentation;
if (!isInterface) {
if (!isOverride) {
if (op->getAbstract()) cs << "abstract ";
cs << op->getVisibility().toString() << " ";
if (op->getStatic()) cs << "static ";
}
else {
// method overriding an abstract parent
cs << op->getVisibility().toString() << " override ";
if (op->getStatic()) cs << "static ";
}
}
// return type (unless constructor, destructor)
if (!op->isLifeOperation()) {
if (op->getTypeName().isEmpty()) {
cs << "void ";
}
else {
cs << makeLocalTypeName(op) << " ";
}
}
// method name
cs << cleanName(op->getName()) << "(";
// method parameters
int i= atl.count();
int j=0;
for (at = atl.first(); at; at = atl.next(), j++) {
cs << makeLocalTypeName(at) << " " << cleanName(at->getName());
// no initial values in C#
//<< (!(at->getInitialValue().isEmpty()) ?
// (QString(" = ")+at->getInitialValue()) :
// QString(""))
cs << ((j < i-1)?", ":"");
}
cs << ")";
//FIXME: how to control generation of error stub?
if (!isInterface && (!op->getAbstract() || isOverride)) {
cs << m_endl << m_container_indent << m_indentation << "{" << m_endl;
if (generateErrorStub) {
cs << m_container_indent << m_indentation << m_indentation;
cs << "throw new Exception(\"The method or operation is not implemented.\");" << m_endl;
}
cs << m_container_indent << m_indentation << "}" << m_endl;
}
else {
cs << ';' << m_endl;
}
cs << m_endl;
}
//.........这里部分代码省略.........
示例5: writeClass
void JSWriter::writeClass(UMLClassifier *c)
{
if(!c)
{
kDebug()<<"Cannot write class of NULL concept!" << endl;
return;
}
QString classname = cleanName(c->getName());
QString fileName = c->getName().lower();
//find an appropriate name for our file
fileName = findFileName(c,".js");
if (fileName.isEmpty())
{
emit codeGenerated(c, false);
return;
}
QFile filejs;
if(!openFile(filejs, fileName))
{
emit codeGenerated(c, false);
return;
}
QTextStream js(&filejs);
//////////////////////////////
//Start generating the code!!
/////////////////////////////
//try to find a heading file (license, coments, etc)
QString str;
str = getHeadingFile(".js");
if(!str.isEmpty())
{
str.replace(QRegExp("%filename%"),fileName);
str.replace(QRegExp("%filepath%"),filejs.name());
js << str << m_endl;
}
//write includes
UMLPackageList includes;
findObjectsRelated(c,includes);
for (UMLPackage *conc = includes.first(); conc; conc = includes.next())
{
QString headerName = findFileName(conc, ".js");
if ( !headerName.isEmpty() )
{
js << "#include \"" << headerName << "\"" << m_endl;
}
}
js << m_endl;
//Write class Documentation if there is somthing or if force option
if(forceDoc() || !c->getDoc().isEmpty())
{
js << m_endl << "/**" << m_endl;
js << " * class " << classname << m_endl;
js << formatDoc(c->getDoc()," * ");
js << " */" << m_endl << m_endl;
}
//check if class is abstract and / or has abstract methods
if(c->getAbstract() && !hasAbstractOps(c))
js << "/******************************* Abstract Class ****************************" << m_endl << " "
<< classname << " does not have any pure virtual methods, but its author" << m_endl
<< " defined it as an abstract class, so you should not use it directly." << m_endl
<< " Inherit from it instead and create only objects from the derived classes" << m_endl
<< "*****************************************************************************/" << m_endl << m_endl;
js << classname << " = function ()" << m_endl;
js << "{" << m_endl;
js << m_indentation << "this._init ();" << m_endl;
js << "}" << m_endl;
js << m_endl;
UMLClassifierList superclasses = c->getSuperClasses();
for (UMLClassifier *obj = superclasses.first();
obj; obj = superclasses.next()) {
js << classname << ".prototype = new " << cleanName(obj->getName()) << " ();" << m_endl;
}
js << m_endl;
if (! c->isInterface()) {
UMLAttributeList atl = c->getAttributeList();
js << "/**" << m_endl;
QString temp = "_init sets all " + classname + " attributes to their default value."
" Make sure to call this method within your class constructor";
js << formatDoc(temp, " * ");
js << " */" << m_endl;
js << classname << ".prototype._init = function ()" << m_endl;
js << "{" << m_endl;
for(UMLAttribute *at = atl.first(); at ; at = atl.next())
{
//.........这里部分代码省略.........