'***Patrick Rutledge, Rational Support 'This script fills documentation fields with a template for comments. 'It operates onthe oeprations of selected classes and on selected modules. Const NewLine$ = Chr$(13) + Chr$(10) Function DocTemplate () As String newDoc$ = "Description:" + NewLine + NewLine newDoc$ = newDoc$ + "Remarks:" + NewLine + NewLine newDoc$ = newDoc$ + "Notes:" + NewLine + NewLine newDoc$ = newDoc$ + "ToDo:" + NewLine DocTemplate = newDoc$ End Function Function OpDocTemplate (inOp As Operation) As String Dim theParam As Parameter newDoc$ = "Description:" + NewLine + NewLine newDoc$ = newDoc$ + "Parameters:" + NewLine For i = 1 To inOp.Parameters.Count Set theParam = inOp.Parameters.GetAt(i) newDoc$ = newDoc$ + theParam.name + " " + theParam.Type + NewLine Next i newDoc$ = newDoc$ + NewLine newDoc$ = newDoc$ + "Remarks:" + NewLine + NewLine newDoc$ = newDoc$ + "Notes:" + NewLine + NewLine newDoc$ = newDoc$ + "ToDo:" + NewLine OpDocTemplate = newDoc$ End Function Sub DoClasses Dim selClasses As ClassCollection Dim theClass As Class Dim theOp As Operation Set selClasses = RoseApp.CurrentModel.GetSelectedClasses() If selClasses.Count = 0 Then Exit Sub End If For i = 1 To selClasses.Count Set theClass = selClasses.GetAt(i) If theClass.Documentation = "" Then theClass.Documentation = DocTemplate RoseApp.WriteErrorLog theClass.name End If For j = 1 To theClass.Operations.Count Set theOp = theClass.Operations.GetAt(j) If theOp.Documentation = "" Then theOp.Documentation = OpDocTemplate(theOp) RoseApp.WriteErrorLog theClass.name & "::" & theOp.name & "()" End If Next j Next i End Sub Sub DoModules Dim selModules As ModuleCollection Dim theMod As Module Set selModules = RoseApp.CurrentModel.GetSelectedModules() If selModules.Count = 0 Then Exit Sub End If For i = 1 To selModules.Count Set theMod = selModules.GetAt(i) If theMod.Documentation = "" Then theMod.Documentation = DocTemplate RoseApp.WriteErrorLog theMod.name End If Next i End Sub Sub Main RoseApp.WriteErrorLog "Generate documentation templates" DoClasses DoModules RoseApp.WriteErrorLog "Done" MsgBox "Done" End Sub