source: trunk/WIDGET/AUTOUR_de_XXX/letsdraw.pro @ 2

Last change on this file since 2 was 2, checked in by opalod, 22 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1;------------------------------------------------------------
2;------------------------------------------------------------
3;------------------------------------------------------------
4;+
5; NAME:widgetdessine
6;
7; PURPOSE: c'est la procedure qui lance le dessin. Si on ne le lui
8; donne pas de commande, elle appelle construitcommande pour savoir
9; quoi tracer.
10;
11; CATEGORY:
12;
13; CALLING SEQUENCE:widgetdessine, base
14;
15; INPUTS:base: l''id du widget ou appliquer le dessin
16;
17; KEYWORD PARAMETERS:
18;       COMMANDE: un string du style: read_data('sst'...),....
19;
20; OUTPUTS:
21;
22; COMMON BLOCKS:common.pro
23;
24; SIDE EFFECTS:
25;
26; RESTRICTIONS:
27;
28; EXAMPLE:
29;
30; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)
31;
32;-
33;------------------------------------------------------------
34;------------------------------------------------------------
35;------------------------------------------------------------
36
37PRO letsdraw, base, COMMANDE = commande, FORPLTH = forplth, FORPLTZ = forpltz, FORPLTT = forpltt, _extra = ex
38@common
39; on recupere la uvalue de base
40; widget_control,base, get_uvalue = top_uvalue
41; print, '*****************'
42; help,  top_uvalue, /struct
43; help,  top_uvalue.exextra, /struct
44   if NOT keyword_set(commande) then $
45    commande = buildcommand(base, FORPLTH=forplt, FORPLTZ=forpltz, FORPLTT=forpltt, _extra=ex)
46   if commande[0] EQ '' then return
47; on recupere la uvalue de base
48   widget_control, base, /hourglass
49   widget_control,base, get_uvalue = top_uvalue
50; print, '*****************'
51; help,  top_uvalue, /struct
52; print, '***..........****'
53;  help,  top_uvalue.exextra, /struct
54;  help,  top_uvalue.extra, /struct
55; print, '-*-*-*-*-*-*-*-*-*'
56; print, commande
57; help,mixstru(top_uvalue.exextra,top_uvalue.extra), /struct
58;
59;
60; on recuperel''id de la fenetre graphique associee au widget d''id base
61   graphid = extractatt(top_uvalue, 'graphid')
62   widget_control, graphid, get_value = win
63; on la selectionne (c''est a elle que sera passe toutes les commandes
64; concernant une fenetre)
65   wset, win
66;   erase, 255                       ; on netoie la fenetre
67; on s''assure que si on travaille avec un ecran codant les couleurs
68; sur 24 bits la couleur de fond specifiee!p.background est bien
69; appliquee
70;    if !d.n_colors gt 256 then begin
71;       device, decomposed=1
72;       !p.background='ffffff'x
73;       plot,[0],[0]
74;       device, decomposed=0
75;    ENDIF
76;
77   petitout = long(extractatt(top_uvalue, 'petitout'))
78   numdessinout = petitout[2]-1
79;
80   tracecadre, petitout, /fill
81;
82;
83   options = extractatt(top_uvalue, 'options')   
84   optionsflag = extractatt(top_uvalue, 'optionsflag')
85   portrait = (strtrim(optionsflag[where(options EQ 'Portrait/Landscape'), 0], 1))[0]
86   
87;
88   createpro, ['@common' $
89               , 'noerase = 1' $
90               , 'portrait = '+portrait $
91               , Commande] $
92    , filename = isafile(file = 'xxx_oneplot', io = homedir,/new)
93;
94   inserthistory, base, Commande,'; beginning of '+strtrim(petitout[2], 1) $
95    , '; end of '+strtrim(petitout[2], 1)
96;
97   (*top_uvalue[1, findline(top_uvalue, 'penvs')])[numdessinout] = !p
98   (*top_uvalue[1, findline(top_uvalue, 'xenvs')])[numdessinout] = !x
99   (*top_uvalue[1, findline(top_uvalue, 'yenvs')])[numdessinout] = !y
100
101   return
102end
Note: See TracBrowser for help on using the repository browser.