7 border.menu /* /* Called by: wimp.menu /* Calls made: borderint.aml /* borderint.menu /* subgrat.menu /* border.aml /* /* Description: Enter coordinates to create a map border %c Conform to GSC Database Standards %n Create NTL cover (only if it does not exist) Map number: %mapnumber Name of border cover: %cover Publication scale: 1:%scale %scaleden Define coordinates in degrees, minutes and seconds (DMS). Negative degree values must be entered for coordinates in the western and southern hemispheres ^Degree ^Minute ^Second Western Longitude %wdeg %wmin %wsec %c1 Eastern Longitude %edeg %emin %esec %c2 Southern Latitude %sdeg %smin %ssec %c3 Northern Latitude %ndeg %nmin %nsec %c4 %interval %subgraticule %v View border when complete %proceed %mapnumber input .carto$mapnumber 10 return '&if %.brd$gscdatabase% &then; ~ &s .brd$cover BOR%.carto$mapnumber%' char %c checkbox .brd$gscdatabase return '&if %.brd$gscdatabase% &then; ~ &s .brd$cover BOR%.carto$mapnumber%; &else; &s .brd$cover' %n checkbox .brd$neatline %cover input .brd$cover 10 required return ~ '&s .gsc$msg Cover [upcase %.brd$cover%] already exists; ~ &if [exists %.brd$cover% -cover] &then; &thread &create msg &modal &menu msg ~ &position ¢er &thread border &pinaction [quote &s .brd$cover] ~ &stripe [quote Message!]' char %scale input .brd$scale 10 required range 1000 10000000 return ~ '&run borderint %.brd$scale%' integer %scaleden choice scaledenominator pairs return '&s .brd$scale ~ [calc %scaledenominator% * 1000]; &run borderint %.brd$scale%' 10K 10 25K 25 ~ 50K 50 100K 100 250K 250 500K 500 1M 1000 2M 2000 5M 5000 ~ 10M 10000 %wdeg input .brd$wdeg 3 required range -360 360 integer %wmin input .brd$wmin 2 required range 0 59 integer %wsec input .brd$wsec 6 required range 0 59.999 real %c1 button next %wdeg return 'C' &s .brd$wdeg; &s .brd$wmin; &s .brd$wsec %edeg input .brd$edeg 3 required range -360 360 integer %emin input .brd$emin 2 required range 0 59 integer %esec input .brd$esec 6 required range 0 59.999 real %c2 button return next %edeg 'C' &s .brd$edeg; &s .brd$emin; &s .brd$esec %sdeg input .brd$sdeg 3 required range -90 90 next %smin return ~ '&run borderint %.brd$scale%' integer %smin input .brd$smin 2 required range 0 59 integer %ssec input .brd$ssec 6 required range 0 59.999 real %c3 button return next %sdeg 'C' &s .brd$sdeg; &s .brd$smin; &s .brd$ssec %ndeg input .brd$ndeg 3 required range -90 90 next %nmin return ~ '&run borderint %.brd$scale%' integer %nmin input .brd$nmin 2 required range 0 59 integer %nsec input .brd$nsec 6 required range 0 59.999 real %c4 button return next %ndeg 'C' &s .brd$ndeg; &s .brd$nmin; &s .brd$nsec %interval button return 'Subdivision and Tick Interval' ~ &if [show &thread &exists borderextra] &then; &thread &delete borderextra; ~ &thread &create borderextra &menu borderint &position &right &thread border ~ &stripe 'Subdivision and Tick Interval' %subgraticule button return 'Subgraticules Along Neatline' ~ &if [show &thread &exists borderextra] &then; &thread &delete borderextra; ~ &thread &create borderextra &menu subgrat &position &right &thread border ~ &stripe 'Subgraticules' %v checkbox .brd$view %proceed button 'Proceed to Create Map Border' &run border %forminit &s .brd$cover; ~ &s scaledenominator [calc %.brd$scale% / 1000]; ~ &s .brd$subgrat .FALSE.; ~ &s .brd$view .TRUE.; ~ &s .brd$gscdatabase .TRUE.; ~ &s .brd$neatline .TRUE.; ~ &s .brd$cover BOR%.carto$mapnumber%; ~ &run borderint %.brd$scale%