home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / openbyname.tcl < prev    next >
Text File  |  1997-07-23  |  3KB  |  93 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1994
  4. #
  5. #      File:           @(#)openbyname.tcl    /main/titanic/5
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)openbyname.tcl    /main/titanic/5   23 Jul 1997 Copyright 1994 Westmount Technology
  10.  
  11. # Start user added include file section
  12.  
  13. if {[info commands SelectionDialog] == ""} {
  14.     require pcsel.tcl
  15. }
  16.  
  17. # End user added include file section
  18.  
  19.  
  20. Class OpenByName : {SelectionDialog} {
  21.     constructor
  22.     method destructor
  23.     method popUp
  24.     method handleOk
  25.     attribute filevList
  26.     attribute fileNameList
  27.     attribute editor
  28. }
  29.  
  30. constructor OpenByName {class this name} {
  31.     set this [SelectionDialog::constructor $class $this $name]
  32.     # Start constructor user section
  33.     $this config -okPressed {%this handleOk} \
  34.              -helpPressed {.main helpOnName openByName} \
  35.              -rowCount 10 \
  36.              -modal $win95 \
  37.              -message "Select diagram to open:" \
  38.              -title "Open By Name"
  39.     # End constructor user section
  40.     return $this
  41. }
  42.  
  43. method OpenByName::destructor {this} {
  44.     # Start destructor user section
  45.     # End destructor user section
  46. }
  47.  
  48. method OpenByName::popUp {this} {
  49.     set ed [$this editor]
  50.     set cc [ClientContext::global]
  51.     set sysV [$cc currentSystem]
  52.     set type [$ed diagramType]
  53.     set fileVersions [$sysV localFileVersions]
  54.     set myTypeFileList ""
  55.     set myTypeNameList ""
  56.     foreach fv $fileVersions {
  57.         if {[[$fv file] type] == "$type"} {
  58.             lappend myTypeFileList $fv
  59.             lappend myTypeNameList [[$fv file] name]
  60.         }
  61.     }
  62.     $this filevList $myTypeFileList
  63.     $this fileNameList $myTypeNameList
  64.     $this entrySet [lsort $myTypeNameList]
  65.     $this SelectionDialog::popUp
  66. }
  67.  
  68. method OpenByName::handleOk {this} {
  69.     set ed [$this editor]
  70.     set cc [ClientContext::global]
  71.     set selected [rmWhiteSpace [$this text]]
  72.     set index [lsearch -exact [$this fileNameList] $selected]
  73.     if {$index == -1} {
  74.         busy {
  75.             wmtkmessage "Creating '$selected.$type'"
  76.             set sysV [$cc currentSystem]
  77.             set configV [$cc currentConfig]
  78.             set type [$ed diagramType]
  79.             set itemType [file2itemtype $type]
  80.             set scopePhase [fileHasScopePhase $type]
  81.             set newFile [$sysV createFileVersion \
  82.                     $selected $itemType $scopePhase \
  83.                     $type graph $configV]
  84.         }
  85.     } else {
  86.         set newFile [lindex [$this filevList] $index]
  87.     }
  88.     $ed doEdit [$cc createPath $newFile]
  89. }
  90.  
  91. # Do not delete this line -- regeneration end marker
  92.  
  93.