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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)repobjbrow.tcl    /main/titanic/6
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)repobjbrow.tcl    /main/titanic/6   17 Oct 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require "browstable.tcl"
  13. # End user added include file section
  14.  
  15. require "reptooldia.tcl"
  16.  
  17. Class RepObjBrowser : {RepToolDialog} {
  18.     constructor
  19.     method destructor
  20.     method selected
  21.     method selectedObject
  22.     method update
  23.     method popUp
  24.     method checkOk
  25.     method doubleClicked
  26.     method delCancelButton
  27.     attribute objLabel
  28.     attribute objList
  29.     attribute objMap
  30.     attribute statusLabel
  31.     attribute statusValue
  32.     attribute statusChange
  33.     attribute dirField
  34.         attribute cancelDeleted
  35. }
  36.  
  37. constructor RepObjBrowser {class this name view} {
  38.     set this [RepToolDialog::constructor $class $this $name $view]
  39.     # Start constructor user section
  40.  
  41.         interface DlgColumn $this.gui {
  42.         Label label { text "" }
  43.             BrowsTable objects {
  44.                 mode DETAIL
  45.                 selectionPolicy BROWSE
  46.                 rowCount 10
  47.                 columnCount 30
  48.             }
  49.             DlgRow d {
  50.         verShrinkFactor 0
  51.         verStretchFactor 0
  52.         Label l {
  53.                     text "Subdirectory:"
  54.             horStretchFactor 20
  55.         }
  56.                 SingleLineText dir {
  57.                     text ""
  58.             horShrinkFactor 80
  59.             horStretchFactor 80
  60.             columnCount 16
  61.                 }
  62.             }
  63.             DlgRow s {
  64.         verShrinkFactor 0
  65.         verStretchFactor 0
  66.         Label label {
  67.                     horStretchFactor 20
  68.                     text "Status"
  69.                 }
  70.                 Label value {
  71.                     horStretchFactor 60
  72.                     text "Value"
  73.                 }
  74.                 PushButton change {
  75.                     horStretchFactor 20
  76.                     label "Change"
  77.                 }
  78.             }
  79.         }
  80.  
  81.         $this objMap [Dictionary new]
  82.         $this objLabel $this.gui.label
  83.         $this objList $this.gui.objects
  84.     $this dirField $this.gui.d.dir
  85.     $this statusLabel $this.gui.s.label
  86.     $this statusValue $this.gui.s.value
  87.     $this statusChange $this.gui.s.change
  88.  
  89.         [$this objList] selectionChanged "$this checkOk; $this selectionChanged"
  90.         [$this objList] font [m4_var get M4_font -context repcorp]
  91.     [$this dirField] sensitive 0
  92.  
  93.     $this cancelDeleted 0
  94.  
  95.     # End constructor user section
  96.     return $this
  97. }
  98.  
  99. method RepObjBrowser::destructor {this} {
  100.     # Start destructor user section
  101.     # End destructor user section
  102.     $this RepToolDialog::destructor
  103. }
  104.  
  105. method RepObjBrowser::selected {this} {
  106.     return [[$this objList] selectedSet]
  107. }
  108.  
  109. method RepObjBrowser::selectedObject {this} {
  110.     set sel [[$this objList] selectedSet]
  111.     if [lempty $sel] {
  112.         return [ORB::nil]
  113.     }
  114.     set name [lindex [split $sel .] end]
  115.     return [[$this objMap] set $name]
  116. }
  117.  
  118. method RepObjBrowser::update {this} {
  119.     [$this objList] removeAllObjects
  120.     $this fillList
  121.     [$this objList] format
  122. }
  123.  
  124. method RepObjBrowser::popUp {this} {
  125.     set currSel [[$this objList] selectedSet]
  126.     $this update
  127.     [$this objList] selectedSet $currSel
  128.     $this checkOk
  129.     $this RepToolDialog::popUp
  130. }
  131.  
  132. method RepObjBrowser::checkOk {this} {
  133.     if [$this cancelDeleted] {
  134.     $this okSensitive 1
  135.     } else {
  136.     $this okSensitive [llength [[$this objList] selectedSet]]
  137.     }
  138. }
  139.  
  140. method RepObjBrowser::doubleClicked {this} {
  141.     if [$this okSensitive] {
  142.     eval [$this okPressed]
  143.     }
  144.     $this popDown
  145. }
  146.  
  147. method RepObjBrowser::delCancelButton {this} {
  148.     $this RepToolDialog::delCancelButton
  149.     $this cancelDeleted 1
  150. }
  151.  
  152. # Do not delete this line -- regeneration end marker
  153.  
  154.