home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / menudefine.tcl < prev    next >
Text File  |  1996-05-29  |  3KB  |  121 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1994
  4. #
  5. #      File:           @(#)menudefine.tcl    1.8
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)menudefine.tcl    1.8   12 Mar 1996 Copyright 1994 Westmount Technology
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "defstoredi.tcl"
  15.  
  16. Class MenuDefineDialog : {DefStoreDialog} {
  17.     constructor
  18.     method destructor
  19.     method createInterface
  20.     method clearInterface
  21.     method save
  22.     method objVisible
  23. }
  24.  
  25. constructor MenuDefineDialog {class this name} {
  26.     set this [DefStoreDialog::constructor $class $this $name]
  27.     # Start constructor user section
  28.     $this helpPressed { .main helpOnName editMenuProperties }    
  29.     # End constructor user section
  30.     return $this
  31. }
  32.  
  33. method MenuDefineDialog::destructor {this} {
  34.     # Start destructor user section
  35.     # End destructor user section
  36.     $this DefStoreDialog::destructor
  37. }
  38.  
  39. method MenuDefineDialog::createInterface {this} {
  40.  
  41.     $this DefStoreDialog::createInterface
  42.  
  43.     # add the visibility stuff
  44.  
  45.     interface NamedGroup [$this sPage].visibleNG {
  46.         verStretchFactor 0
  47.         label Visible
  48.         DlgColumn DC {
  49.             CheckButton corporateCB { label Corporate}
  50.             CheckButton projectCB { label Project}
  51.             CheckButton configCB { label Configuration}
  52.             CheckButton phaseCB { label Phase}
  53.             CheckButton systemCB { label System}
  54.         }
  55.     }
  56. }
  57.  
  58. method MenuDefineDialog::clearInterface {this} {
  59.  
  60.     $this DefStoreDialog::clearInterface
  61.  
  62.     [$this sPage].visibleNG.DC.corporateCB state 1
  63.     [$this sPage].visibleNG.DC.projectCB state 1
  64.     [$this sPage].visibleNG.DC.configCB state 1
  65.     [$this sPage].visibleNG.DC.phaseCB state 1
  66.     [$this sPage].visibleNG.DC.systemCB state 1
  67.  
  68. }
  69.  
  70. method MenuDefineDialog::save {this popDown} {
  71.  
  72.     set newLevel [$this determineSpecLevel [$this objScope]]
  73.     
  74.     set error [[$this curObject] check [$this objScope] [$this objVisible]\
  75.                     $newLevel [[$this curObject] parent]]
  76.     if {$error != ""} {
  77.         wmtkerror "$error : object not saved"
  78.     } else {
  79.         if {[$this DefineDialog::save $popDown] == 1} {
  80.             # reset redefined attribute
  81.             [$this curObject] redefined 0
  82.         }
  83.     }
  84. }
  85.  
  86. method MenuDefineDialog::objVisible {this args} {
  87.     
  88.     if {$args == ""} {
  89.         set vis "[[$this sPage].visibleNG.DC.corporateCB state]"
  90.         set vis "$vis [[$this sPage].visibleNG.DC.projectCB state]"
  91.         set vis "$vis [[$this sPage].visibleNG.DC.configCB state]"
  92.         set vis "$vis [[$this sPage].visibleNG.DC.phaseCB state]"
  93.         set vis "$vis [[$this sPage].visibleNG.DC.systemCB state]"
  94.         return $vis
  95.     } else {
  96.         set count 0
  97.         set args [lvarpop args]
  98.         foreach i $args {
  99.             if {$count == 0} {
  100.                 [$this sPage].visibleNG.DC.corporateCB state $i
  101.             } 
  102.             if {$count == 1} {
  103.                 [$this sPage].visibleNG.DC.projectCB state $i
  104.             } 
  105.             if {$count == 2} {
  106.                 [$this sPage].visibleNG.DC.configCB state $i
  107.             } 
  108.             if {$count == 3} {
  109.                 [$this sPage].visibleNG.DC.phaseCB state $i
  110.             } 
  111.             if {$count == 4} {
  112.                 [$this sPage].visibleNG.DC.systemCB state $i
  113.             } 
  114.             incr count
  115.         }
  116.     }
  117. }
  118.  
  119. # Do not delete this line -- regeneration end marker
  120.  
  121.