|
||||||
SUMMARY: CHILDREN | PARAMETER | INSTPROC | INSTFILTER | INSTFORWARD | DETAIL: | INSTPROC |
::xotcl::Object | +--::xodocument::HtmlDocument | +--::xodocument::LimitedDocument
Variables | |||
Name | Default Value | Class | Comment |
classList |
::xodocument::HtmlDocument | ||
namespaces |
::xodocument::HtmlDocument | ||
navbar |
::xodocument::HtmlDocument | ||
project |
::xodocument::HtmlDocument | ||
stylesheet |
::xodocument::HtmlDocument | ||
tclformatter |
::xodocument::HtmlDocument |
Methods | |
Name | Comment |
makeClassDetail {dir class}
| |
putsAllParameterSummary {file class}
| |
putsInstprocDetail {file class}
| |
putsMethodSummary {file class}
|
Methods from ::xotcl::Object |
#, ., ?, ?code, ?methods, ?object, abstract, copy, coverageFilter, defaultmethod, extractConfigureArg, filterappend, get#, getClean#, hasclass, init, methodTag, mixinappend, move, profileFilter, self, setParameterDefaults, shell, tclcmd, traceFilter,
|
Instproc Detail |
dir
class
::xodocument::TestAssertDocument instproc makeClassDetail {dir class} { set file [ open [ file join $dir [ my cleanUpLink $class].html ] w ] my putsHeader [ namespace tail $class ] $file [ my navbar ] selectClass [ my cleanUpLink [ namespace qualifiers $class ] ]-summary.html [ my navbar ] putsNavBar $file puts $file " <HR> <!-- ======== START OF CLASS DATA ======== --> <H2> <FONT SIZE=\"-1\"> [ namespace qualifiers $class ]</FONT> <BR> Class [ namespace tail $class ]</H2> " puts -nonewline $file " <DL> <DT> Class <b> [ namespace tail $class ] </b> <DT> superclass " set superclasses [ $class info superclass ] foreach superclass $superclasses { puts -nonewline $file "[my getClassLinkIfAvail $superclass $superclass ]," } puts $file "</DL>" puts $file "<pre>" puts $file [ my getComment $class [ namespace tail $class ] ] puts $file "</pre>" my putsAllParameterSummary $file $class my putsMethodSummary $file $class my putsInstprocDetail $file $class flush $file close $file }
file
class
::xodocument::TestAssertDocument instproc putsAllParameterSummary {file class} { puts $file " <!-- =========== Parameter SUMMARY =========== --> <A NAME=\"parameter_summary\"><!-- --></A> <TABLE BORDER=\"1\" CELLPADDING=\"3\" CELLSPACING=\"0\" WIDTH=\"100%\"> <TR BGCOLOR=\"#CCCCFF\" CLASS=\"TableHeadingColor\"> <TD COLSPAN=4><FONT SIZE=\"+2\"> <B>Variables</B></FONT></TD> </TR> <TR BGCOLOR=\"#CCCCFF\" CLASS=\"TableRowColor\"> <TD>Name</TD><TD>Default Value</TD><TD>Class</TD><TD>Comment</TD> </TR> " set classes "" foreach class [ concat $class [ $class info heritage ] ] { set classes [ concat $classes $class [ $class info instmixin ] ] } foreach class $classes { if { ! [ my isClassAvailable $class ] } { continue } foreach parameterDefault [ $class info parameter ] { set parameter [ lindex $parameterDefault 0 ] set defaultValue [ lindex $parameterDefault 1 ] if { "" == "$defaultValue" } { if { [ llength $parameterDefault ] == 2 } { set defaultValue {""} } } if { ! [ info exists parameterValues($parameter) ] } { set parameterValues($parameter) $defaultValue } if { ! [ info exists parameterComments($parameter) ] } { set parameterComments($parameter) [ my getComment $class $parameter ] } set parameterClasses($parameter) $class } } foreach parameter [ lsort [ array names parameterValues ] ] { puts $file " <TR BGCOLOR=\"white\" CLASS=\"TableRowColor\"> <TD><CODE><B>${parameter}</B></CODE></TD> <TD> $parameterValues($parameter)</TD> <TD> [ my getClassLinkIfAvail $parameterClasses($parameter) $parameterClasses($parameter) ]</TD> <TD><pre> $parameterComments($parameter)</pre></TD> </TR> " } puts $file " </TABLE> " }
file
class
::xodocument::TestAssertDocument instproc putsInstprocDetail {file class} { if { "" == "[ $class info instprocs ]" } { return } puts $file " <!-- ============ INSTPROC DETAIL ========== --> <A NAME=\"instproc_detail\"><!-- --></A> <TABLE BORDER=\"1\" CELLPADDING=\"3\" CELLSPACING=\"0\" WIDTH=\"100%\"> <TR BGCOLOR=\"#CCCCFF\" CLASS=\"TableHeadingColor\"> <TD COLSPAN=1><FONT SIZE=\"+2\"> <B>Assert and Test Detail</B></FONT></TD> </TR> </TABLE> " foreach instproc [ lsort [ $class info instprocs ] ] { if { ( [ string first test $instproc ] != -1 ) || ( [ string first assert $instproc ] != -1 ) || ( [ string first fail $instproc ] != -1 ) } { puts $file " <A NAME=\"[ my cleanUpLink $instproc]\"><!-- --></A><H3> ${instproc}</H3> <dl> <dt> <b> Description: </b> </dt><dd><PRE><font color=\"green\"> [ my getComment $class $instproc ]</font></PRE></dd>" if { "" != [ $class info instargs $instproc ] } { puts $file "<dt> <b> Arguments: </b> </dt>" puts $file "<dd><ul>" foreach instarg [ $class info instargs $instproc ] { if [ $class info instdefault $instproc $instarg defaultValue ] { if { "" == "$defaultValue" } { set defaultValue {""} } puts $file "<li> <code>$instarg</code> - optional, default value: <code>$defaultValue</code> </li>" } else { puts $file "<li><code>$instarg</code> </li>" } } puts $file "</ul></dd>" } set overridenClass "" foreach superclass [ $class info superclass ] { set overridenClass [ ::xox::ObjectGraph findFirstImplementation $superclass $instproc ] if { "" != "$overridenClass" } { break } } if { "" != "$overridenClass" } { puts $file "<dt> <b> Overrides: </b> </dt>" puts $file "<dd>[my getClassLinkIfAvail $overridenClass $instproc _self $instproc ] in [my getClassLinkIfAvail $overridenClass $overridenClass ]</dd>" } puts $file "<dt> <b> Code: </b> </dt> <dd><PRE> <b> ${class} instproc [ my getInstprocSummary $class $instproc ] </b> \{ [ my cleanUpDataForHtml [ $class info instbody $instproc ] ] \} </PRE></dd> <HR></dl> " } } }
file
class
::xodocument::TestAssertDocument instproc putsMethodSummary {file class} { puts $file " <!-- =========== Instproc SUMMARY =========== --> <A NAME=\"instproc_summary\"><!-- --></A> <TABLE BORDER=\"1\" CELLPADDING=\"3\" CELLSPACING=\"0\" WIDTH=\"100%\"> <TR BGCOLOR=\"#CCCCFF\" CLASS=\"TableHeadingColor\"> <TD COLSPAN=2><FONT SIZE=\"+2\"> <B>Asserts and Tests</B></FONT></TD> </TR> <TR BGCOLOR=\"#CCCCFF\" CLASS=\"TableRowColor\"> <TD>Name</TD><TD>Comment</TD> </TR> " set classes "" foreach class [ concat $class [ $class info heritage ] ] { set classes [ concat $classes $class [ $class info instmixin ] ] } foreach class $classes { if { ! [ my isClassAvailable $class ] } { continue } foreach instproc [ lsort [ $class info instprocs ] ] { if { ( [ string first test $instproc ] != -1 ) || ( [ string first assert $instproc ] != -1 ) || ( [ string first fail $instproc ] != -1 ) } { if { ! [ info exists methodClass($instproc) ] } { set methodClass($instproc) $class } } } } foreach instproc [ lsort -dictionary [ array names methodClass ] ] { set class $methodClass($instproc) puts $file " <TR BGCOLOR=\"white\" CLASS=\"TableRowColor\"> <TD><CODE> [ my getInstprocSummary $class $instproc ] </CODE> </TD><TD> [ my getShortComment $class $instproc ] </TD> </TR> " } puts $file " </TABLE> " }