本文整理汇总了C++中CodeGenerationPolicy::getAttributeAccessorScope方法的典型用法代码示例。如果您正苦于以下问题:C++ CodeGenerationPolicy::getAttributeAccessorScope方法的具体用法?C++ CodeGenerationPolicy::getAttributeAccessorScope怎么用?C++ CodeGenerationPolicy::getAttributeAccessorScope使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CodeGenerationPolicy
的用法示例。
在下文中一共展示了CodeGenerationPolicy::getAttributeAccessorScope方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CodeGenerationPolicyPage
JavaCodeGenerationPolicyPage::JavaCodeGenerationPolicyPage(QWidget *parent, const char *name, JavaCodeGenerationPolicy * policy)
: CodeGenerationPolicyPage(parent, name, policy)
{
CodeGenerationPolicy *commonPolicy = UMLApp::app()->commonPolicy();
form = new JavaCodeGenerationFormBase(this);
form->m_SelectCommentStyle->setCurrentIndex((int)(commonPolicy->getCommentStyle()));
form->m_generateConstructors->setChecked(commonPolicy->getAutoGenerateConstructors());
form->m_generateAttribAccessors->setChecked(policy->getAutoGenerateAttribAccessors());
form->m_generateAssocAccessors->setChecked(policy->getAutoGenerateAssocAccessors());
form->m_accessorScopeCB->setCurrentIndex(commonPolicy->getAttributeAccessorScope());
form->m_assocFieldScopeCB->setCurrentIndex(commonPolicy->getAssociationFieldScope());
/**
* @todo unclean - CreateANTBuildFile attribute should be in java policy
CodeGenerator *codegen = UMLApp::app()->getGenerator();
JavaCodeGenerator *javacodegen = dynamic_cast<JavaCodeGenerator*>(codegen);
if (javacodegen)
form->m_makeANTDocumentCheckBox->setChecked(javacodegen->getCreateANTBuildFile());
*/
}
示例2: updateMethodDeclaration
void DCodeAccessorMethod::updateMethodDeclaration()
{
DCodeClassField * dfield = dynamic_cast<DCodeClassField*>(getParentClassField());
// Check for dynamic casting failure!
if (dfield == 0)
{
uError() << "dfield: invalid dynamic cast";
return;
}
CodeGenerationPolicy *commonpolicy = UMLApp::app()->commonPolicy();
// gather defs
Uml::Visibility::Enum scopePolicy = commonpolicy->getAttributeAccessorScope();
QString strVis = Uml::Visibility::toString(dfield->getVisibility());
QString fieldName = dfield->getFieldName();
QString fieldType = dfield->getTypeName();
QString objectType = dfield->getListObjectType();
if(objectType.isEmpty())
objectType = fieldName;
QString endLine = UMLApp::app()->commonPolicy()->getNewLineEndingChars();
// set scope of this accessor appropriately..if its an attribute,
// we need to be more sophisticated
if (dfield->parentIsAttribute()) {
switch (scopePolicy) {
case Uml::Visibility::Public:
case Uml::Visibility::Private:
case Uml::Visibility::Protected:
strVis = Uml::Visibility::toString(scopePolicy);
break;
default:
case Uml::Visibility::FromParent:
// do nothing..already have taken parent value
break;
}
}
// some variables we will need to populate
QString headerText;
QString methodReturnType;
QString methodName;
QString methodParams;
switch(getType()) {
case CodeAccessorMethod::ADD:
methodName = QLatin1String("add") + Codegen_Utils::capitalizeFirstLetter(fieldType);
methodReturnType = QLatin1String("void");
methodParams = objectType + QLatin1String(" value ");
headerText = QLatin1String("Add an object of type ") + objectType + QLatin1String(" to the List ") + fieldName + endLine + getParentObject()->doc() + endLine + QLatin1String("@return void");
break;
case CodeAccessorMethod::GET:
methodName = QLatin1String("get") + Codegen_Utils::capitalizeFirstLetter(fieldName);
methodReturnType = fieldType;
headerText = QLatin1String("Get the value of ") + fieldName + endLine + getParentObject()->doc() + endLine + QLatin1String("@return the value of ") + fieldName;
break;
case CodeAccessorMethod::LIST:
methodName = QLatin1String("get") + Codegen_Utils::capitalizeFirstLetter(fieldType) + QLatin1String("List");
methodReturnType = QLatin1String("List");
headerText = QLatin1String("Get the list of ") + fieldName + endLine + getParentObject()->doc() + endLine + QLatin1String("@return List of ") + fieldName;
break;
case CodeAccessorMethod::REMOVE:
methodName = QLatin1String("remove") + Codegen_Utils::capitalizeFirstLetter(fieldType);
methodReturnType = QLatin1String("void");
methodParams = objectType + QLatin1String(" value ");
headerText = QLatin1String("Remove an object of type ") + objectType + QLatin1String(" from the List ") + fieldName + endLine + getParentObject()->doc();
break;
case CodeAccessorMethod::SET:
methodName = QLatin1String("set") + Codegen_Utils::capitalizeFirstLetter(fieldName);
methodReturnType = QLatin1String("void");
methodParams = fieldType + QLatin1String(" value ");
headerText = QLatin1String("Set the value of ") + fieldName + endLine + getParentObject()->doc() + endLine;
break;
default:
// do nothing..no idea what this is
uWarning()<<"Warning: cant generate DCodeAccessorMethod for type: "<<getType();
break;
}
// set header once.
if(getComment()->getText().isEmpty())
getComment()->setText(headerText);
// set start/end method text
setStartMethodText(strVis + QLatin1Char(' ') + methodReturnType + QLatin1Char(' ') + methodName + QLatin1String(" (") + methodParams + QLatin1String(") {"));
setEndMethodText(QLatin1String("}"));
}
示例3: updateMethodDeclaration
void JavaCodeAccessorMethod::updateMethodDeclaration()
{
JavaCodeClassField * javafield = dynamic_cast<JavaCodeClassField*>(getParentClassField());
JavaClassifierCodeDocument * javadoc = dynamic_cast<JavaClassifierCodeDocument*>(javafield->getParentDocument());
CodeGenerationPolicy *commonpolicy = UMLApp::app()->getCommonPolicy();
// gather defs
CodeGenerationPolicy::ScopePolicy scopePolicy = commonpolicy->getAttributeAccessorScope();
QString strVis = javadoc->scopeToJavaDecl(javafield->getVisibility());
QString fieldName = javafield->getFieldName();
QString fieldType = javafield->getTypeName();
QString objectType = javafield->getListObjectType();
if(objectType.isEmpty())
objectType = fieldName;
QString endLine = UMLApp::app()->getCommonPolicy()->getNewLineEndingChars();
// set scope of this accessor appropriately..if its an attribute,
// we need to be more sophisticated
if(javafield->parentIsAttribute())
switch (scopePolicy) {
case CodeGenerationPolicy::Public:
case CodeGenerationPolicy::Private:
case CodeGenerationPolicy::Protected:
strVis = javadoc->scopeToJavaDecl((Uml::Visibility::Value) scopePolicy);
break;
default:
case CodeGenerationPolicy::FromParent:
// do nothing..already have taken parent value
break;
}
// some variables we will need to populate
QString headerText = "";
QString methodReturnType = "";
QString methodName = "";
QString methodParams = "";
switch(getType()) {
case CodeAccessorMethod::ADD:
methodName = "add" + Codegen_Utils::capitalizeFirstLetter(fieldType);
methodReturnType = "void";
methodParams = objectType+" value ";
headerText = "Add an object of type "+objectType+" to the List "+fieldName+endLine+getParentObject()->getDoc()+endLine+"@return void";
break;
case CodeAccessorMethod::GET:
methodName = "get" + Codegen_Utils::capitalizeFirstLetter(fieldName);
methodReturnType = fieldType;
headerText = "Get the value of "+fieldName+endLine+getParentObject()->getDoc()+endLine+"@return the value of "+fieldName;
break;
case CodeAccessorMethod::LIST:
methodName = "get" + Codegen_Utils::capitalizeFirstLetter(fieldType)+"List";
methodReturnType = "List";
headerText = "Get the list of "+fieldName+endLine+getParentObject()->getDoc()+endLine+"@return List of "+fieldName;
break;
case CodeAccessorMethod::REMOVE:
methodName = "remove" + Codegen_Utils::capitalizeFirstLetter(fieldType);
methodReturnType = "void";
methodParams = objectType+" value ";
headerText = "Remove an object of type "+objectType+" from the List "+fieldName+endLine+getParentObject()->getDoc();
break;
case CodeAccessorMethod::SET:
methodName = "set" + Codegen_Utils::capitalizeFirstLetter(fieldName);
methodReturnType = "void";
methodParams = fieldType + " value ";
headerText = "Set the value of "+fieldName+endLine+getParentObject()->getDoc()+endLine;
break;
default:
// do nothing..no idea what this is
kWarning()<<"Warning: cant generate JavaCodeAccessorMethod for type: "<<getType()<<endl;
break;
}
// set header once.
if(getComment()->getText().isEmpty())
getComment()->setText(headerText);
// set start/end method text
setStartMethodText(strVis+' '+methodReturnType+' '+methodName+" ( "+methodParams+" ) {");
setEndMethodText("}");
}
示例4: updateMethodDeclaration
void RubyCodeAccessorMethod::updateMethodDeclaration()
{
RubyCodeClassField * rubyfield = dynamic_cast<RubyCodeClassField*>(getParentClassField());
RubyClassifierCodeDocument * rubydoc = dynamic_cast<RubyClassifierCodeDocument*>(rubyfield->getParentDocument());
// gather defs
CodeGenerationPolicy *p = UMLApp::app()->getCommonPolicy();
CodeGenerationPolicy::ScopePolicy scopePolicy = p->getAttributeAccessorScope();
QString strVis = rubydoc->scopeToRubyDecl(rubyfield->getVisibility());
QString fieldName = RubyCodeGenerator::cppToRubyName(rubyfield->getFieldName());
QString fieldType = RubyCodeGenerator::cppToRubyType(rubyfield->getTypeName());
QString objectType = rubyfield->getListObjectType();
if(objectType.isEmpty())
objectType = fieldName;
QString endLine = p->getNewLineEndingChars();
QString description = getParentObject()->getDoc();
description.replace(QRegExp("m_[npb](?=[A-Z])"), "");
description.replace("m_", "");
description.replace(QRegExp("[\\n\\r]+[\\t ]*"), endLine);
// set scope of this accessor appropriately..if its an attribute,
// we need to be more sophisticated
if(rubyfield->parentIsAttribute())
switch (scopePolicy) {
case CodeGenerationPolicy::Public:
case CodeGenerationPolicy::Private:
case CodeGenerationPolicy::Protected:
strVis = rubydoc->scopeToRubyDecl((Uml::Visibility::Value) scopePolicy);
break;
default:
case CodeGenerationPolicy::FromParent:
// do nothing..already have taken parent value
break;
}
// some variables we will need to populate
QString headerText = "";
QString methodReturnType = "";
QString methodName = "";
QString methodParams = "";
switch(getType()) {
case CodeAccessorMethod::ADD:
methodName = "add" + Codegen_Utils::capitalizeFirstLetter(fieldType);
methodReturnType = "";
methodParams = objectType+" value ";
headerText = "Add an object of type "+objectType+" to the Array "+fieldName+endLine+description+endLine+"@return nil";
setStartMethodText("def "+ methodName + '(' + methodParams + ')');
setEndMethodText("end");
break;
case CodeAccessorMethod::GET:
headerText = "Get the value of " + fieldName + endLine + description;
setStartMethodText(QString("attr_reader :") + fieldName);
setEndMethodText("");
break;
case CodeAccessorMethod::LIST:
methodName = "get" + Codegen_Utils::capitalizeFirstLetter(fieldType)+"List";
methodReturnType = "";
headerText = "Get the list of "+fieldName+endLine+description+endLine+"_returns_ List of "+fieldName;
setStartMethodText("def "+ methodName + '(' + methodParams + ')');
setEndMethodText("end");
break;
case CodeAccessorMethod::REMOVE:
methodName = "remove" + Codegen_Utils::capitalizeFirstLetter(fieldType);
methodReturnType = "";
methodParams = objectType+" value ";
headerText = "Remove an object of type "+objectType+" from the List "+fieldName+endLine+description;
setStartMethodText("def "+ methodName + '(' + methodParams + ')');
setEndMethodText("end");
break;
case CodeAccessorMethod::SET:
headerText = "Set the value of " + fieldName + endLine + description;
setStartMethodText(QString("attr_writer :") + fieldName);
setEndMethodText("");
break;
default:
// do nothing..no idea what this is
kWarning()<<"Warning: can't generate RubyCodeAccessorMethod for type: "<<getType()<<endl;
break;
}
// set header once.
if (getComment()->getText().isEmpty())
getComment()->setText(headerText);
}