shgInitialize now takes 3 params
[dyninst.git] / paradyn / tcl / mainMenu.tcl
1 # main tool bar
2
3 # $Log: mainMenu.tcl,v $
4 # Revision 1.52  1996/02/12 18:31:35  tamches
5 # shgInitialize now takes 3 params
6 #
7 # Revision 1.51  1996/02/08 01:01:49  tamches
8 # starting a new phase w/ visis greyed out since not yet implemented
9 #
10 # Revision 1.50  1996/02/08 00:01:44  tamches
11 # Dimmed the Help menu, since it's not yet implemented
12 #
13 # Revision 1.49  1996/02/07 19:16:14  tamches
14 # added new phase menu
15 #
16 # Revision 1.48  1996/01/11 23:43:27  tamches
17 # shgInitialize now takes a parameter
18 #
19 # Revision 1.47  1995/12/08 16:08:07  naim
20 # Disabling SAVE button because it is not implemented yet - naim
21 #
22 # Revision 1.46  1995/11/29  00:21:30  tamches
23 # removed refs to pdBitmapDir; we now call makeLogo (pdLogo.C)
24 #
25 # Revision 1.45  1995/11/16 00:46:40  tamches
26 # removed obsolete menu item "options control"
27 #
28 # Revision 1.44  1995/11/09 02:13:27  tamches
29 # some general cleanup, such as removing references to tk_menuBar
30 # (obsolete in tk4.0), and removing old code that had until now been
31 # commented out.
32 #
33 # Revision 1.43  1995/11/06 02:56:07  tamches
34 # removed ugly borderwidth for .parent.menub, .parent.status, and
35 # .parent.buttons
36 # removed .parent.where, which no longer exists
37 #
38 # Revision 1.42  1995/11/03 21:19:22  naim
39 # Changing exit option - naim
40 #
41 # Revision 1.41  1995/10/17  22:25:00  tamches
42 # "performance consultant" now calls shgInitialize instead of
43 # "paradyn shg start global".
44 # Added a "Where Axis" item to de-iconify the where axis.
45 #
46 # Revision 1.40  1995/10/06 19:50:57  naim
47 # Minor change to "changeApplicState". Now there are 3 states for the RUN and
48 # PAUSE keys: either RUN or PAUSE is enabled and the other one disabled, and
49 # both keys disabled. There is also a minor change to drawToolBar. Now, the
50 # first state for buttons PAUSE and RUN is disabled (when paradyn starts)-naim
51 #
52 # Revision 1.39  1995/10/05  04:19:23  karavan
53 # Added search phase to title bar of Perf Consultant window.
54 # Changed arguments to agree with new igen interfaces for UI and PC.
55 #
56
57 #
58 # Copyright (c) 1993, 1994 Barton P. Miller, Jeff Hollingsworth,
59 #     Bruce Irvin, Jon Cargille, Krishna Kunchithapadam, Karen
60 #     Karavanic, Tia Newhall, Mark Callaghan.  All rights reserved.
61
62 #  This software is furnished under the condition that it may not be
63 #  provided or otherwise made available to, or used by, any other
64 #  person, except as provided for by the terms of applicable license
65 #  agreements.  No title to or ownership of the software is hereby
66 #  transferred.  The name of the principals may not be used in any
67 #  advertising or publicity related to this software without specific,
68 #  written prior authorization.  Any use of this software must include
69 #  the above copyright notice.
70 #
71
72 ## changeApplicState
73 ## changes button status of "run" and "pause" buttons, so that opposite 
74 ## of current state can always be pressed but current state cannot.
75
76 proc changeApplicState {newVal} {
77     if {$newVal==1} {
78         ## PAUSE enabled, "run" disabled
79         .parent.buttons.2 configure -state normal
80         .parent.buttons.1 configure -state disabled
81     } elseif {$newVal==0} {
82         ## "pause" disabled, RUN enabled 
83         .parent.buttons.2 configure -state disabled
84         .parent.buttons.1 configure -state normal
85     } elseif {$newVal==2} {
86         ## PAUSE and RUN disabled 
87         .parent.buttons.2 configure -state disabled
88         .parent.buttons.1 configure -state disabled
89     }
90 }
91
92 proc drawToolBar {} {
93     global fmap metMenuCtr tclSelectionState
94
95     # setup fontmap for dumping postscript files
96     set fmap(-*-Times-Bold-R-Normal--*-80*)  \
97             {Times-Bold 10}
98     set fmap(-*-Times-Medium-R-Normal--*-100*) \
99             {Times-Roman 12}
100     set fmap(-*-Times-Bold-R-Normal--*-140*)  \
101             {Times-Bold 16}
102     set fmap(-*-Times-Medium-R-Normal--*-140*) \
103             {Times-Roman 16}
104     set fmap(-*-Times-Medium-R-Normal--*-80*) \
105             {Times-Roman 10}
106     set fmap(-*-Times-Bold-R-Normal--*-100*) \
107             {Times-Bold 16}
108     set fmap(-*-Courier-Medium-R-Normal--*-100*) \
109             {Courier 12}
110     set fmap(-*-Courier-Bold-R-Normal--*-100*) \
111             {Courier-Bold 12}
112     set fmap(-*-Courier-Medium-R-Normal--*-80*) \
113             {Courier-Medium 10}
114     set fmap(-*-Courier-Bold-R-Normal--*-80*) \
115             {Courier-Bold 10}
116
117     # used in metric menu creation code
118     # unique id for each menu window
119     set metMenuCtr 0 
120     # state = 1 during met/res selection, 0 otherwise
121     set tclSelectionState 0 
122     if {[winfo depth .] > 1} {
123       # . created before options are added
124       . config -bg #e830e830e830
125
126       option add *background #e830e830e830
127       option add *Scrollbar*background DimGray
128
129       option add *Scrollbar*foreground grey
130       option add *activeBackground LightGrey
131       option add *activeForeground black
132       option add *Scrollbar*activeForeground LightGrey
133       option add *Entry.relief sunken
134     } else {
135       option add *Background white
136       option add *Foreground black
137       option add *Entry.relief groove
138     }
139     option add *TopMenu*font *-New*Century*Schoolbook-Bold-R-*-14-*
140
141     # the paradyn main window can be resized horizontally but not vertically:
142     wm resizable . 1 0
143
144     frame .parent 
145     frame .parent.menub -relief raised
146     frame .parent.status
147     frame .parent.main
148     frame .parent.buttons -relief raised -height 20
149     mkButtonBar .parent.buttons {} retval {{RUN "paradyn cont"} \
150             {PAUSE "paradyn pause"} {SAVE ""} \
151             {EXIT "paradyn exit"}}
152
153 #   Both RUN and PAUSE buttons are disabled when paradyn starts running
154 #   since there is no process to RUN or to PAUSE
155     .parent.buttons.1 configure -state disabled
156     .parent.buttons.2 configure -state disabled
157
158 #   SAVE button will be disabled for the time being since it is not 
159 #   implemented yet.
160     .parent.buttons.3 configure -state disabled
161
162     frame .parent.menub.left
163     label .parent.menub.left.title -text "Paradyn Main Control" \
164           -font *-New*Century*Schoolbook-Bold-R-*-14-* \
165           -relief raised -background #b3331e1b53c7 -foreground white -anchor c
166
167     frame .parent.menub.left.men -class TopMenu -borderwidth 2 -relief raised
168     menubutton .parent.menub.left.men.b0 -text "File" -menu .parent.menub.left.men.b0.m 
169     menubutton .parent.menub.left.men.b1 -text "Setup" -menu .parent.menub.left.men.b1.m 
170
171     menubutton .parent.menub.left.men.b5 -text "Visualization" \
172             -menu .parent.menub.left.men.b5.m 
173     menubutton .parent.menub.left.men.b6 -text "Phase" \
174             -menu .parent.menub.left.men.b6.m 
175
176     menubutton .parent.menub.left.men.b7 -text "Help" -state disabled
177
178     menu .parent.menub.left.men.b0.m
179     .parent.menub.left.men.b0.m add command -label "Exit Paradyn" -command "destroy ."
180        # the -command is the same as the command executed when "EXIT"
181        # button (lower right of screen) is clicked on.  If this is not right,
182        # then by all means change it.
183  
184     menu .parent.menub.left.men.b1.m 
185     .parent.menub.left.men.b1.m add command -label "Define A Process" \
186             -command DefineProcess
187     .parent.menub.left.men.b1.m add command -label "Performance Consultant" \
188             -command {shgInitialize [uimpd tclTunable getvaluebyname developerMode] [uimpd tclTunable getvaluebyname showShgKey] [uimpd tclTunable getvaluebyname showShgTips]}
189     .parent.menub.left.men.b1.m add command -label "Tunable Constants" \
190             -command {tunableEntryPoint}
191     .parent.menub.left.men.b1.m add command -label "Where Axis" \
192             -command {wm deiconify .whereAxis; raise .whereAxis}
193
194 #
195 #  added to support phase specification
196 #
197    menu .parent.menub.left.men.b5.m
198    .parent.menub.left.men.b5.m add command -label "Start A Visualization" \
199   -command  {uimpd drawStartVisiMenu .parent.menub.left.men.b5.m} 
200
201    menu .parent.menub.left.men.b6.m
202    .parent.menub.left.men.b6.m add command -label "Start" \
203            -command "uimpd startPhase plain"
204    .parent.menub.left.men.b6.m add command -label "Start With Perf Consultant" \
205            -command "uimpd startPhase pc"
206    .parent.menub.left.men.b6.m add command -label "Start With Visis" \
207            -command "uimpd startPhase visis" -state disabled
208    .parent.menub.left.men.b6.m add command -label "Start With Perf Consultant & Visis" \
209            -command "uimpd startPhase both" -state disabled
210
211
212 #    menu .parent.menub.left.men.b2.m 
213 #    .parent.menub.left.men.b2.m add command -label "Error History" \
214 #           -command {showErrorHistory}
215 #    .parent.menub.left.men.b2.m add command -label "Where Axis Postscript C" \
216 #           -command ".parent.baseWA.dag._c_ postscript -colormode color \
217 #           -file cwhere.ps -pageheight 3.0i"
218 #    .menub.left.men.b2.m add command -label "Where Axis Postscript Gr" \
219 #           -command ".parent.baseWA.dag._c_ postscript -colormode gray \
220 #           -file gwhere.ps -pageheight 3.0i"
221 #    .menub.left.men.b2.m add command -label "Where Axis Postscript BW" \
222 #           -command ".parent.baseWA.dag._c_ postscript -colormode mono \
223 #           -file mwhere.ps -pageheight 3.0i"
224
225     set mb .parent.menub.left.men
226
227     wm title . "Paradyn"
228
229     pack .parent.menub.left.men.b7 -side right -padx 10
230     pack .parent.menub.left.men.b0 .parent.menub.left.men.b1 \
231             .parent.menub.left.men.b5 .parent.menub.left.men.b6 \
232             -side left -padx 10
233     pack .parent.menub.left -side left -fill both -expand 1
234
235     makeLogo .parent.menub.logobox paradynLogo raised 2 #b3331e1b53c7
236     pack  .parent.menub.logobox -side right
237
238     pack .parent.menub.left.title -side top -fill both -expand true
239     pack .parent.menub.left.men -side top -fill x -expand false
240
241     pack .parent.menub -side top -fill x -expand 0
242     pack .parent.buttons -side bottom -fill x -expand 0
243     pack .parent.status -side bottom -fill x -expand 0
244
245     pack .parent -fill both -expand 1
246 }