$ od -c -N 50000 [phylum]<LISP>KOTO>Lispusers>TogMenu.TEdit!2 0000000 X E R O X \t T O G M E N U \r 2 \r 0000020 \r 4 \r \r 1 \r \r T o g M e n u \r 1 0000040 \r \r 4 \r \r B y : H e n r y 0000060 T h o m p s o n ( H T h o m p 0000100 s o n . p a @ X e r o x . c o m 0000120 ) \r \r I N T R O D U C T I O N \r 0000140 T h i s i s a f a c i l i 0000160 t y f o r b u i l d i n g 0000200 s i n g l e - r e g i o n m e 0000220 n u s w h i c h c y c l e 0000240 t h r o u g h a s e q u e n 0000260 c e o f o p t i o n s a s 0000300 y o u l e f t - b u t t o n 0000320 . I t c a n b e u s e 0000340 d f o r s t a r t / s t o p 0000360 b u t t o n s , o r f o r 0000400 p a r a m e t e r s e t t i 0000420 n g w i t h a p e r m a n 0000440 e n t d i s p l a y o f t 0000460 h e v a l u e s e l e c t e 0000500 d . \r F U N C T I O N S \r ( M a 0000520 k e T o g M e n u l i s t - o 0000540 f - i t e m s ) \t [ F u n c t i 0000560 o n ] \r C r e a t e s a T o 0000600 g M e n u f r o m t h e l 0000620 i s t o f i t e m s . \r A 0000640 n i t e m i s o f t h e 0000660 f o r m ( n a m e v a l S 0000700 e t o u t F n e x p l a i n 0000720 S t r i n g h i d d e n ) , 0000740 o r j u s t a n o n - l i 0000760 s t w h i c h i s b o t h 0001000 n a m e a n d v a l S e t 0001020 . L i s t p n a m e / v a 0001040 l S e t i s e v a l u a t e 0001060 d f o r d i s p l a y / v a 0001100 l u e r e s p e c t i v e l y 0001120 . O t h e r w i s e u s e 0001140 d a s i s , w i t h N I 0001160 L v a l S e t d e f a u l t 0001200 i n g t o n a m e . \r O u t 0001220 F n i s c a l l e d a s 0001240 y o u l e a v e a s e t t 0001260 i n g , u s e f u l f o r 0001300 S t a r t / S t o p s o r t s 0001320 o f t h i n g s . I t e 0001340 m s w i t h n o n - N I L 0001360 h i d d e n d o n o t a p 0001400 p e a r a s y o u c y c l 0001420 e w i t h l e f t b u t t 0001440 o n , b u t w i l l a p p 0001460 e a r i n p o p - u p m e 0001500 n u . \r ( T o g M e n u t m 0001520 . . . ) \t [ F u n c t i o n ] \r 0001540 D i s p l a y s a T o g M e 0001560 n u , t m , c r e a t e d 0001600 b y M a k e T o g M e n u . \r 0001620 D r i v e i t w i t h l e 0001640 f t b u t t o n - m i d d 0001660 l e b u t t o n m a k e s 0001700 a n o r d i n a r y p o p - 0001720 u p m e n u o f i t - 0001740 s e l e c t i n g i n t h i 0001760 s s e t s y o u i n t h 0002000 a t s t a t e . T h e o 0002020 u t F n o f t h e s t a t 0002040 e y o u t h e r e b y l e 0002060 a v e i s N O T c a l l e 0002100 d . \r ( T o g M e n u R e s e t 0002120 m e n u i t e m ) \t [ F u n 0002140 c t i o n ] \r t o r e s e t 0002160 m e n u t o i t e m o r 0002200 i n i t i a l s t a t e i f 0002220 i t e m i s u n s p e c i 0002240 f i e d . \r ( T o g M e n u V a 0002260 l u e m e n u ) \t [ F u n c t 0002300 i o n ] \r G e t s t h e c u 0002320 r r e n t v a l u e . U s 0002340 e i t w i t h n o a r g 0002360 u m e n t a s t h e n a m 0002400 e o f a n i t e m t o 0002420 m a k e a n i t e m w h i 0002440 c h s h o w s i t s v a l 0002460 u e . \r \r E X A M P L E S \r F o 0002500 r e x a m p l e a s i t e 0002520 m s : \r \t ( O n e 1 ) \r d i s 0002540 p l a y s t h e w o r d " 0002560 O n e " a n d h a s v a l 0002600 u e 1 \r \t ( ( T o g M e n u V 0002620 a l u e ) ( R A N D 1 1 0 0 0002640 ) N I L " A r a n d o m 0002660 n u m b e r " ) \r h a s a s 0002700 v a l u e a r a n d o m n 0002720 u m b e r , w h i c h i s 0002740 d i s p l a y e d \r \t ( S t a r 0002760 t N I L ( D o I t ) " S t 0003000 a r t r u n n i n g " ) \r w 0003020 i l l d i s p l a y S t a r 0003040 t , a n d c a l l ( D o I 0003060 t ) w h e n y o u l e f t 0003100 - b u t t o n i t , a n d 0003120 f i n a l l y , \r ( ( T o g M e 0003140 n u V a l u e ) \r ( R 0003160 E S E T F O R M ( T T Y D I S 0003200 P L A Y S T R E A M s o m e W 0003220 i n d o w ) ( R E A D ) ) \r 0003240 N I L " I n p u t a 0003260 v a l u e " O t h e r ) \r w i 0003300 l l n o t a p p e a r a s 0003320 y o u c y c l e t h r o u 0003340 g h , b u t w i l l s h o 0003360 w u p a s a n i t e m 0003400 l a b e l l e d " O t h e r " 0003420 i f y o u m i d d l e - b 0003440 u t t o n , a n d i f s e 0003460 l e c t e d w i l l r e a d 0003500 a v a l u e w h i c h w 0003520 i l l a l s o b e d i s p 0003540 l a y e d . \r \r \0 \0 \0 \0 \0 003 ( L 0003560 I S T ( ( P A G E N I L ( 0003600 P A P E R S I Z E L e t t e r 0003620 F O L I O I N F O ( A R A B 0003640 I C ) S T A R T I N G P A 0003660 G E # 1 ) ( 0 0 6 1 2 0003700 7 9 2 ) ( ( F O L I O N I L 0003720 ( P A R A L O O K S ( Q U A 0003740 D C E N T E R E D ) C H A R 0003760 L O O K S ( S U P E R S C R I 0004000 P T 0 I N V I S I B L E O 0004020 F F S E L E C T P O I N T O 0004040 F F P R O T E C T E D O F F 0004060 S I Z E 1 0 F A M I L Y 0004100 M O D E R N O V E R L I N E 0004120 O F F S T R I K E O U T O F 0004140 F U N D E R L I N E O F F 0004160 E X P A N S I O N R E G U L A 0004200 R S L O P E R E G U L A R 0004220 W E I G H T M E D I U M I N 0004240 V E R T E D O F F U S E R I 0004260 N F O N I L S T Y L E N I 0004300 L ) F O R M A T I N F O ( A 0004320 R A B I C ) ) ( 1 7 4 3 0004340 6 2 8 8 3 6 ) N I L ) ( 0004360 H E A D I N G N I L ( H E A 0004400 D I N G T Y P E R U N N I N G 0004420 H E A D ) ( 8 4 7 4 4 5 2 0004440 8 3 6 ) N I L ) ( T E X T 0004460 N I L N I L ( 8 4 9 6 0004500 4 5 6 6 0 0 ) N I L ) ) ) 0004520 ( P A G E N I L ( P A P E R 0004540 S I Z E L e t t e r F O L I 0004560 O I N F O ( A R A B I C ) 0004600 ) ( 0 0 6 1 2 7 9 2 ) 0004620 ( ( F O L I O N I L ( P A R 0004640 A L O O K S ( Q U A D C E N 0004660 T E R E D ) C H A R L O O K S 0004700 ( S U P E R S C R I P T 0 0004720 I N V I S I B L E O F F S E 0004740 L E C T P O I N T O F F P R 0004760 O T E C T E D O F F S I Z E 0005000 1 0 F A M I L Y M O D E R 0005020 N O V E R L I N E O F F S 0005040 T R I K E O U T O F F U N D 0005060 E R L I N E O F F E X P A N 0005100 S I O N R E G U L A R S L O 0005120 P E R E G U L A R W E I G H 0005140 T M E D I U M I N V E R T E 0005160 D O F F U S E R I N F O N 0005200 I L S T Y L E N I L ) F O 0005220 R M A T I N F O ( A R A B I C 0005240 ) ) ( 1 7 4 3 6 2 8 8 0005260 3 6 ) N I L ) ( H E A D I 0005300 N G N I L ( H E A D I N G T 0005320 Y P E R U N N I N G H E A D ) 0005340 ( 8 4 7 4 4 5 2 8 3 6 ) 0005360 N I L ) ( T E X T N I L 0005400 N I L ( 8 4 9 6 4 5 6 6 0005420 0 0 ) N I L ) ) ) ( P A G E 0005440 N I L ( P A P E R S I Z E 0005460 L e t t e r F O L I O I N F O 0005500 ( A R A B I C ) ) ( 0 0005520 0 6 1 2 7 9 2 ) ( ( F O L 0005540 I O N I L ( P A R A L O O K 0005560 S ( Q U A D C E N T E R E D 0005600 ) C H A R L O O K S ( S U P 0005620 E R S C R I P T 0 I N V I S 0005640 I B L E O F F S E L E C T P 0005660 O I N T O F F P R O T E C T 0005700 E D O F F S I Z E 1 0 F 0005720 A M I L Y M O D E R N O V E 0005740 R L I N E O F F S T R I K E 0005760 O U T O F F U N D E R L I N 0006000 E O F F E X P A N S I O N 0006020 R E G U L A R S L O P E R E 0006040 G U L A R W E I G H T M E D 0006060 I U M I N V E R T E D O F F 0006100 U S E R I N F O N I L S T 0006120 Y L E N I L ) F O R M A T I 0006140 N F O ( A R A B I C ) ) 0006160 ( 1 7 4 3 6 2 8 8 3 6 ) 0006200 N I L ) ( H E A D I N G N I 0006220 L ( H E A D I N G T Y P E R 0006240 U N N I N G H E A D ) ( 8 4 0006260 7 4 4 5 2 8 3 6 ) N I L ) 0006300 ( T E X T N I L N I L ( 0006320 8 4 9 6 4 5 6 6 0 0 ) N 0006340 I L ) ) ) ) ) \0 \0 \0 \0 \0 005 \0 \a \0 0006360 1 \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 003 004 \0 0006400 \0 002 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \0 0006420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006440 \0 ( \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 002 004 0006460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006500 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 310 0006520 \0 021 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0 \0 \0 \0 0006540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006560 \0 ( \0 212 \0 212 001 8 \0 006 \0 \0 \0 004 002 003 0006600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006620 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 001 8 0006640 \0 \0 \0 \0 \0 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 0006660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006700 \0 D \0 \0 \0 \0 001 310 \0 \0 \0 \0 \0 \0 003 004 0006720 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \v P A 0006740 G E H E A D I N G \0 \v R U N N I 0006760 N G H E A D \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007000 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007020 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007060 \0 004 \0 \b \0 026 \0 \b T E R M I N A L 0007100 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O 0007120 D E R N \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 024 0007140 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0007160 002 \0 \0 024 \0 006 M O D E R N \0 \f \0 \0 0007200 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N 0007220 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O 0007240 D E R N \0 006 \0 \0 \0 \0 \0 \0 \0 \0 \0 022 0007260 \0 004 L O G O \0 030 \0 \0 \0 \0 \0 \0 \0 \0 0007300 \0 ? \0 1 ( D E F A U L T F O N T 0007320 1 ( G A C H A 1 0 ) ( G 0007340 A C H A 8 ) ( T E R M I N A 0007360 L 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0007400 \0 \0 \0 \0 002 \0 006 \0 \0 \0 005 \0 \0 \0 \0 \a 0007420 \0 \0 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \b \0 \0 \0 0007440 \0 005 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 0007460 \0 \v H R U L E . G E T F N 001 \0 024 0007500 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0007520 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0007540 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U L E 0007560 . G E T F N 001 \0 024 \0 006 M O D E R 0007600 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0007620 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 0007640 \0 001 \0 \v H R U L E . G E T F N 001 0007660 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0007700 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 0007720 \0 \0 002 \0 004 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 0007740 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v H R 0007760 U L E . G E T F N 001 \0 024 \0 006 M O 0010000 D E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 \0 0010020 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 0010040 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0010060 F N 001 \0 024 \0 006 M O D E R N \0 \f \0 0010100 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0010120 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 - \0 \0 \0 \0 0010140 005 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 001 \0 \0 \0 0010160 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 \f \0 \0 0010200 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 0010220 \0 002 \0 002 \0 \0 \0 343 \0 \0 \0 \0 005 \0 \0 \0 0010240 \0 \0 002 \0 002 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 0010260 \0 \0 \0 002 \0 001 \0 \0 \0 \r \0 \0 \0 \0 005 \0 0010300 \0 \0 \r \0 \0 \0 \0 002 \0 \0 \0 \r \0 \0 \0 \0 0010320 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 + \0 \0 \0 0010340 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 003 \0 \0 0010360 \0 \0 005 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 021 0010400 \0 \0 \0 \0 005 \0 \0 \0 & \0 \0 \0 \0 002 \0 \0 0010420 \0 $ \0 \0 \0 \0 005 \0 \0 \0 004 \0 \0 \0 \0 002 0010440 \0 \0 \0 005 \0 \0 \0 \0 005 \0 \0 \0 006 \0 \0 \0 0010460 \0 002 \0 \0 \0 \t \0 \0 \0 \0 005 \0 \0 \0 004 \0 0010500 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 0010520 006 \0 \0 \0 \0 002 \0 \0 \0 N \0 \0 \0 \0 005 \0 0010540 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 017 \0 \0 \0 \0 0010560 005 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 0010600 \0 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 005 \0 0010620 \0 \0 \0 002 \0 \0 \0 ^ \0 \0 \0 \0 005 \0 \0 \0 0010640 006 \0 \0 \0 \0 002 \0 \0 \0 N \0 \0 \0 \0 005 \0 0010660 \0 \0 \0 \0 002 \0 001 \0 \0 \0 \t \0 \0 \0 \0 005 0010700 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 021 \0 \0 \0 0010720 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 024 \0 \0 0010740 \0 \0 005 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 032 0010760 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 0011000 177 \0 \0 \0 \0 005 \0 \0 \0 005 \0 \0 \0 \0 002 \0 0011020 \0 \0 / \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 001 0011040 \0 \0 \0 016 \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 0011060 \0 002 \0 \0 \0 \r \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0011100 002 \0 001 \0 \0 \0 \t \0 \0 \0 \0 005 \0 \0 \0 004 0011120 \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 005 \0 \0 0011140 \0 004 \0 \0 \0 \0 002 \0 \0 \0 025 \0 \0 \0 \0 005 0011160 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 021 \0 \0 \0 0011200 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 016 \0 \0 0011220 \0 \0 005 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 \r 0011240 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 0011260 o \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0011300 \0 001 \0 \0 \0 \0 \b \0 \0 \0 \0 \0 002 \0 \a \0 0011320 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 0011340 \0 \0 \0 026 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0011360 002 \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 0011400 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 ( \0 0011420 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 3 0011440 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 0011460 \0 \0 \0 002 \0 002 \0 \0 \0 1 \0 \0 \0 \0 005 \0 0011500 \0 \0 \0 \0 002 \0 002 \0 \0 \0 # \0 \0 \0 \0 001 0011520 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0011540 002 \0 \0 \0 036 \0 \0 \0 \0 005 \0 \0 \0 006 \0 \0 0011560 \0 \0 001 \0 \0 \0 ' \0 \0 \0 \0 005 \0 \0 \0 \0 0011600 \0 002 \0 002 \0 \0 \0 d \0 \0 \0 \0 001 \0 \0 \0 0011620 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 0011640 \0 251 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 0011660 \0 \0 001 \0 \0 \0 \0 \b \0 \0 \0 \0 \0 002 \0 \a 0011700 \0 \0 \a h \0 { z 272 0011710