Adding error message when shmat fails - naim
[dyninst.git] / paradyn / tcl / mainMenu.tcl
1 # main tool bar
2
3 ## changeApplicState
4 ## changes button status of "run" and "pause" buttons, so that opposite 
5 ## of current state can always be pressed but current state cannot.
6
7 proc changeApplicState {newVal} {
8     if {$newVal==1} {
9         ## PAUSE enabled, "run" disabled
10         .parent.buttons.2 configure -state normal
11         .parent.buttons.1 configure -state disabled
12     } elseif {$newVal==0} {
13         ## "pause" disabled, RUN enabled 
14         .parent.buttons.2 configure -state disabled
15         .parent.buttons.1 configure -state normal
16     } elseif {$newVal==2} {
17         ## PAUSE and RUN disabled 
18         .parent.buttons.2 configure -state disabled
19         .parent.buttons.1 configure -state disabled
20     }
21 }
22
23 proc drawToolBar {} {
24     global fmap metMenuCtr
25
26     # setup fontmap for dumping postscript files
27     set fmap(-*-Times-Bold-R-Normal--*-80*)  \
28             {Times-Bold 10}
29     set fmap(-*-Times-Medium-R-Normal--*-100*) \
30             {Times-Roman 12}
31     set fmap(-*-Times-Bold-R-Normal--*-140*)  \
32             {Times-Bold 16}
33     set fmap(-*-Times-Medium-R-Normal--*-140*) \
34             {Times-Roman 16}
35     set fmap(-*-Times-Medium-R-Normal--*-80*) \
36             {Times-Roman 10}
37     set fmap(-*-Times-Bold-R-Normal--*-100*) \
38             {Times-Bold 16}
39     set fmap(-*-Courier-Medium-R-Normal--*-100*) \
40             {Courier 12}
41     set fmap(-*-Courier-Bold-R-Normal--*-100*) \
42             {Courier-Bold 12}
43     set fmap(-*-Courier-Medium-R-Normal--*-80*) \
44             {Courier-Medium 10}
45     set fmap(-*-Courier-Bold-R-Normal--*-80*) \
46             {Courier-Bold 10}
47
48     # used in metric menu creation code
49     # unique id for each menu window
50     set metMenuCtr 0 
51     # state = 1 during met/res selection, 0 otherwise
52     if {[winfo depth .] > 1} {
53       # . created before options are added
54       . config -bg #e830e830e830
55
56       option add *background #e830e830e830
57       option add *Scrollbar*background DimGray
58
59       option add *Scrollbar*foreground grey
60       option add *activeBackground LightGrey
61       option add *activeForeground black
62       option add *Scrollbar*activeForeground LightGrey
63       option add *Entry.relief sunken
64     } else {
65       option add *Background white
66       option add *Foreground black
67       option add *Entry.relief groove
68     }
69     option add *TopMenu*font *-New*Century*Schoolbook-Bold-R-*-14-*
70
71     # the paradyn main window can be resized horizontally but not vertically:
72     wm resizable . 1 0
73
74     frame .parent 
75     frame .parent.menub -relief raised
76     frame .parent.status
77     frame .parent.main
78     frame .parent.buttons -relief raised -height 20
79     mkButtonBar .parent.buttons {} retval { \
80             {RUN "paradyn cont"} \
81             {PAUSE "paradyn pause"} \
82             {SAVE "drawSaveMenu"} \
83             {EXIT "procExit"}}
84
85 #   Both RUN and PAUSE buttons are disabled when paradyn starts running
86 #   since there is no process to RUN or to PAUSE
87     .parent.buttons.1 configure -state disabled
88     .parent.buttons.2 configure -state disabled
89
90     frame .parent.menub.left
91     pack .parent.menub.left -side left -fill both -expand 1
92
93     frame .parent.menub.left.top -borderwidth 2 -relief raised \
94           -background #b3331e1b53c7
95     pack  .parent.menub.left.top -side top -fill both -expand 1
96
97     label .parent.menub.left.top.title -text "Paradyn Main Control" \
98           -font *-New*Century*Schoolbook-Bold-R-*-14-* \
99           -relief flat \
100           -background #b3331e1b53c7 \
101           -foreground white -anchor c
102     pack .parent.menub.left.top.title -side left -fill both -expand true
103
104     frame .parent.menub.left.top.title.versionFrame -background #b3331e1b53c7
105     pack  .parent.menub.left.top.title.versionFrame -side right -fill y -expand false
106             
107     label .parent.menub.left.top.title.versionFrame.version -text "v2.0" \
108             -font "*-Helvetica-*-r-*-12-*" \
109             -background #b3331e1b53c7 \
110             -foreground white \
111             -relief flat \
112             -borderwidth 0
113     pack .parent.menub.left.top.title.versionFrame.version -side bottom \
114             -expand false
115
116
117     frame .parent.menub.left.men -class TopMenu -borderwidth 2 -relief raised
118     menubutton .parent.menub.left.men.b0 -text "File" -menu .parent.menub.left.men.b0.m 
119     menubutton .parent.menub.left.men.b1 -text "Setup" -menu .parent.menub.left.men.b1.m 
120
121     menubutton .parent.menub.left.men.b6 -text "Phase" \
122             -menu .parent.menub.left.men.b6.m 
123
124     button .parent.menub.left.men.b8 -text "Visi" \
125             -command "drawVisiMenu" -relief flat -highlightthickness 0
126
127     menubutton .parent.menub.left.men.b7 -text "Help" -state disabled
128
129     menu .parent.menub.left.men.b0.m
130     .parent.menub.left.men.b0.m add command -label "Daemon start-up info" -command "paradyn daemonStartInfo"
131     .parent.menub.left.men.b0.m add command -label "Exit Paradyn" -command "procExit"
132        # the -command is the same as the command executed when "EXIT"
133        # button (lower right of screen) is clicked on.  If this is not right,
134        # then by all means change it.
135  
136     menu .parent.menub.left.men.b1.m 
137     .parent.menub.left.men.b1.m add command -label "Define a New Process" \
138             -command DefineProcess
139     .parent.menub.left.men.b1.m add command -label "Attach to a Process" \
140             -command AttachProcess
141     .parent.menub.left.men.b1.m add separator
142     .parent.menub.left.men.b1.m add command -label "Performance Consultant" \
143             -command {shgInitialize [uimpd tclTunable getvaluebyname developerMode] [uimpd tclTunable getvaluebyname showShgKey] [uimpd tclTunable getvaluebyname showShgTips]}
144     .parent.menub.left.men.b1.m add command -label "Tunable Constants" \
145             -command {tunableEntryPoint}
146     .parent.menub.left.men.b1.m add command -label "Where Axis" \
147             -command {wm deiconify .whereAxis; raise .whereAxis}
148
149 #
150 #  added to support phase specification
151 #
152    menu .parent.menub.left.men.b6.m
153    .parent.menub.left.men.b6.m add command -label "Start" \
154            -command "uimpd startPhase plain"
155    .parent.menub.left.men.b6.m add command -label "Start With Perf Consultant" \
156            -command "uimpd startPhase pc"
157    .parent.menub.left.men.b6.m add command -label "Start With Visis" \
158            -command "uimpd startPhase visis" -state disabled
159    .parent.menub.left.men.b6.m add command -label "Start With Perf Consultant & Visis" \
160            -command "uimpd startPhase both" -state disabled
161
162
163 #    menu .parent.menub.left.men.b2.m 
164 #    .parent.menub.left.men.b2.m add command -label "Error History" \
165 #           -command {showErrorHistory}
166 #    .parent.menub.left.men.b2.m add command -label "Where Axis Postscript C" \
167 #           -command ".parent.baseWA.dag._c_ postscript -colormode color \
168 #           -file cwhere.ps -pageheight 3.0i"
169 #    .menub.left.men.b2.m add command -label "Where Axis Postscript Gr" \
170 #           -command ".parent.baseWA.dag._c_ postscript -colormode gray \
171 #           -file gwhere.ps -pageheight 3.0i"
172 #    .menub.left.men.b2.m add command -label "Where Axis Postscript BW" \
173 #           -command ".parent.baseWA.dag._c_ postscript -colormode mono \
174 #           -file mwhere.ps -pageheight 3.0i"
175
176     set mb .parent.menub.left.men
177
178     wm title . "Paradyn"
179
180     pack .parent.menub.left.men.b7 -side right -padx 10
181     pack .parent.menub.left.men.b0 .parent.menub.left.men.b1 \
182             .parent.menub.left.men.b6 .parent.menub.left.men.b8 \
183             -side left -padx 10
184
185     makeLogo .parent.menub.logobox paradynLogo raised 2 #b3331e1b53c7
186     pack  .parent.menub.logobox -side right
187
188     pack .parent.menub.left.men -side top -fill x -expand false
189
190     pack .parent.menub -side top -fill x -expand 0
191     pack .parent.buttons -side bottom -fill x -expand 0
192     pack .parent.status -side bottom -fill x -expand 0
193
194     pack .parent -fill both -expand 1
195 }