source: trunk/SRC/ToBeReviewed/COULEURS/newpalette.pro @ 114

Last change on this file since 114 was 114, checked in by smasson, 18 years ago

new compilation options (compile_opt idl2, strictarrsubs) in each routine

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.4 KB
Line 
1;------------------------------------------------------------
2;------------------------------------------------------------
3;------------------------------------------------------------
4;+
5; NAME:newpalette
6;
7; PURPOSE:permet de stocker la palette qui est a l''ecran dans un
8; fichier du meme type que celui fournit par defaut dans IDL:
9; 'colors1.tbl'.
10;
11; CATEGORY:pour garder ses jolies palettes perso.
12;
13; CALLING SEQUENCE:newpalette,nom_de_palette
14;
15; INPUTS:nom_de_palette: c'est un string qui contient le nom de la
16; nouvelle palette que l''on veut ecrire.
17;
18; KEYWORD PARAMETERS:
19;
20; OVER: c''est un entier qui designe le numero de la palette que l''on
21; veut remplacer par la palette a l''ecran.
22;
23; + ceux de modifyct
24;
25; rq: si le mot cle file n''est pas specifie, on cherche un fichier
26; contenant les palettes du nom de palette.tbl.
27; Ce fichier peut etre dans n''importe quel repertoire du !path
28; Par contre il doit etre en droit d''ecriture
29;
30; MODIFICATION HISTORY: Guillaume Roulet (gr@lodyc.jussieu.fr)
31;                       30/3/1999 s.masson, ajout de _extra, de le
32;                       recherche du nom complet, de OVER et du blabla
33;                       5/5/1999 s.masson, va copie eventuelle du
34;                       fichier contenant les palettes
35;-
36;------------------------------------------------------------
37;------------------------------------------------------------
38;------------------------------------------------------------
39pro newpalette,nom, OVER = over, _extra = ex
40; le mot cle file est passe par l''intermediere de EXTRA?
41; definition du mon du fichier qui contient les palettes de couleur
42;
43  compile_opt idl2, strictarrsubs
44;
45   if n_elements(ex) NE 0 then BEGIN
46      if (where(tag_names(ex) EQ 'FILE'))[0] NE -1 then nompal=ex.FILE ELSE nompal='palette.tbl'
47   ENDIF ELSE nompal = 'palette.tbl'
48   nomcourt = nompal
49; quelle est l''adresse complete de nompal?
50   nompal = find(nompal)
51   if nompal[0] NE 'NOT FOUND' then begin
52      nompal = nompal[0]
53; nompal nous appartient???
54      spawn, 'whoami', login
55      appartient = strpos(nompal, login[0])
56      if appartient EQ -1 then begin
57         ouinon = report('Le fichier '+nompal+' ne vous appartient pas, Voulez-vous copier le fichier '+nomcourt+' dans le repertoire courant: '+current+' ?', /default_no, /question)
58         if ouinon then return ELSE BEGIN
59            spawn, 'cp '+nompal+' '+nomcourt ; on copie
60            nompal = nomcourt
61            spawn,  'chmod u+w '+nompal ; on se donne les droits d''ecriture
62         ENDELSE
63      endif
64   ENDIF ELSE BEGIN             ; aucun fichier nompal a ete trouve
65      nompal = nomcourt         ; on recupe le nompal d''origine
66      ouinon = report('le fichier de palettes demande '+nompal+' n''existe pas ds les repertoires !path. Voulez-vous cree un fichier '+nompal+' dans le repertoire courant', /default_no, /question)
67      if NOT ouinon then return
68      nomfichsource = filepath('colors1.tbl', subdir=['resource', 'colors'])
69      spawn,'cp '+nomfichsource+' '+nompal ; on copie
70      spawn,  'chmod u+w '+nompal ; on se donne les droits d''ecriture
71   ENDELSE
72
73   if n_elements(ex) NE 0 then $
74    if (where(tag_names(ex) EQ 'FILE'))[0] NE -1 then ex.FILE = nompal
75;
76   tvlct,r,g,b,/get
77   r=congrid(r,256)
78   g=congrid(g,256)
79   b=congrid(b,256)
80   IF n_elements(over) EQ 0 then over = 255
81   modifyct,over,nom,r,g,b,file=nompal, _extra = ex
82;
83   return
84end
Note: See TracBrowser for help on using the repository browser.