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