home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / libs / matlab.lzh / MATLAB / MATLAB.LZH / Source / Plot / lnopts.for < prev    next >
Encoding:
Text File  |  1991-04-13  |  4.3 KB  |  160 lines

  1.       SUBROUTINE LNOPTS (NLINES, SYMSIZ, INTSYM, ISYMNO, LINSYL, ICURS)
  2.       IMPLICIT NONE
  3. C
  4.       INCLUDE MATLAB$KOM:SIZEPARMS.INC
  5. C
  6. C
  7. C ***      SET THE LINE SYMBOL OPTIONS
  8. C
  9.       INTEGER NLINES, INTSYM(LINES), ISYMNO(LINES), LINSYL(LINES)
  10.       REAL SYMSIZ(LINES)
  11.       CHARACTER*(*) ICURS
  12. C
  13.       INCLUDE MATLAB$KOM:IOP.KOM
  14.       INCLUDE MATLAB$KOM:MATPLT.KOM
  15. C
  16.       CHARACTER*1 ANS
  17.       INTEGER IANS, LSTART, LEND, LINENO, I
  18. C
  19. C
  20. 620   CONTINUE
  21.       CALL DSSTRN (' PLEASE SELECT A LINE OPTION', 1)
  22.       CALL DSSTRN (' [1] CHOOSE LINE SYMBOL TYPE', 1)
  23.       CALL DSSTRN (' [2] CHOOSE LINE PATTERN TYPE', 1)
  24.       CALL DSSTRN (' [3] RETURN TO PREVIOUS MENU', 1)
  25.       CALL DSCURS (ICURS)
  26.       CALL VALGET (0, IANS, 'I')
  27.       GO TO  (460, 660, 900), IANS
  28.       CALL MENUER (3)
  29.       GO TO 620
  30. C
  31. 460   CONTINUE
  32.       LSTART = 1
  33.       LEND = 1
  34.       IF (NLINES.GT.1) THEN
  35.         CALL CHKEND
  36.         CALL DSSTRN (' CHOOSE SYMBOLS FOR ALL LINES?', 1)
  37.         CALL DSCURS (ICURS)
  38.         READ (RTE, 463) ANS
  39. 463     FORMAT (A1)
  40.         IF (WIO.NE.0) WRITE (WIO, 464) ANS
  41. 464     FORMAT (1X, A1)
  42.         IF (ANS.NE.'Y' .AND. ANS.NE.'y' .AND.
  43.      .      ANS.NE.'N' .AND. ANS.NE.'n') THEN
  44.           CALL DSERR ('ERROR.  PLEASE ANSWER YES (Y) OR NO (N)')
  45.           GO TO 460
  46.         ENDIF
  47.         IF (ANS.EQ.'Y' .OR. ANS.EQ.'y') THEN
  48.           LSTART = 1
  49.           LEND = NLINES
  50.         ELSE
  51. 466       CONTINUE
  52.           CALL CHKEND
  53.           CALL DSSTRN (' PLEASE CHOOSE THE LINE NUMBER', 1)
  54.           CALL DSCURS (ICURS)
  55.           CALL VALGET (0, LINENO, 'I')
  56.           IF (LINENO.GT.NLINES) THEN
  57.             CALL MENUER (NLINES)
  58.             GO TO 466
  59.           ENDIF
  60.           LSTART = LINENO
  61.           LEND = LINENO
  62.         ENDIF
  63.       ENDIF
  64. C
  65.       DO 476 I = LSTART, LEND
  66. 468     CONTINUE
  67.         CALL CHKEND
  68.         CALL DSSTRN (' FOR LINE NUMBER ', 0)
  69.         CALL DSWDI (I, 0)
  70.         CALL DSSTRN (' PLEASE CHOOSE AN OPTION', 1)
  71.         CALL DSSTRN (' [1] NO SYMBOL', 1)
  72.         CALL DSSTRN (' [2] TRIANGLE', 1)
  73.         CALL DSSTRN (' [3] BOX', 1)
  74.         CALL DSSTRN (' [4] DIAMOND', 1)
  75.         CALL DSSTRN (' [5] HOURGLASS', 1)
  76.         CALL DSSTRN (' [6] RETURN TO LINE OPTIONS MENU', 1)
  77.         CALL DSCURS (ICURS)
  78.         CALL VALGET (0, IANS, 'I')
  79.         GO TO  (475, 470, 470, 470, 470, 900), IANS
  80.         CALL MENUER (6)
  81.         GO TO 468
  82. C
  83. 470     CONTINUE
  84.         ISYMNO(I) = IANS-1
  85. 471     CONTINUE
  86.         CALL CHKEND
  87.         CALL DSSTRN (
  88.      .      ' ENTER THE SYMBOL SIZE IN CM (BLANK LINE = DEFAULT)', 1)
  89.         CALL DSCURS (ICURS)
  90.         CALL VALGET (SYMSIZ(I), 0, 'F')
  91.         CALL DSSTRN (' ENTER THE SYMBOL INTERVALS', 1)
  92.         CALL DSCURS (ICURS)
  93.         CALL VALGET (0, INTSYM(I), 'I')
  94.         GO TO 476
  95. C
  96. 475     CONTINUE
  97.         ISYMNO(I) = IANS-1
  98. 476   CONTINUE
  99.       GO TO 620
  100. C
  101. 660   CONTINUE
  102.       LSTART = 1
  103.       LEND = 1
  104.       IF (NLINES.GT.1) THEN
  105.         CALL CHKEND
  106.         CALL DSSTRN (' CHOOSE LINE STYLES FOR ALL LINES?', 1)
  107.         CALL DSCURS (ICURS)
  108.         READ (RTE, 463) ANS
  109.         IF (WIO.NE.0) WRITE (WIO, 464) ANS
  110.         IF (ANS.NE.'Y' .AND. ANS.NE.'y' .AND.
  111.      .      ANS.NE.'N' .AND. ANS.NE.'n') THEN
  112.           CALL DSERR ('ERROR. PLEASE ANSWER YES (Y) OR NO (N)')
  113.           GO TO 660
  114.         ENDIF
  115.         IF (ANS.EQ.'Y' .OR. ANS.EQ.'y') THEN
  116.           LSTART = 1
  117.           LEND = NLINES
  118.         ELSE
  119. 666       CONTINUE
  120.           CALL CHKEND
  121.           CALL DSSTRN (' PLEASE CHOOSE THE LINE NUMBER', 1)
  122.           CALL DSCURS (ICURS)
  123.           CALL VALGET (0, LINENO, 'I')
  124.           IF (LINENO.GT.NLINES) THEN
  125.             CALL MENUER (NLINES)
  126.             GO TO 666
  127.           ENDIF
  128.           LSTART = LINENO
  129.           LEND = LINENO
  130.         ENDIF
  131.       ENDIF
  132. C
  133.       DO 675 I = LSTART, LEND
  134. 667     CONTINUE
  135.         CALL CHKEND
  136.         CALL DSSTRN (' FOR LINE NUMBER ', 0)
  137.         CALL DSWDI (I, 0)
  138.         CALL DSSTRN (' PLEASE CHOOSE A LINE STYLE', 1)
  139.         CALL DSSTRN (' [1] SOLID LINE', 1)
  140.         CALL DSSTRN (' [2] LONG DASH', 1)
  141.         CALL DSSTRN (' [3] SHORT DASH', 1)
  142.         CALL DSSTRN (' [4] DOT DASH', 1)
  143.         CALL DSSTRN (' [5] RETURN TO LINE OPTIONS MENU', 1)
  144.         CALL DSCURS (ICURS)
  145.         CALL VALGET (0, IANS, 'I')
  146.         GO TO  (670, 670, 670, 670, 620), IANS
  147. C
  148.         CALL MENUER (5)
  149.         GO TO 667
  150. C
  151. 670     CONTINUE
  152.         LINSYL(I) = IANS
  153. C
  154. 675   CONTINUE
  155.       GO TO 620
  156. C
  157. 900   CONTINUE
  158.       RETURN
  159.       END
  160.