source: trunk/SRC/ToBeReviewed/POSTSCRIPT/ps.pro @ 134

Last change on this file since 134 was 134, checked in by navarro, 18 years ago

change *.pro file properties (del eof-style, del executable, set keywords Id

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.6 KB
Line 
1;------------------------------------------------------------
2;------------------------------------------------------------
3;------------------------------------------------------------
4;+
5; NAME:ps
6;
7; PURPOSE:redirige le contenu de la fenetre graphique ds un postcript,
8; en reeffectuant les commandes ds l''environnement postscript.
9;
10; CATEGORY:pour faire un ps
11;
12; CALLING SEQUENCE:@ps
13;
14; INPUTS:
15;
16; KEYWORD PARAMETERS:
17;;
18; OUTPUTS:
19;
20; COMMON BLOCKS:
21;
22; SIDE EFFECTS: on utilise journal qui perment de stoker les commandes
23; que l''on passe.
24;
25; RESTRICTIONS:peut planter si des commandes bizarres sont passees...
26; rq: on efface les Syntax error, les Illegal character, commapatible
27; avec oups, text_box...
28;
29; EXAMPLE:
30;
31; MODIFICATION HISTORY: Sebastien Masson (smasson@lodyc.jussieu.fr)
32;                       5/3/1999
33;-
34;------------------------------------------------------------
35;------------------------------------------------------------
36;------------------------------------------------------------
37;------------------------------------------------------------
38; il faut fermer le journal!
39;------------------------------------------------------------
40;   if !journal EQ 0 then begin
41;      print, 'Il n''y a pas de journal ouvert !!'
42;      GOTO, sortie
43journal
44;------------------------------------------------------------
45; on complete le journal ...
46;------------------------------------------------------------
47; on recupere le journal sous la forme d''un vecteur de string:
48vectjournal = getfile(myuniquetmpdir+'idlsave.pro')
49;FOR i = 0,n_elements(vectjournal)-1 DO  print, vectjournal[i]
50;------------------------------------------------------------
51; on coupe la derniere ligne qui est @ps
52;------------------------------------------------------------
53IF strpos(vectjournal[n_elements(vectjournal)-1],'@ps') ne -1 then $
54  vectjournal = vectjournal[0:n_elements(vectjournal)-2 ]
55;------------------------------------------------------------
56; on le corrige si besoin est...
57;------------------------------------------------------------
58for i = 0, n_elements(vectjournal)-1 do $
59 if strpos(vectjournal[i],'text_box' ) EQ -1 then $
60 vectjournal[i] = strtrim(strcompress(vectjournal[i]), 2)
61;FOR i = 0,n_elements(vectjournal)-1 DO print, vectjournal[i]
62;2 lignes sont identiques ??
63for i = 0, n_elements(vectjournal)-2 do $
64 if vectjournal[i] EQ vectjournal[i+1] then vectjournal[i] = ' '
65;FOR i = 0,n_elements(vectjournal)-1 DO print, vectjournal[i]
66
67for i = 0, n_elements(vectjournal)-1 do BEGIN & $
68 if strpos(vectjournal[i],'oups' ) NE -1 $
69 OR strpos(vectjournal[i],'Syntax error' ) NE -1 $
70 OR strpos(vectjournal[i],'Illegal character' ) NE -1 $
71 then BEGIN vectjournal[i] = ' ' & vectjournal[i-1] = ' ' & endif & endfor
72;FOR i = 0,n_elements(vectjournal)-1 DO print, vectjournal[i]
73for i = 0, n_elements(vectjournal)-1 do BEGIN & $
74 if strpos(strtrim(vectjournal[i], 1),'retall' ) EQ 0 $
75 OR strpos(vectjournal[i],'@ps' ) NE -1 $
76 OR strpos(vectjournal[i],'@oups' ) NE -1 $
77 OR strpos(vectjournal[i],'@vzoom' ) NE -1 $
78 OR strpos(vectjournal[i],'help' ) NE -1 $
79 OR strpos(vectjournal[i],'print' ) NE -1 $
80 then  vectjournal[i] = ' ' & endfor
81;FOR i = 0,n_elements(vectjournal)-1 DO print, vectjournal[i]
82for i = 0, n_elements(vectjournal)-1 do BEGIN & $
83 if strpos(strtrim(vectjournal[i], 1),'plt' ) NE -1 THEN BEGIN & $
84 if strpos(strtrim(vectjournal[i], 1),'noerase') NE -1 then $
85 vectjournal[i] = chkeywd(vectjournal[i],'noerase',1) ELSE $
86 vectjournal[i] = vectjournal[i]+',/noerase' & $
87 ENDIF & endfor
88;FOR i = 0,n_elements(vectjournal)-1 DO print, vectjournal[i]
89for i = 0, n_elements(vectjournal)-1 do BEGIN & $
90 if strpos(vectjournal[i],'text_box' ) NE -1 then $
91 IF strpos(vectjournal[i],',pos=' ) EQ -1 then $
92 vectjournal[i] = vectjournal[i]+strmid(vectjournal[i+1], 1) & endfor
93
94; on le complete pour le transformer en une procedure equivalente a plein2dessin
95;   vectjournal = ['reinitplt, /z,/invert' $
96   vectjournal = ['openps, infowidget= infowidget' $
97                  , vectjournal $
98                  ,'closeps, infowidget= infowidget' $
99                  ,'printps' ]
100;FOR i = 0,n_elements(vectjournal)-1 DO print, vectjournal[i]
101; on reecrit idlsave.pro
102   putfile, myuniquetmpdir+'idlsave.pro', vectjournal
103; applique idlsave
104   cd,  current = curdir
105   cd, myuniquetmpdir
106@idlsave   
107   cd, curdir
108; on reouvre le journal et on y met les elements de
109; vectjournal sauf les 2 premieres lignes et les 3 dernieres lignes
110journal, myuniquetmpdir+'idlsave.pro'
111for i = 2, n_elements(vectjournal)-3 DO $
112printf,  !journal, vectjournal[i]
113
114;------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.