source: trunk/SRC/ToBeReviewed/UTILITAIRE/oups.pro @ 367

Last change on this file since 367 was 325, checked in by pinsard, 17 years ago

modification of some headers (+some corrections) to prepare usage of the new idldoc

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.4 KB
Line 
1;+
2;
3; @file_comments
4; Kind of UNDO:
5; Allows to redo all the chain of drawing since the opening of the last window
6; without reexecute the last order
7;
8; Example: I do a drawing with 10 plot over it, if I make a
9; mistake, I execute this program and I can redo the only plot missed.
10;
11; @categories
12; utilities
13;
14; @restrictions
15; compatible with \@<pro>ps</pro>
16; \@<pro>vzoom</pro> text_box...
17;
18; @history
19; Sebastien Masson (smasson\@lodyc.jussieu.fr)
20;
21; @version
22; $Id$
23;
24; @todo
25; seb
26;
27;-
28; Close the journal!
29journal
30;
31; we recuperate the journal as a vector of string:
32   vectjournal = getfile(myuniquetmpdir+'idlsave.pro')
33; we cut the last line which is oups
34   vectjournal = vectjournal[0:n_elements(vectjournal)-2 ]
35;------------------------------------------------------------
36; we correct it if there is the need...
37;------------------------------------------------------------
38for i = 0, n_elements(vectjournal)-1 do $
39 if strpos(vectjournal[i],'text_box' ) EQ -1 then $
40 vectjournal[i] = strtrim(strcompress(vectjournal[i]), 2)
41;2 line are identical ??
42for i = 0, n_elements(vectjournal)-2 do $
43 if vectjournal[i] EQ vectjournal[i+1] then vectjournal[i] = ' '
44
45for i = 0, n_elements(vectjournal)-1 do BEGIN & $
46 if strpos(vectjournal[i],'oups' ) NE -1 $
47 OR strpos(vectjournal[i],'Syntax error' ) NE -1 $
48 OR strpos(vectjournal[i],'Illegal character' ) NE -1 $
49 then BEGIN vectjournal[i] = ' ' & vectjournal[i-1] = ' ' & endif & $
50 if strpos(strtrim(vectjournal[i], 1),'retall' ) EQ 0 $
51 OR strpos(vectjournal[i],'@oups' ) NE -1 $
52 OR strpos(vectjournal[i],'@ps' ) NE -1 $
53 OR strpos(vectjournal[i],'@vzoom' ) NE -1 $
54 OR strpos(vectjournal[i],'help' ) NE -1 $
55 OR strpos(vectjournal[i],'print' ) NE -1 $
56 then  vectjournal[i] = ' ' & $
57 if strpos(vectjournal[i],'text_box' ) NE -1 then $
58 vectjournal[i] = vectjournal[i]+strmid(vectjournal[i+1], 1) & endfor
59;
60; we erase the last line to reexecute all the program but the last order.
61;
62 IF strpos(vectjournal[n_elements(vectjournal)-1],';,pos=[' ) NE -1 then $
63 vectjournal[n_elements(vectjournal)-2] = '' $
64 ELSE vectjournal[n_elements(vectjournal)-1] = ''
65; we rewrite idlsave.pro
66 putfile, myuniquetmpdir+'idlsave.pro', vectjournal
67; update the list of .pro and .sav in !PATH
68 path_cache, /rebuild
69; apply idlsave
70@idlsave
71; the journal has just been reopened, and we put elements of vectjournal in it.
72for i = 0, n_elements(vectjournal)-1 DO $
73journal, vectjournal[i]
Note: See TracBrowser for help on using the repository browser.