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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)viewdefine.tcl    /main/titanic/4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)viewdefine.tcl    /main/titanic/4   23 Oct 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require commandpag.tcl
  13. require custfileut.tcl
  14. require propview.tcl
  15. # End user added include file section
  16.  
  17. require "defstoredi.tcl"
  18.  
  19. Class ViewDefineDialog : {DefStoreDialog} {
  20.     constructor
  21.     method destructor
  22.     method createInterface
  23.     method clearInterface
  24.     method sensitive
  25.     method fromInterface
  26.     method toInterface
  27.     method levelChanged
  28.     method associationChanged
  29.     method load
  30.     method save
  31.     method objName
  32.     method readAllMenuEntries
  33.     method createMenuObjects
  34.     method getRepTypeScope
  35.     method setRepTypeScope
  36.     method removeRepTypeScope
  37.     attribute iPage
  38.     attribute pPage
  39.     attribute sortPage
  40.     attribute allMenuEntries
  41.     attribute possibleMenuEntries
  42.     attribute repTypeScope
  43. }
  44.  
  45. constructor ViewDefineDialog {class this name} {
  46.     set this [DefStoreDialog::constructor $class $this $name]
  47.     $this repTypeScope [Dictionary new]
  48.     # Start constructor user section
  49.     $this readAllMenuEntries
  50.     $this helpPressed \
  51.         ".main helpOnName viewProp\[\[$this currentPage] label]Page"
  52.  
  53.     $this setRepTypeScope contents {
  54.         ConfigVersion        {0 0 1 0 0}
  55.         ControlledClass        {1 1 0 0 0}
  56.         ControlledClasses    {1 1 0 0 0}
  57.         Corporate        {1 0 0 0 0}
  58.         CorporateGroupVersion    {1 0 0 0 0}
  59.         CorporateGroupVersions    {1 0 0 0 0}
  60.         CustomFileVersions    {0 1 1 1 1}
  61.         CustomFiles        {1 0 0 0 0}
  62.         ExternalFileVersion    {1 0 0 0 1}    
  63.         ExternalLink        {0 0 0 0 1}    
  64.         Graph            {1 0 0 0 1}    
  65.         GroupVersion        {0 0 0 0 1}
  66.         Matrix            {1 0 0 0 1}    
  67.         PhaseVersion        {0 0 0 1 0}
  68.         Project            {0 1 0 0 0}
  69.         Role            {1 1 0 0 0}
  70.         Roles            {1 1 0 0 0}
  71.         SavedGroupVersion    {1 0 0 0 1}
  72.         SavedGroupVersions    {0 0 0 0 1}
  73.         SystemFileReference    {0 0 0 0 1}    
  74.         SystemVersion        {0 0 0 0 1}
  75.         DocumentVersion        {0 0 0 0 1}
  76.         UserCustomFiles        {1 0 0 0 0}
  77.         Users            {1 0 0 0 0}
  78.         WorkItems        {0 0 0 0 1}
  79.     }
  80.  
  81.     # read phases file
  82.     getPhases
  83.  
  84.     foreach phase ${BrowserProcs::phases} {
  85.         set phaseType [lindex $phase 1]
  86.         if [[$this repTypeScope] exists "$phaseType"] continue
  87.         $this setRepTypeScope "$phaseType" \
  88.             [$this getRepTypeScope PhaseVersion]
  89.     }
  90.  
  91.     # End constructor user section
  92.     return $this
  93. }
  94.  
  95. method ViewDefineDialog::destructor {this} {
  96.     # Start destructor user section
  97.     # End destructor user section
  98.     $this DefStoreDialog::destructor
  99. }
  100.  
  101. method ViewDefineDialog::createInterface {this} {
  102.  
  103.     #indentation of this function is 4 spaces to make it easier to read
  104.     $this DefStoreDialog::createInterface
  105.  
  106.     # create "interface" page
  107.     interface NoteBkPage $this.InterfaceNBP {
  108.         label Interface
  109.         NamedGroup NG { 
  110.             HorSplitter HS {
  111.                 DlgRow DR {
  112.                     verStretchFactor 0
  113.                     NamedGroup NG {
  114.                         label Name 
  115.                             SingleLineText nameSLT {}
  116.                     }
  117.                 }
  118.                 DlgRow DR {
  119.                     sizeEqual 1
  120.                     NamedGroup NG {
  121.                         label Associations 
  122.                         TextList  associationsTL { 
  123.                 rowCount 5
  124.                 selectionPolicy MULTIPLE
  125.                         }
  126.                     }
  127.                     NamedGroup NG {
  128.                         label Types 
  129.                         TextList  typesTL { 
  130.                 rowCount 5
  131.                 selectionPolicy MULTIPLE
  132.                         }
  133.                     }
  134.                 } 
  135.                 DlgRow DR {
  136.                     NamedGroup NG {
  137.                         label ToolBarEntries 
  138.                         TextList  toolBarEntriesTL { 
  139.                 rowCount 10
  140.                 selectionPolicy MULTIPLE
  141.                         }
  142.                     }
  143.                 }
  144.             } 
  145.         }
  146.     }
  147.     # create "properties" page
  148.     interface NoteBkPage $this.PropertyNBP {
  149.         label Properties
  150.         DlgColumn DC {    
  151.             NamedGroup NG {
  152.                 label "Visible Properties"
  153.         PropView propertiesBV {
  154.                     mode DETAIL
  155.                     rowCount 6
  156.                     BrowsHeader nameBH {
  157.                         label "Name"
  158.                         width 15
  159.                     }
  160.                     BrowsHeader widthBH {
  161.                         label "Width"
  162.                         width 8
  163.                     }
  164.                     BrowsHeader sortKindBH {
  165.                         label "Sort Kind"
  166.                         width 12
  167.                     }
  168.                     BrowsHeader sortPolBH {
  169.                         label "Sort Policy"
  170.                         width 12
  171.                     }
  172.                     BrowsHeader sortOrderBH {
  173.                         label "Sort Order"
  174.                         width 13
  175.                     }
  176.                 }
  177.             }
  178.             NamedGroup NG {
  179.                 label "Hidden Properties"
  180.         PropView hidpropertiesBV {
  181.                     mode DETAIL
  182.                     rowCount 6
  183.                     BrowsHeader nameBH {
  184.                         label "Name"
  185.                         width 15
  186.                     }
  187.                     BrowsHeader widthBH {
  188.                         label "Width"
  189.                         width 8
  190.                     }
  191.                     BrowsHeader sortKindBH {
  192.                         label "Sort Kind"
  193.                         width 12
  194.                     }
  195.                     BrowsHeader sortPolBH {
  196.                         label "Sort Policy"
  197.                         width 12
  198.                     }
  199.                     BrowsHeader sortOrderBH {
  200.                         label "Sort Order"
  201.                         width 13
  202.                     }
  203.                 }
  204.             }
  205.         }
  206.     }
  207.  
  208.     # create "sort command page" page
  209.     interface NoteBkPage $this.SortCommandNBP {
  210.         label "Sort Command"
  211.         NamedGroup NG {
  212.             label "Sort Command"
  213.             DlgColumn DC {
  214.                 SingleLineText sortProcSLT {
  215.                 }
  216.             }
  217.         } 
  218.     }
  219.  
  220.     $this iPage $this.InterfaceNBP.NG.HS.DR.NG
  221.     $this pPage $this.PropertyNBP.DC.NG
  222.     $this sortPage $this.SortCommandNBP.NG
  223.  
  224.     [$this iPage].associationsTL selectionChanged "$this associationChanged"
  225. }
  226.  
  227. method ViewDefineDialog::clearInterface {this} {
  228.     $this DefStoreDialog::clearInterface
  229.  
  230.     [$this iPage].nameSLT text ""
  231.     [$this iPage].associationsTL selectedSet {}
  232.     $this associationChanged
  233.     [$this iPage].typesTL selectedSet {}
  234.     [$this iPage].toolBarEntriesTL selectedSet {}
  235.  
  236.     [$this sortPage].DC.sortProcSLT text ""
  237.  
  238. }
  239.  
  240. method ViewDefineDialog::sensitive {this args} {
  241.     
  242.     $this DefStoreDialog::sensitive $args
  243.  
  244.     if {[llength $args] == 0} {
  245.             return [[$this iPage].nameSLT sensitive]
  246.     } else {
  247.         set sensitive [lindex $args 0]
  248.     }
  249.  
  250.     [$this iPage].nameSLT sensitive $sensitive
  251.     [$this iPage].associationsTL sensitive $sensitive
  252.     [$this iPage].typesTL sensitive $sensitive
  253.     [$this iPage].toolBarEntriesTL sensitive $sensitive
  254.  
  255.     [$this sortPage].DC.sortProcSLT sensitive $sensitive
  256.  
  257.     [$this pPage].propertiesBV sensitive $sensitive
  258.     [$this pPage].hidpropertiesBV sensitive $sensitive
  259.  
  260.     return $sensitive
  261. }
  262.  
  263. method ViewDefineDialog::fromInterface {this} {
  264.  
  265.     set sortCommand [[$this sortPage].DC.sortProcSLT text]
  266.     if ![CommandPage::checkBraces $sortCommand] {
  267.         wmtkerror "Brace mismatch in Sort Command"
  268.         return ""
  269.     }
  270.  
  271.     # save page "Interface"
  272.     set i [$this iPage]
  273.     set spec [list associations [$i.associationsTL selectedSet]]
  274.     lappend spec objectTypes [$i.typesTL selectedSet]
  275.  
  276.     #find the tcl name of the choosen entries
  277.     set selIdx [$i.toolBarEntriesTL selectedIndexSet]
  278.     set selObjects {}
  279.     set objects [$this possibleMenuEntries]
  280.     foreach i $selIdx {
  281.         lappend selObjects [lindex [lindex $objects $i] 1]
  282.     }
  283.     lappend spec toolBarEntries $selObjects
  284.  
  285.     # save page "Properties"
  286.     set props [[$this pPage].propertiesBV objectSet]
  287.  
  288.     set order {}
  289.     foreach prop [[$this pPage].propertiesBV objectSet] {
  290.         if {[lindex [$prop details] 2] != "none"} {
  291.              lappend order [lindex [$prop details] 3]
  292.         }
  293.     }
  294.  
  295.     set ordercount [expr {[llength $order] +1}]
  296.     # check if sortorder is correct
  297.     for {set i 1} {$i < $ordercount} {incr i} {
  298.         if {[lsearch $order $i] == -1} {
  299.             wmtkerror "Invalid sort order, order '$i' not found."
  300.             return ""
  301.         }
  302.     }
  303.  
  304.     set spec "$spec properties \{"
  305.     foreach prop [[$this pPage].propertiesBV objectSet] {
  306.         set details [$prop details]
  307.         if {[llength [$prop label]] != 1} {
  308.             set de \{[$prop label]\}
  309.         } else {
  310.             set de [$prop label]
  311.         }
  312.         lappend de "[lindex $details 0]"
  313.         lappend de "[lindex $details 1]"
  314.         set policy [lindex $details 2]
  315.         if {$policy != "none"} {
  316.                set lst [list "[lindex $details 2]" "[lindex $details 3]"]
  317.             lappend de $lst
  318.         } else {
  319.                set lst [lindex $details 2]
  320.             set de "$de \{$lst\}"
  321.         }
  322.         set spec "$spec \{$de\}\n\t\t\t\t"
  323.     }
  324.     set spec "$spec\}"
  325.  
  326.  
  327.     if {$sortCommand != ""} {
  328.         set spec "$spec sortScript \{$sortCommand\}"
  329.     }
  330.  
  331.     return $spec
  332. }
  333.  
  334. method ViewDefineDialog::toInterface {this key value} {
  335.  
  336.     # page "Interface"
  337.     if {$key == "displayName"} {
  338.         [$this iPage].nameSLT text $value
  339.         return
  340.     }
  341.  
  342.     if {$key == "associations"} { 
  343.         [$this iPage].associationsTL selectedSet $value
  344.         $this associationChanged
  345.         return
  346.     }
  347.  
  348.     if {$key == "objectTypes"} { 
  349.         [$this iPage].typesTL selectedSet $value
  350.         return
  351.     }
  352.  
  353.     if {$key == "toolBarEntries"} { 
  354.         #find the display name of the choosen entries
  355.         set selObjects $value
  356.         set selIdx {}
  357.         set selNames {}
  358.         set objects [$this possibleMenuEntries]
  359.  
  360.         foreach i $selObjects {
  361.             set count 0
  362.             foreach j $objects {
  363.                 if {$i == [lindex $j 1]} {
  364.                     lappend selIdx $count
  365.                 }
  366.                 incr count
  367.             }
  368.         }
  369.  
  370.         [$this iPage].toolBarEntriesTL selectedIndexSet $selIdx
  371.         return
  372.     }
  373.  
  374.     # page "Properties"
  375.     if {$key == "properties"} {
  376.         set propSet [[$this pPage].hidpropertiesBV objectSet]
  377.         set index 1
  378.         foreach i $value {
  379.             set propName [lindex $i 0]
  380.             foreach prop $propSet {
  381.                 if {![isCommand $prop]} {
  382.                     continue
  383.                 }
  384.                 if {$propName == [$prop label]} {
  385.                     set de [$prop details]
  386.                     set de [lreplace $de 0 0 [lindex $i 1]]
  387.                     set de [lreplace $de 1 1 [lindex $i 2]]
  388.                     set j [lindex $i 3]
  389.                     set de [lreplace $de 2 2 [lindex $j 0]]
  390.                     set de [lreplace $de 3 3 [lindex $j 1]]
  391.                     $prop details $de
  392.                     set prop [$prop reParent \
  393.                         [$this pPage].propertiesBV]
  394.                     $prop index $index
  395.                 }
  396.             }
  397.             incr index
  398.         }
  399.     }
  400.  
  401.     if {$key == "sortScript"} {
  402.             [$this sortPage].DC.sortProcSLT text $value
  403.     }
  404. }
  405.  
  406. method ViewDefineDialog::levelChanged {this newLevel} {
  407.  
  408.     set menus {}
  409.     set menuObjects {}
  410.  
  411.     foreach i [$this allMenuEntries] {
  412.  
  413.         set uiName [lindex $i 0]
  414.         set name [lindex $i 1]
  415.         set visible [lindex $i 2]
  416.         set scope [lindex $i 3]
  417.         # check if the object is visible on this level
  418.         if {[lindex $visible $newLevel] == 0 } {
  419.             continue
  420.         }
  421.  
  422.         if {[llength $scope] > [llength [$this objScope]]} {
  423.             continue
  424.         }
  425.  
  426.         set in 1
  427.         foreach x [$this objScope] {
  428.             set index 0
  429.             foreach y $x {
  430.             set z [lindex $scope $index]
  431.             if { $z != ""  && $z != "*" } {
  432.                 if {[lsearch $z $y] == -1} {
  433.                     set in 0
  434.                 }
  435.             }
  436.             incr index
  437.             }
  438.         }    
  439.         if { $in == 1 } {
  440.             lappend menus [format "%-25s path: %s" $uiName $name]
  441.             lappend menuObjects $i
  442.         }
  443.     }
  444.  
  445.     $this possibleMenuEntries $menuObjects
  446.     [$this iPage].toolBarEntriesTL entrySet $menus
  447. }
  448.  
  449. method ViewDefineDialog::associationChanged {this} {
  450.  
  451.     set typeList ""
  452.     set orgSelectedSet [[$this iPage].typesTL selectedSet]
  453.     set selAsso [[$this iPage].associationsTL selectedSet]
  454.     set class /
  455.  
  456.     foreach asso $selAsso {
  457.         set object [$this curObject]
  458.         set objClass [.main getBrowsObj [$object repositoryType]]
  459.  
  460.         # determine the right system type
  461.         if {$objClass == "SSysVDbObj"} {
  462.             # assocs are different for a Document
  463.             if {[$object browserType] == "DocumentVersion"} {
  464.                 set types [DSysVDbObj::childTypes $asso]
  465.             } else {
  466.                 # because if not possible to determine
  467.                 # the right phase, take all the possibilities
  468.                 set types [concat \
  469.                     [PSysVDbObj::childTypes $asso] \
  470.                     [SSysVDbObj::childTypes $asso]]
  471.             }
  472.         } else {
  473.             set types [$objClass::childTypes $asso]
  474.         }
  475.         foreach i $types {
  476.             set idx [lsearch $typeList $i]
  477.             # if this type is not in the current list, add it
  478.             if {$idx == -1} {
  479.                 set typeList [concat $typeList $i]
  480.             }
  481.         }
  482.     }
  483.  
  484.     [$this iPage].typesTL entrySet $typeList
  485.     [$this iPage].typesTL selectedSet $orgSelectedSet
  486. }
  487.  
  488. method ViewDefineDialog::load {this object} {
  489.  
  490.     set associations ""
  491.     # get all the associations of the current loaded object
  492.     set objClass [.main getBrowsObj [$object repositoryType]]
  493.  
  494.     if {$objClass == "SSysVDbObj"} {
  495.         # assocs are different for a Document
  496.         if {[$object browserType] == "DocumentVersion"} {
  497.             set objClass DSysVDbObj
  498.         } else {
  499.             set objClass PSysVDbObj
  500.         }
  501.     }
  502.  
  503.     if {![isCommand $objClass]} {
  504.         wmtkmessage "No associations found for type \
  505.             '[$object repositoryType]'"
  506.     } else {
  507.         foreach i [$objClass::associations] {
  508.             #if this associations is not in the current list, add it
  509.             if { [lsearch $associations $i] == -1} {
  510.                 lappend associations $i
  511.             }
  512.         }
  513.     }
  514.  
  515.     # get the associationsClasses of the objClass
  516.     # from these classes the infoProperties must be shown
  517.     
  518.     set infoProps ""
  519.     set assocClasses ""
  520.     # get all the infoProps of the associationsClasses
  521.     foreach association $associations {
  522.         case "$association" in {
  523.             {customFileVersions} {
  524.             set assocClasses {CustFVDbObj} 
  525.             }
  526.             {directFileVersions fileVersions localFileVersions} {
  527.             set assocClasses {ExtFVDbObj GraphVDbObj MtrxVDbObj}
  528.             }
  529.             {definedItems} {
  530.             set assocClasses {WItemDbObj}
  531.             }
  532.             {externalFiles} {
  533.             set assocClasses {ExtFUiObj}
  534.             }
  535.             {externalLinks} {
  536.             set assocClasses {ExtLDbObj}
  537.             }
  538.             {fileVersionReferences} {
  539.             set assocClasses {SFileLDbObj}
  540.             }
  541.             {phaseVersions} {
  542.             set assocClasses {PhaseVDbObj}
  543.             }
  544.             {roleLinks userLinks} {
  545.             set assocClasses {UsrLDbObj}
  546.             }
  547.             {rules} {
  548.             set assocClasses {RuleUiObj} 
  549.             }
  550.             {sections} {
  551.             set assocClasses \
  552.                 {ExtFVDbObj SFileLDbObj FilePRDbObj ItemPRDbObj} 
  553.             }
  554.             {default} {
  555.             set childTypes [$objClass::childTypes $association]
  556.             set assocClasses ""
  557.             foreach childType $childTypes {
  558.                 lappend assocClasses [.main getBrowsObj $childType]
  559.             }
  560.             }
  561.         }
  562.  
  563.         foreach class $assocClasses {
  564.             if {![isCommand $class::infoProperties]} {
  565.                 continue
  566.             }
  567.             foreach prop [$class::infoProperties] {
  568.                 # if this infoProp is not in the current list, 
  569.                 # add it
  570.                 if { [lsearch $infoProps $prop] == -1} {
  571.                     lappend infoProps $prop
  572.                 }
  573.             }
  574.         }
  575.     }
  576.  
  577.     [$this iPage].associationsTL entrySet $associations
  578.     # refresh the types that belongs to the new associations
  579.     $this associationChanged
  580.  
  581.     set props [$this pPage].propertiesBV
  582.  
  583.     # delete the old propertyList 
  584.     foreach row [[$this pPage].propertiesBV objectSet] {
  585.         $row delete
  586.     }
  587.     foreach row [[$this pPage].hidpropertiesBV objectSet] {
  588.         $row delete
  589.     }
  590.  
  591.     # build the new propertyList
  592.     set index 0
  593.     set props [$this pPage].hidpropertiesBV
  594.     foreach i $infoProps {
  595.         PropViewObject new $props.$index
  596.         $props.$index label $i
  597.         $props.$index details "10 ascii none {}"
  598.         incr index
  599.     }
  600.  
  601.     $this DefineDialog::load $object
  602.  
  603.     if [$object editable] {
  604.         $this sensitive 1
  605.     } else {
  606.         $this sensitive 0
  607.     }
  608. }
  609.  
  610. method ViewDefineDialog::save {this popDown} {
  611.  
  612.     if {![[$this curObject] editable]} {
  613.         if {$popDown == 1} {
  614.             $this popDown
  615.         }
  616.         return
  617.     }
  618.  
  619.     # check if level is correct
  620.     set objScope [$this objScope]
  621.     set repType [[$this curObject] repositoryType]
  622.     set validScope [$this getRepTypeScope $repType]
  623.     set index [llength $objScope]
  624.  
  625.     if {$validScope == "" || [lindex $validScope $index]} {
  626.         if {[$this DefineDialog::save $popDown] == 1} {
  627.             # reset redefined attribute
  628.             [$this curObject] redefined 0
  629.         }
  630.     } else {
  631.         wmtkerror "Invalid scope specified for view of repository type \
  632.             '$repType'."
  633.     }
  634. }
  635.  
  636. method ViewDefineDialog::objName {this args} {
  637.  
  638.     if {$args == ""} {
  639.         return [[$this iPage].nameSLT text]
  640.     } else {
  641.         [$this iPage].nameSLT text [join $args]
  642.     }
  643. }
  644.  
  645. method ViewDefineDialog::readAllMenuEntries {this} {
  646.  
  647.     # use the current object to get all the specified menu's
  648.     # for this we need 'context' again
  649.     # don't read 'user' if it's curLevel is not 'user'
  650.  
  651.     set menuName [[.main editorArea] _curName]
  652.  
  653.     eval "proc registerObject {spec} {$this createMenuObjects \$spec}"
  654.  
  655.     if { [[.main editorArea] _level] == "user"} {
  656.         # read always corporate
  657.         set corp [[ClientContext::global] currentCorporate]
  658.         CustFileUtilities::read $corp $menuName mnu etc
  659.         set file [path_name concat \
  660.             [path_name concat ~ icase] $menuName.mnu \
  661.                 ]
  662.         read_if_exist $file
  663.     } else {
  664.         foreach level [[.main editorArea] _path] {
  665.             CustFileUtilities::read $level $menuName mnu etc
  666.         }
  667.     }
  668. }
  669.  
  670. method ViewDefineDialog::createMenuObjects {this spec} {
  671.  
  672.     set objType ""
  673.     set objName ""
  674.     set objVisible ""
  675.     set objScope ""
  676.     set objUiName ""
  677.     set objPixmap ""
  678.  
  679.     if {[string first toolBarPixmap $spec] == -1} {
  680.         return
  681.     }
  682.  
  683.     while {![lempty $spec]} {
  684.         set key [lvarpop spec]
  685.         set value [lvarpop spec]
  686.         if {$key == "type"} {
  687.             set objType $value
  688.             if {$objType != "CustMenuPushButton" &&
  689.                 $objType != "CheckButtonNode" &&
  690.                     $objType != "CustMenuRadioButton"} {
  691.                 return
  692.             }
  693.         } elseif {$key == "name"} {
  694.             set objName $value
  695.         } elseif {$key == "visible"} {
  696.             set objVisible $value
  697.         } elseif {$key == "scope"} {
  698.             set objScope $value
  699.         } elseif {$key == "objSpec"} {
  700.             # the label of the object itself is needed too
  701.             while {![lempty $value]} {
  702.                 set key [lvarpop value]
  703.                 set labelValue [lvarpop value]
  704.                 if {$key == "label"} {
  705.                     set objUiName $labelValue
  706.                 } elseif {$key == "toolBarPixmap"} {
  707.                     set objPixmap $labelValue
  708.                 }
  709.             }
  710.         }
  711.     }
  712.  
  713.     if {$objType == ""} {
  714.         return
  715.     }
  716.  
  717.     if {$objPixmap == ""} {
  718.         return
  719.     }
  720.  
  721.     $this allMenuEntries "[$this allMenuEntries] \{\"$objUiName\" \
  722.         $objName \"$objVisible\" \"$objScope\"\}"
  723. }
  724.  
  725. # Do not delete this line -- regeneration end marker
  726.  
  727. method ViewDefineDialog::getRepTypeScope {this name} {
  728.     return [[$this repTypeScope] set $name]
  729. }
  730.  
  731. method ViewDefineDialog::setRepTypeScope {this name newRepTypeScope} {
  732.     [$this repTypeScope] set $name $newRepTypeScope
  733. }
  734.  
  735. method ViewDefineDialog::removeRepTypeScope {this name} {
  736.     [$this repTypeScope] unset $name
  737. }
  738.