home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / tclMotif-1.4 / examples / editres next >
Encoding:
Text File  |  1995-06-29  |  3.2 KB  |  135 lines

  1. #!/usr/local/bin/moat
  2.  
  3. global interp
  4.  
  5. proc findInterp {w} {
  6.     set interps [interps]
  7.  
  8.     xmFormDialog $w.dsh managed
  9.     xmList $w.dsh.list \
  10.     -visibleItemCount [llength $interps] \
  11.     -selectionPolicy single_select
  12.     foreach i $interps {
  13.     $w.dsh.list addItem $i 0
  14.     }
  15.  
  16.     $w.dsh.list manageChild
  17.     $w.dsh.list singleSelectionCallback "foundInterp %item $w"
  18. }
  19.  
  20. proc foundInterp {item w} {
  21.     global interp
  22.  
  23.     set interp $item
  24.     [$w.dsh parent] destroyWidget
  25.     .main.form.label setValues \
  26.     -labelString $interp
  27.  
  28.     findTree .
  29. }
  30.  
  31. proc findTree {w} {
  32.     global interp
  33.  
  34.     set children [send $interp "$w getValues -children c; set c"]
  35.     if {$children != ""} {
  36.     foreach i [split $children ", "] {
  37.         if {$i != {}} {
  38.         .main.form.tree addItem $i 0
  39.         }
  40.         if {$i != {} && [send $interp "$i isComposite"] == "true"} {
  41.             findTree $i
  42.         }
  43.     }
  44.     }
  45. }
  46.  
  47. proc findResources {w} {
  48.     global interp
  49.  
  50.     . defineCursor coffee_mug
  51.     .main.form.resources setValues \
  52.     -items "" -itemCount 0
  53.     set resources [send $interp "$w resources"]
  54. #    puts stdout $resources
  55.     set resources [lsort $resources]
  56.  
  57.     # unmap so we don't get flickering on reset
  58.     .main.form.resources unmapWidget
  59.     foreach i $resources {
  60.     set item "[lindex $i 1]: [lindex $i 4]"
  61.     .main.form.resources addItem $item 0
  62.     }
  63.     .main.form.resources mapWidget
  64.     . defineCursor ""
  65. }
  66.  
  67. xtAppInitialize
  68.  
  69. xmMainWindow .main managed
  70. xmForm .main.form managed
  71.  
  72. xmLabel .main.form.label managed \
  73.     -labelString "" \
  74.     -topAttachment attach_form \
  75.     -leftAttachment attach_form \
  76.     -rightAttachment attach_form
  77. xmScrolledList .main.form.tree managed \
  78.     -selectionPolicy single_select \
  79.     -topAttachment attach_widget \
  80.     -topWidget .main.form.label \
  81.     -leftAttachment attach_form \
  82.     -rightAttachment attach_position \
  83.     -rightPosition 50 \
  84.     -bottomAttachment attach_form
  85. xmScrolledList .main.form.resources managed \
  86.     -topAttachment attach_widget \
  87.     -topWidget .main.form.label \
  88.     -leftAttachment attach_position \
  89.     -leftPosition 50 \
  90.     -rightAttachment attach_form  \
  91.     -bottomAttachment attach_form
  92.  
  93. # I am not supporting simple menu functions, so do this the long way
  94.  
  95. # top menu bar
  96. xmMenuBar .main.menuBar managed
  97. xmCascadeButton .main.menuBar.file managed \
  98.     -labelString File \
  99.     -mnemonic F
  100. xmCascadeButton .main.menuBar.help managed \
  101.      -labelString Help \
  102.     -mnemonic H
  103.  
  104. # file pulldown
  105. xmPulldownMenu .main.menuBar.fileMenu
  106. xmPushButton .main.menuBar.fileMenu.Open managed \
  107.     -mnemonic O
  108. xmPushButton .main.menuBar.fileMenu.Quit managed \
  109.     -mnemonic Q
  110. .main.menuBar.file setValues -subMenuId .main.menuBar.fileMenu
  111.  
  112. # callbacks for file menu
  113. .main.menuBar.fileMenu.Quit activateCallback "exit 0"
  114. .main.menuBar.fileMenu.Open  activateCallback "findInterp %w"
  115.  
  116.  
  117. # help pulldown
  118. xmPulldownMenu .main.menuBar.helpMenu managed
  119. xmPushButton .main.menuBar.helpMenu.help managed \
  120.     -labelString Help \
  121.     -mnemonic H
  122. .main.menuBar.help setValues -subMenuId .main.menuBar.helpMenu
  123.  
  124. .main.menuBar setValues -menuHelpWidget .main.menuBar.help
  125.  
  126. .main setValues -workWindow .main.form \
  127.         -menuBar .main.menuBar
  128.  
  129. .main.form.tree singleSelectionCallback {findResources %item}
  130.  
  131.  
  132. . realizeWidget
  133. . mainLoop
  134.  
  135.