*** empty log message ***
[dyninst.git] / paradyn / tcl / startVisi.tcl
1 # $Id: startVisi.tcl,v 1.8 1998/03/03 23:09:52 wylie Exp $
2
3 proc AcceptProc {} {
4    global W 
5    global phase
6    global visiIds
7    
8    set thesel [$W.bottom.menu.list curselection]
9    if {$thesel!=""} {
10      $W.bottom.button.accept configure -state disabled
11      set itemif [lindex $visiIds $thesel]
12    
13      if {$phase=="CurrentPhase"} {
14        paradyn visi create [expr $itemif ]  1
15      } else {
16        paradyn visi create [expr $itemif ]  0
17      }
18
19 #    for {set i 0} { $i < [llength $thesel] } {incr i} {
20 #       set item [lindex $thesel $i]
21 #       set itemstring [$W.bottom.menu.list get $item]
22 #       set itemid [lindex $visiIds $i]
23 #       puts stdout $itemstring
24 #       puts stdout $itemid
25 #       puts stdout $i
26 #    }
27      destroy $W
28    }
29 }
30
31 # set default phase choice to GlobalPhase
32 if {[catch {set phase}]} {
33   set phase GlobalPhase 
34 }
35
36 #
37 #  display a menu that prompts user for visualization 
38 #  and its phase info arguments
39 #
40 #
41 proc drawVisiMenu {} {
42   global W visiIds vnames vnums vcount
43
44   set W .vStart
45   catch {destroy $W}
46   toplevel $W
47   wm title $W "Start Visi"
48   wm iconname $W "Start Visi"
49
50 # force the window to a happy location
51   set baseGeom [wm geometry .]
52   set Xbase 0
53   set Ybase 0
54   set Xoffset 30
55   set Yoffset 30
56   scan $baseGeom "%*dx%*d+%d+%d" Xbase Ybase
57   wm geometry .vStart [format "+%d+%d" [expr $Xbase + $Xoffset] \
58                                       [expr $Ybase + $Yoffset]]
59  
60 # define all of the main frames
61   set T $W.title
62   label $T -text "Start A Visualization" \
63             -anchor center -relief raised \
64             -foreground seashell1 \
65             -background SeaGreen4 \
66             -font { Times 12 bold }
67   pack $T -side top -expand false -fill both 
68
69   frame $W.bottom
70   pack $W.bottom -side top -expand yes -fill y
71
72
73   set M $W.bottom.menu
74   frame $M
75   pack $M -side top -expand yes -fill y
76
77   frame $W.bottom.button
78   pack $W.bottom.button -side bottom -expand y -fill x -pady 2m
79   button $W.bottom.button.accept -text Start -command AcceptProc 
80   button $W.bottom.button.dismiss -text Cancel -command "destroy $W"
81   pack $W.bottom.button.accept $W.bottom.button.dismiss -side left -expand 1
82
83
84   scrollbar $M.scroll -command "$M.list yview"
85
86   listbox $M.list -yscroll "$M.scroll set" -setgrid 1 -height 8 -width 29 \
87         -selectmode browse
88   pack $M.scroll -side right -fill y 
89   pack $M.list -side left -expand 1 -fill both
90
91   bind $M.list <Double-1> {
92      
93   }
94
95   # fill list box entries 
96   for {set i 0} { $i < $vcount } {incr i} {
97       set item [lindex $vnames $i]
98       $M.list insert end $item
99   }
100   set visiIds $vnums
101
102   set B $W.bottom.buttons
103   frame $B 
104   pack $W.bottom.menu $W.bottom.buttons -expand yes  -pady .2c -padx .2c
105
106   global phase
107
108   radiobutton $B.bg -text "Global Phase" -variable phase \
109         -relief sunken -value GlobalPhase 
110   pack $B.bg -side left -anchor w 
111
112   radiobutton $B.bc -text "Current Phase" -variable phase \
113         -relief sunken -value CurrentPhase 
114   pack $B.bc -side right -anchor w
115
116 }
117