@
//note: the predefined function \samp{getMarkupKey()} returns the name of the markup
//note: to expand,
if getMarkupKey() == "classes presentation" {
//note: the markup is worth "classes presentation", and so, we'll describe all classes
foreach i in project.listOfClasses {
@
@
//note: a protected area is embedded here, which has to be populated by hand into the
//note: expanded file for describing the class,
setProtectedArea(i.name + ":presentation");
if !isEmpty(i.listOfAttributes) {
//note: attributes are presented into a table,
@
Type |
Attribute name |
Description |
@
foreach j in i.listOfAttributes {
//note: the language into which types have to be expressed is given by \samp{this.language},
//note: and is worth "C++" or "JAVA" ; don't forget to convert the type to the HTML syntax,
//note: because of \textbf{'<'} or \textbf{'>'} to convert respectively to \textbf{'\<'}
//note: or \textbf{'\>'} for instance. Use the predefined function
//note: \samp{composeHTMLLikeString()} to do this process.
@
@composeHTMLLikeString(getType (j.type))@ |
@j.name@ |
@
//note: a protected area is embedded here, which has to be populated by hand into the
//note: expanded file for describing the attribute,
setProtectedArea(i.name + "::" + j.name + ":description");
@
|
@
}
@
@
}
if !isEmpty(i.listOfMethods) {
@
@
foreach j in i.listOfMethods {
//note: methods are presented into unordered lists,
@ - @
if existVariable(j.type) {
@function @composeHTMLLikeString(getType (j.type))@ @
} else {
@procedure@
}
@@j.name@(@
foreach k in j.listOfParameters {
if !first(k) {
@, @
}
@@composeHTMLLikeString(getParameterType (k.type, k.mode))@ @getVariableName(k.name, k.type)@@
}
@)
@
//note: a protected area is embedded here, which has to be populated by hand into the
//note: expanded file for describing the method,
setProtectedArea(i.name + "::" + getMethodID(j) + ":description");
@
@
}
@
@
}
}
}