2 # window to get application choices from user
4 # Revision 1.3 1994/06/18 20:31:10 hollings
5 # Changed default host to empty string since the environment variable host is
6 # not guarnteed to be defined.
8 # Revision 1.2 1994/05/26 21:23:10 karavan
9 # changed parent window name.
11 # Revision 1.1 1994/05/23 01:56:22 karavan
15 ## initialize application defn screen, without displaying it yet
17 proc InitApplicDefnScreen {} {
19 global ADparent PdNumDefinedProcesses definedProcesses applicCmd \
20 env ADshow ADapplic applicDaemon
22 set newdefinedProcesses ""
23 set PdNumDefinedProcesses 0
25 set ADshow $ADparent.show
26 set ADapplic $ADparent.applic
28 for {set i 0} {$i < 12} {incr i} {
29 set definedProcesses($i) ""
32 ########## screen 1 accepts new process defn from user #######
34 frame $ADparent.applic
35 frame $ADparent.applic.top -relief raised
36 frame $ADparent.applic.bot -relief raised
38 frame $ADparent.applic.top.user -border 2
39 frame $ADparent.applic.top.machine -border 2
40 frame $ADparent.applic.top.daemon -border 2
41 frame $ADparent.applic.top.cmd -border 2
42 label $ADparent.applic.title -text "Application Definition Entry"
44 # single-line user, machine, daemon, command entries
46 label $ADparent.applic.top.user.lbl -anchor w -text "User: " \
48 label $ADparent.applic.top.machine.lbl -anchor w -text "Machine: " \
50 label $ADparent.applic.top.daemon.lbl -anchor w -text "Daemon: " \
52 label $ADparent.applic.top.cmd.lbl -anchor w -text "Command: " \
55 entry $ADparent.applic.top.user.ent -width 80 -textvariable applicUser \
57 $ADparent.applic.top.user.ent insert end $env(USER)
58 bind $ADparent.applic.top.user.ent <Return> \
59 "focus $ADparent.applic.top.machine.ent"
60 entry $ADparent.applic.top.machine.ent -width 80 -textvariable applicMachine \
62 $ADparent.applic.top.machine.ent insert end ""
63 bind $ADparent.applic.top.machine.ent <Return> \
64 "focus $ADparent.applic.top.daemon.ent"
66 entry $ADparent.applic.top.daemon.ent -width 80 -textvariable applicDaemon \
68 bind $ADparent.applic.top.daemon.ent <Return> \
69 "focus $ADparent.applic.top.cmd.ent"
70 entry $ADparent.applic.top.cmd.ent -width 80 -textvariable applicCmd \
72 bind $ADparent.applic.top.cmd.ent <Return> \
73 "focus $ADparent.applic.top.user.ent"
75 pack $ADparent.applic.title $ADparent.applic.top $ADparent.applic.bot \
76 -side top -expand yes -fill both
77 pack $ADparent.applic.top.user $ADparent.applic.top.machine \
78 $ADparent.applic.top.daemon \
79 $ADparent.applic.top.cmd -side top \
80 -expand yes -fill both
82 pack $ADparent.applic.top.user.lbl $ADparent.applic.top.user.ent \
83 -side left -expand yes -fill x
84 pack $ADparent.applic.top.machine.lbl $ADparent.applic.top.machine.ent \
85 -side left -expand yes -fill x
86 pack $ADparent.applic.top.daemon.lbl $ADparent.applic.top.daemon.ent \
87 -side left -expand yes -fill x
88 pack $ADparent.applic.top.cmd.lbl $ADparent.applic.top.cmd.ent \
89 -side left -expand yes -fill x
91 # add/accept/cancel/done
93 button $ADparent.applic.bot.b1 -text "Accept" \
94 -command {AcceptNewApplicDefn $applicUser $applicMachine \
95 $applicDaemon $applicCmd definedProcesses}
96 button $ADparent.applic.bot.b2 -text "Cancel" \
97 -command {pack forget $ADparent.applic; pack $ADparent.show}
99 pack $ADparent.applic.bot.b1 $ADparent.applic.bot.b2 -side left \
102 ############ screen 0 displays defined applications ############3
106 label $ADparent.show.title -text "Paradyn Process Definition" \
107 -anchor center -relief ridge
108 frame $ADparent.show.top
109 frame $ADparent.show.bottom
111 button $ADparent.show.bottom.b1 -text "Add Process" -command {AddProcess}
112 button $ADparent.show.bottom.b2 -text "DONE" \
113 -command {pack forget $ADparent.show}
115 label $ADparent.show.top.lbl -text "Currently Defined Processes:" \
118 listbox $ADparent.show.top.alist -geometry 80x12 -bg white
120 pack $ADparent.show.title $ADparent.show.top $ADparent.show.bottom \
121 -side top -expand yes -fill both
122 pack $ADparent.show.top.lbl -side top -pady 5
123 pack $ADparent.show.top.alist -side top -fill both -expand yes
124 pack $ADparent.show.bottom.b1 $ADparent.show.bottom.b2 -side left \
129 ### display application definition screen 0, already defined, on frame
139 global ADparent PdNumDefinedProcesses
140 if {$PdNumDefinedProcesses < 6} {
142 pack forget $ADparent.show
143 pack $ADparent.applic
144 focus $ADparent.applic.top.daemon.ent
148 proc AcceptNewApplicDefn {user machine daemon cmd defined} {
149 global PdNumDefinedProcesses ADparent applicDaemon applicCmd
153 {paradyn process -user $user -machine $machine -daemon $daemon $cmd}]
156 focus $ADparent.applic.top.daemon.ent
158 incr PdNumDefinedProcesses
160 $ADparent.show.top.alist insert end $user:$machine:$daemon
161 $ADparent.show.top.alist insert end \ \ $cmd
162 pack forget $ADparent.applic
165 #reset daemon and cmd