      Subroutine Update(Akeep)
c ***********************************************************************
c *                                                                     *
c *        Subroutine Update  -  To move, change, add, and              *
c *        delete labels from a plot, using the graphics crosshairs.    *
c *                                                                     *
c *            Programmed by Steven C. Fisher, DTRC Code 1522           *
c *                                                                     *
c ***********************************************************************
c
      Common/Textbl/Ntxbl
      Common/Txplot/Xtxorg(10),Ytxorg(10),Xtlen(10),Ytlen(10),
     $              Loctx(10),Txszrt(10)
      Common/Legmov/Xorig,Yorig,Xlegln,Ylegln,Lesize,Legcnr,Leglin,
     $              Gblspc
      Virtual Akeep(28,50)
c
      Call Labset(Lset)
      Call Rpldat(Akeep)
      If (Lset .NE. 0) Call Stcstn(Lset)
      Call SetScl
      Call Pltoff
      Write(7,100) 27,27
100   Format(1X,1A1,'[1;2r',1A1,'[H')
c
 10   Continue
c
      Write(7,200) 27,7,27
200   Format(1X,A1,'[HPLOT MODIFICATION:  Select (L)abels, L(E)gend,',
     $       ' (T)ext Blocks, or (S)top  ',2A1,'[K',$)
c
      Call Instrg('LlEeTtSs',8,Ich)
      Ich = (Ich+1)/2
c
      If (Ich .EQ. 1) Then
         Call Labup(Akeep,Lset)
      Else If (Ich .EQ. 2) Then
         If (Legcnr .NE. 0) Call Movleg
      Else If (Ich .EQ. 3) Then
         If (Ntxbl .NE. 0) Call Mvtxbl
      Else
         Write(7,300) 27,27
300      Format(1X,1A1,'[1;24r',1A1,'[H')
         Call Enderi(Akeep)
         Return
      End If
      Go To 10
c
      End
      Subroutine Pldlst
c
      Common/Tmdata/TmDvTy,TmGrSt,TmGrOf,TmGrCl,TmGrOn,
     $              CrHrOn,CrHrOf
      Character*20  TmDvTy,TmGrSt,TmGrOf,TmGrCl,TmGrOn,CrHrOn,CrHrOf
      Call Plton
c
      If (Tmdvty .EQ. '4105') Then
         Call Sttxco(8)
         Call Staxco(8)
         Call Stplco(8)
         Call Stsyco(8)
         Call Stcols(8)
      Else If (Tmdvty .EQ. '4014') Then
         Call Plflsh
         Write(7,100) 27
100      Format(1X,1A1,'/1d',$)
      Else If (Tmdvty .EQ. 'VT12') Then
         Call Plflsh
         Call Pltoff
         Write(7,200) 27
200      Format(1X,1A1,'PpW(E);')
      End If
      Return
      End
      Subroutine Pldlen
c
      Common/Tmdata/TmDvTy,TmGrSt,TmGrOf,TmGrCl,TmGrOn,
     $              CrHrOn,CrHrOf
      Character*20  TmDvTy,TmGrSt,TmGrOf,TmGrCl,TmGrOn,CrHrOn,CrHrOf
c
      If (Tmdvty .EQ. '4105') Then
         Call Sttxco(1)
         Call Staxco(1)
         Call Stplco(1)
         Call Stsyco(1)
         Call Stcols(1)
         Call Plflsh
      Else If (Tmdvty .EQ. '4014') Then
         Call Plflsh
      Else If (Tmdvty .EQ. 'VT12') Then
         Call Plflsh
         Write(7,100) 27
100      Format(1X,1A1,'PpW(V);')
      End If
      Call Pltoff
c
      Return
      End
