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

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1996
  4. #
  5. #      File:           @(#)csconfigvi.tcl    /main/titanic/13
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)csconfigvi.tcl    /main/titanic/13   17 Oct 1997 Copyright 1996 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require "cstree.tcl"
  13. # End user added include file section
  14.  
  15. require "reptoolvie.tcl"
  16.  
  17. Class CSConfigView : {RepToolView} {
  18.     method destructor
  19.     constructor
  20.     method initialize
  21.     method selectedObjSet
  22.     method selectionChanged
  23.     method update
  24.     method canDelete
  25.     method canReload
  26.     method canChangeServerEntry
  27.     method canChangeParameters
  28.     method canShowLog
  29.     method canLogRegistrations
  30.     method canLogMessage
  31.     method canShutdown
  32.     method changeParamMode
  33.     method setFont
  34.     method getFont
  35.     method fileDelete
  36.     method fileReload
  37.     method fileChangeServerEntry
  38.     method fileChangeParameters
  39.     method fileShowLog
  40.     method fileLogRegistrations
  41.     method fileLogMessage
  42.     method fileShutdown
  43.     method viewRefreshSelected
  44.     method optionsParamMode
  45.     method optionsLogFont
  46.     method helpOnContext
  47.     attribute paramMode
  48.     attribute tree
  49.     attribute info
  50. }
  51.  
  52. method CSConfigView::destructor {this} {
  53.     # Start destructor user section
  54.     # End destructor user section
  55.         [$this tree].root saveConfiguration
  56.     $this RepToolView::destructor
  57. }
  58.  
  59. constructor CSConfigView {class this name} {
  60.     set this [RepToolView::constructor $class $this $name repconf]
  61.  
  62.         $this setTitle "Client/Server Configuration" rep_conf_64
  63.         $this firstExposed "$this initialize"
  64.  
  65.         $this paramMode [m4_var get M4_csconfig_parammode]
  66.         if {[$this paramMode] == ""} {
  67.             $this paramMode "Normal"
  68.         }
  69.  
  70.         # Set a small ORB timeout to have little delays caused by trying to
  71.         # access objects serviced by exited brokers or servers.
  72.         # Not too small, since now we're starting a dbserver when
  73.         # editing server definitions.
  74.         #
  75.         [$this rep] quickTimeOut 10000
  76.  
  77.         # Create main interface part.
  78.         #
  79.         interface VerSplitter $this.gui.row {
  80.             CSTree tree {
  81.                 columnCount 30
  82.             }
  83.             MultiLineText info {
  84.         editable 0
  85.         columnCount 40
  86.         rowCount 20
  87.             }
  88.         }
  89.  
  90.         $this tree $this.gui.row.tree
  91.         [$this tree] view $this
  92.         [$this tree] selectionChanged "$this selectionChanged"
  93.         [$this tree] font [$this getFont]
  94.  
  95.         $this info $this.gui.row.info
  96.         [$this info] font [$this getFont]
  97.  
  98.     TreePopUpMenu new [$this tree].pop -poppedUp {
  99.         [.main tree].pop entrySet [[.main menuHandler] validPopUpEntrySet]
  100.     }
  101.  
  102.     return $this
  103. }
  104.  
  105. proc CSConfigView::repToolClass {} {
  106.     return "CSConfigView"
  107. }
  108.  
  109. method CSConfigView::initialize {this} {
  110.     busy {
  111.     $this viewRefresh
  112.  
  113.         set root [$this tree].root
  114.         [$this tree] selected $root
  115.         $this selectionChanged
  116.         $root display
  117.     }
  118. }
  119.  
  120. method CSConfigView::selectedObjSet {this} {
  121.     return [[$this tree] selected]
  122. }
  123.  
  124. method CSConfigView::selectionChanged {this} {
  125.     if [lempty [$this selectedObjSet]] {
  126.     [$this info] text ""
  127.     }
  128.     $this RepToolView::selectionChanged
  129. }
  130.  
  131. method CSConfigView::update {this} {
  132.     [$this tree] update
  133.  
  134.     foreach logDlg [info commands $this.showlogdlg-*] {
  135.     if [$logDlg isA BrokerLogDialog] {
  136.         $logDlg refresh
  137.     }
  138.     }
  139. }
  140.  
  141. method CSConfigView::canDelete {this} {
  142.     set obj [[$this tree] selected]
  143.     return [$obj canDelete]
  144. }
  145.  
  146. method CSConfigView::canReload {this} {
  147.     set obj [[$this tree] selected]
  148.     return [$obj canReload]
  149. }
  150.  
  151. method CSConfigView::canChangeServerEntry {this} {
  152.     set obj [[$this tree] selected]
  153.     return [$obj canChangeEntry]
  154. }
  155.  
  156. method CSConfigView::canChangeParameters {this} {
  157.     set obj [[$this tree] selected]
  158.     return [$obj canChangeParams]
  159. }
  160.  
  161. method CSConfigView::canShowLog {this} {
  162.     set obj [[$this tree] selected]
  163.     return [$obj canShowLog]
  164. }
  165.  
  166. method CSConfigView::canLogRegistrations {this} {
  167.     set obj [[$this tree] selected]
  168.     return [$obj canLogRegistrations]
  169. }
  170.  
  171. method CSConfigView::canLogMessage {this} {
  172.     set obj [[$this tree] selected]
  173.     return [$obj canLogMessage]
  174. }
  175.  
  176. method CSConfigView::canShutdown {this} {
  177.     set obj [[$this tree] selected]
  178.     return [$obj canShutdown]
  179. }
  180.  
  181. method CSConfigView::changeParamMode {this newMode} {
  182.     $this paramMode $newMode
  183.     m4_var set M4_csconfig_parammode $newMode
  184.     [$this tree] update 0
  185.  
  186.     set obj [[$this tree] selected]
  187.     if ![lempty $obj] {
  188.         $obj display
  189.     }
  190. }
  191.  
  192. method CSConfigView::setFont {this font} {
  193.     [$this tree] font $font
  194.     [$this info] font $font
  195.  
  196.     $this RepToolView::setFont $font
  197. }
  198.  
  199. method CSConfigView::getFont {this} {
  200.     return [m4_var get M4_font -context repconf]
  201. }
  202.  
  203. method CSConfigView::fileDelete {this} {
  204.     [[$this tree] selected] removeEntry
  205. }
  206.  
  207. method CSConfigView::fileReload {this} {
  208.     [[$this tree] selected] reload
  209. }
  210.  
  211. method CSConfigView::fileChangeServerEntry {this} {
  212.     [[$this tree] selected] changeEntry
  213. }
  214.  
  215. method CSConfigView::fileChangeParameters {this} {
  216.     [[$this tree] selected] changeParameters
  217. }
  218.  
  219. method CSConfigView::fileShowLog {this} {
  220.     [[$this tree] selected] showLog
  221. }
  222.  
  223. method CSConfigView::fileLogRegistrations {this} {
  224.     [[$this tree] selected] logRegistrations
  225. }
  226.  
  227. method CSConfigView::fileLogMessage {this} {
  228.     [[$this tree] selected] logMessage
  229. }
  230.  
  231. method CSConfigView::fileShutdown {this} {
  232.     [[$this tree] selected] shutdown
  233. }
  234.  
  235. method CSConfigView::viewRefreshSelected {this} {
  236.     set obj [[$this tree] selected]
  237.     $obj update 0
  238.     $obj display
  239. }
  240.  
  241. method CSConfigView::optionsParamMode {this} {
  242.     set dlg [ListDialog new $this.optionsparammode \
  243.         -title "Parameter Display Mode" \
  244.     -message "Change Parameter Display Mode" \
  245.         -selectionPolicy "BROWSE" \
  246.         -modal 1]
  247.  
  248.     if $win95 {
  249.         $dlg entrySet { "Normal" "Meta4" }
  250.     } else {
  251.         $dlg entrySet { "Normal" "Meta4" "Sh" "Csh" }
  252.     }
  253.     $dlg rowCount [llength [$dlg entrySet]]
  254.     $dlg selectedSet [list [$this paramMode]]
  255.  
  256.     $dlg okPressed "
  257.         $this changeParamMode \[lindex \[%this selectedSet] 0]
  258.         %this delete
  259.     "
  260.     $dlg helpPressed "$this helpOnName changeParamMode"
  261.     $dlg popUp
  262. }
  263.  
  264. method CSConfigView::optionsLogFont {this} {
  265.     set dlg $this.logfontdlg
  266.     if ![isCommand $dlg] {
  267.         FontChooser new $dlg \
  268.             -title "Broker Log Font" \
  269.             -value [m4_var get M4_font -context brokerlog] \
  270.             -okPressed "
  271.                 m4_var set M4_font \[%this value] -context brokerlog
  272.                 foreach logDlg \[info commands .main.showlogdlg-*] {
  273.                     if \[\$logDlg isA BrokerLogDialog] {
  274.             \[\$logDlg text] font \[%this value]
  275.                     }
  276.                 }
  277.             "
  278.     }
  279.     $dlg popUp
  280. }
  281.  
  282. method CSConfigView::helpOnContext {this} {
  283.     set selected [[$this tree] selected]
  284.     if {$selected != ""} {
  285.         $this helpOnName "selected[$selected objType]"
  286.     } else {
  287.         $this helpOnName repToolCSConfigView
  288.     }
  289. }
  290.  
  291. # Do not delete this line -- regeneration end marker
  292.  
  293.