home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / checkutil.tcl < prev    next >
Text File  |  1997-05-14  |  2KB  |  94 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)checkutil.tcl    /main/titanic/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)checkutil.tcl    /main/titanic/2   14 May 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14.  
  15. Class CheckUtil : {Object} {
  16.     constructor
  17.     method destructor
  18. }
  19.  
  20. constructor CheckUtil {class this} {
  21.     set this [Object::constructor $class $this]
  22.     # Start constructor user section
  23.     # End constructor user section
  24.     return $this
  25. }
  26.  
  27. method CheckUtil::destructor {this} {
  28.     # Start destructor user section
  29.     # End destructor user section
  30. }
  31.  
  32. proc CheckUtil::showErrors {} {
  33.     #
  34.     # Function to show the errors and warnings.
  35.     #
  36.     m4_message $M_NEWLINE
  37.     m4_message $M_ERRORS [M4CheckManager::getErrorCount]
  38.     m4_message $M_WARNINGS [M4CheckManager::getWarningCount]
  39. }
  40.  
  41. proc CheckUtil::addAttributes {obj attrs} {
  42.     #
  43.     # Set/Add attributes of an object.
  44.     # Useful to set attributes of oopl objects created using add_class,
  45.     # add_operation, add_super_class.
  46.     #
  47.     foreach attr $attrs {
  48.     $obj addRunTimeProperty [lindex $attr 0] [lindex $attr 1]
  49.     }
  50. }
  51.  
  52. proc CheckUtil::getDiagram {obj} {
  53.     #
  54.     # Given an object with the attributes 'diagram_name' and 'diagram_type',
  55.     # return a string that concatenates these two.
  56.     #
  57.     return "[$obj getDiagramName].[$obj getDiagramType]"
  58. }
  59.  
  60. proc CheckUtil::isUniqueNameList {names} {
  61.     #
  62.     # Return 0 if all names in the given list are unique, 1 if one or more
  63.     # names occur more than once.
  64.     #
  65.     while {![lempty $names]} {
  66.     set p [lindex $names 0]
  67.     set names [lreplace $names 0 0]
  68.     if {[lsearch $names $p] != -1} {
  69.         return 0
  70.     }
  71.     }
  72.     return 1
  73. }
  74.  
  75. proc CheckUtil::findUniqueNames {names} {
  76.     #
  77.     # Return a list of all unique names present in the passed list.
  78.     #
  79.     set unique {}
  80.     foreach n $names {
  81.     if {[lsearch -exact $unique $n] == -1} {
  82.         lappend unique $n
  83.     }
  84.     }
  85.     return $unique
  86. }
  87.  
  88. proc CheckUtil::debug {arg} {
  89.     if{$debug}{puts stderr "  ** $arg **"}
  90. }
  91.  
  92. # Do not delete this line -- regeneration end marker
  93.  
  94.