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

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

header improvements + xxx doc

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