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