graphicslab1 and add it to the TRAIN
option tree.PANEL; you will
want to use the /CONTROLS=GC switch with PANEL.BUTTON named STATE with no title and a single button
"Stop".CALENDAR named DATE.LVAL named YEAR (min=2000, max=2100).LVAL named MONTH (min=1, max=12).LVAL named DAY (min=1, max=31).processMessage procedure. For now
just make it print out the message received.
procedure processMessage m:msg say "Got message name=^msg.name info=^msg.info data=^msg.data" return

processMessage procedure.PIPE STOP.SEDIT to parse the date
(look at the ELEMent function in the SEDIT explain file).SEDIT set the value of each of the
widgets./CONTROLS=GC back in
Part A? That was so that we can use GC.<name>.VALUE
to set the values of the widgets.INVOKE the
setDate(year,month,day) method in the calendar widget.GC.<name>.VALUE
to get the values of the widgets.LVAL widgets end up
calling the same code, you might want to write the code once and make use of
the OR in your IF.POPUP.