Changeset 74 for trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX
- Timestamp:
- 05/23/06 15:45:47 (18 years ago)
- Location:
- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/.idlwave_catalog
r69 r74 2 2 ;; IDLWAVE catalog for library saxo 3 3 ;; Automatically Generated -- do not edit. 4 ;; Created by idlwave_catalog on T hu May 4 08:42:5520064 ;; Created by idlwave_catalog on Tue May 23 15:31:07 2006 5 5 ;; 6 6 (setq idlwave-library-catalog-libname "saxo") -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildcmd.pro
r69 r74 61 61 'plt':procedure = 'plt' 62 62 'pltz':procedure = 'pltz' 63 'pltz_diag':procedure = 'pltz' 63 'pltz diag up':procedure = 'pltz' 64 'pltz diag dn':procedure = 'pltz' 64 65 'pltt':procedure = 'pltt' 65 'pltt_diag':procedure = 'pltt' 66 'pltt diag up':procedure = 'pltt' 67 'pltt diag dn':procedure = 'pltt' 66 68 'xy':procedure = 'plt' 67 69 'xz':procedure = 'pltz' … … 126 128 ; 127 129 widget_control, txtcmdid, get_value = widcmd 130 widcmd = strtrim(widcmd, 2) 128 131 IF widcmd[0] EQ '' THEN widcmd = 'zzz' 129 132 … … 357 360 endif 358 361 box = box+']' 359 IF strpos(type, ' _diag') NE -1 THEN BEGIN362 IF strpos(type, ' diag up') NE -1 THEN BEGIN 360 363 sendpoints = '[' + strtrim(boxzoom[0], 1) + ', ' + strtrim(boxzoom[2], 1) + $ 361 364 ', ' + strtrim(boxzoom[1], 1) + ', ' + strtrim(boxzoom[3], 1) + ']' 362 365 ENDIF 366 IF strpos(type, ' diag dn') NE -1 THEN BEGIN 367 sendpoints = '[' + strtrim(boxzoom[0], 1) + ', ' + strtrim(boxzoom[3], 1) + $ 368 ', ' + strtrim(boxzoom[1], 1) + ', ' + strtrim(boxzoom[2], 1) + ']' 369 ENDIF 363 370 ;--------------- 364 371 ; on determine typein 365 372 ;--------------- 366 IF strpos(type, ' _diag') NE -1 THEN typein = ''''+strmid(type, 0, 4)+'''' $373 IF strpos(type, ' diag ') NE -1 THEN typein = ''''+strmid(type, 0, 4)+'''' $ 367 374 ELSE typein = ''''+type+'''' 368 375 ;--------------- … … 375 382 ;------------------------------------------------------------ 376 383 Cmd = [readCmd, procedure+ ', field $' $ 377 , ' , boxzoom = '+box+', typein='+typein+', small='+ssmall+' $']384 , ' , boxzoom = '+box+', /findalways, typein='+typein+', small='+ssmall+' $'] 378 385 IF drawvecteur then Cmd = [Cmd, ' , vecteur = {u: fieldu,v: fieldv} $'] 379 386 IF drawover then Cmd = [Cmd, ' , contour = fieldover $'] -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildreadcmd.pro
r69 r74 76 76 if size(exextra, /type) EQ 8 then extra = mixstru(exextra, extra) 77 77 sextra = struct2string(extra) 78 79 78 ;--------------- 80 79 ; find date1 and date2 … … 113 112 endif 114 113 box = box+']' 115 IF strpos(type, ' _diag') NE -1 THEN BEGIN114 IF strpos(type, ' diag up') NE -1 THEN BEGIN 116 115 sendpoints = '[' + strtrim(boxzoom[0], 1) + ', ' + strtrim(boxzoom[2], 1) + $ 117 116 ', ' + strtrim(boxzoom[1], 1) + ', ' + strtrim(boxzoom[3], 1) + ']' 117 ENDIF 118 IF strpos(type, ' diag dn') NE -1 THEN BEGIN 119 sendpoints = '[' + strtrim(boxzoom[0], 1) + ', ' + strtrim(boxzoom[3], 1) + $ 120 ', ' + strtrim(boxzoom[1], 1) + ', ' + strtrim(boxzoom[2], 1) + ']' 118 121 ENDIF 119 122 ;--------------- … … 138 141 , '; Do we change the grid?:', 'dummy = changegrid(meshparameters)' $ 139 142 , '; Read the data...' $ 140 , 'if keyword_set(date1in)then date1 = date1in else date1 = ' + sdate1 $141 , 'if keyword_set(date2in)then date2 = date2in else date2 = ' + sdate2 $143 , 'if n_elements(date1in) ne 0 then date1 = date1in else date1 = ' + sdate1 $ 144 , 'if n_elements(date2in) ne 0 then date2 = date2in else date2 = ' + sdate2 $ 142 145 , funclec_name+'('+snamevar+', date1, date2, '+snameexp $ 143 146 + ', timestep = '+strtrim(keyword_set(fakecal), 1)+', parent = '+strtrim(base, 2) $ 144 + ', boxzoom = '+box+' $' $147 + ', boxzoom = '+box+', /findalways $' $ 145 148 , ' , filename = '+sfilename+' $'] 146 149 if n_elements(sendpoints) NE 0 then $ -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefile.pro
r69 r74 30 30 ; Did we change the calendar? 31 31 if array_equal(oldcalendar, newcalendar) NE 1 then begin 32 @cm_4cal ; for key_caltype 32 @cm_4cal 33 ; for key_caltype 33 34 key_caltype = (*(extractatt(top_uvalue, 'fileparameters'))[newfile]).caltype 35 ; fake or real calendar??? 36 fakecal = (*(extractatt(top_uvalue, 'fileparameters'))[newfile]).fakecal 34 37 ; Which dates were selected? 35 38 date1id = widget_info(base, find_by_uname = 'calendar1') … … 46 49 basecal = widget_info(base, find_by_uname = 'basecal') 47 50 rien = cw_calendar(basecal, newcalendar, jdate1, uname = 'calendar1' $ 48 , uvalue = {name:'calendar1'}, /frame)51 , FAKECAL = fakecal, uvalue = {name:'calendar1'}, /frame) 49 52 rien = cw_calendar(basecal, newcalendar, jdate2, uname = 'calendar2' $ 50 , uvalue = {name:'calendar2'}, /frame)53 , FAKECAL = fakecal, uvalue = {name:'calendar2'}, /frame) 51 54 ENDIF ELSE BEGIN 52 55 if keyword_set(date1) then begin -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.pro
r69 r74 205 205 ; 206 206 ; high frequency calendar: more than one element per day 207 IF max(histogram([long(time )])) GT 1 THEN fakecal = 1 ELSE fakecal = 0207 IF max(histogram([long(time-time[0])])) GT 1 THEN fakecal = 1 ELSE fakecal = 0 208 208 date0fk = date2jul(19000101) 209 209 IF keyword_set(fakecal) THEN time = date0fk+lindgen(jpt) $ -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.pro
r69 r74 213 213 loadgrid, res.meshload, _extra = ex 214 214 215 glaminfo = moment(glamt)216 IF finite(glaminfo[2]) EQ 0 THEN glaminfo = glaminfo[0:1]217 gphiinfo = moment(gphit)218 IF finite(gphiinfo[2]) EQ 0 THEN gphiinfo = gphiinfo[0:1]219 ccmeshparameters = {filename: res.meshload $220 , glaminfo:glaminfo $221 , gphiinfo:gphiinfo $222 , jpiglo:jpiglo, jpjglo:jpjglo, jpkglo:jpkglo $223 , jpi:jpi, jpj:jpj, jpk:jpk $224 , ixminmesh:ixminmesh, ixmaxmesh:ixmaxmesh $225 , iyminmesh:iyminmesh, iymaxmesh:iymaxmesh $226 , izminmesh:izminmesh, izmaxmesh:izmaxmesh $227 , key_shift:key_shift, key_periodic:key_periodic $228 , key_stride:key_stride, key_gridtype:key_gridtype $229 , key_yreverse:key_yreverse, key_zreverse:key_zreverse $230 , key_partialstep:key_partialstep, key_onearth:key_onearth}231 232 215 ccreadparameters = {funclec_name:'read_ncdf' $ 233 216 , jpidta:jpidta, jpjdta:jpjdta, jpkdta:jpkdta $ -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xcreateanim.pro
r69 r74 2 2 @common 3 3 ; on recupere les aguments contenus ds le widget 4 5 6 7 8 9 10 4 if tag_names(event, /structure_name) NE 'WIDGET_BUTTON' then return 5 widget_control, event.id, get_uvalue = uval 6 if n_elements(uval) EQ 0 then return 7 if uval EQ 'cancel' then begin 8 widget_control, event.top, /destroy 9 return 10 ENDIF 11 11 ; on va ecrire l''animation! 12 12 ; 13 widget_control, event.top, get_uvalue = local_uvalue 14 widget_control, local_uvalue.parent, get_uvalue = top_uvalue 15 ; 16 calendar = (*(extractatt(top_uvalue, 'fileparameters'))[local_uvalue.indexfile]).time_counter 17 key_caltype = (*(extractatt(top_uvalue, 'fileparameters'))[local_uvalue.indexfile]).caltype 18 ; 19 widget_control, widget_info(event.top, find_by_uname = 'Filename') $ 20 , get_value = nomfic & nomfic = nomfic[0] 21 ; 22 widget_control, widget_info(event.top, find_by_uname = 'directorie') $ 23 , get_value = animdir & animdir = animdir[0] 24 ; 25 widget_control, widget_info(event.top, find_by_uname = 'debut') $ 26 , get_value = vdate1 27 index1 = where(calendar eq date2jul(vdate1)) & index1 = index1[0] 28 if index1 EQ -1 then return 29 ; 30 widget_control, widget_info(event.handler, find_by_uname = 'fin') $ 31 , get_value = vdate2 32 index2 = where(calendar eq date2jul(vdate2)) & index2 = index2[0] 33 if index2 EQ -1 OR index2 LE index1 then return 13 widget_control, event.top, get_uvalue = local_uvalue 14 widget_control, local_uvalue.parent, get_uvalue = top_uvalue 15 ; 16 calendar = (*(extractatt(top_uvalue, 'fileparameters'))[local_uvalue.indexfile]).time_counter 17 key_caltype = (*(extractatt(top_uvalue, 'fileparameters'))[local_uvalue.indexfile]).caltype 18 fakecal = (*(extractatt(top_uvalue, 'fileparameters'))[local_uvalue.indexfile]).fakecal 19 ; 20 widget_control, widget_info(event.top, find_by_uname = 'Filename') $ 21 , get_value = nomfic & nomfic = nomfic[0] 22 ; 23 widget_control, widget_info(event.top, find_by_uname = 'directorie') $ 24 , get_value = animdir & animdir = animdir[0] 25 ; 26 widget_control, widget_info(event.top, find_by_uname = 'debut') $ 27 , get_value = vdate1 28 index1 = where(calendar eq date2jul(vdate1)) & index1 = index1[0] 29 if index1 EQ -1 then return 30 ; 31 widget_control, widget_info(event.handler, find_by_uname = 'fin') $ 32 , get_value = vdate2 33 index2 = where(calendar eq date2jul(vdate2)) & index2 = index2[0] 34 if index2 EQ -1 OR index2 LE index1 then return 34 35 ; on detruit le widget avant de creer le fichier .ps 35 widget_control, event.top, /destroy 36 ; test pour savoir quel type des calendrier on a 37 caldat, calendar, m, d 38 if total(d EQ 15) EQ n_elements(d) then mensuel = 1 ELSE mensuel = 0 39 if total(d EQ 1) EQ n_elements(d) AND total(m EQ 6) EQ n_elements(m) $ 40 then annuel = 1 ELSE annuel = 0 36 widget_control, event.top, /destroy 41 37 ; 42 38 ; creation de la routine qui nous serviera pour faire le dessin 43 39 ; 44 40 ; on recupere la liste des instructions 45 41 globalcommand = extractatt(top_uvalue, 'globalcommand') 46 42 ; on complete par le premiere et les dernieres lignes du programme 47 48 43 createpro, globalcommand, filename = myuniquetmpdir + 'xxx2ps.pro' $ 44 , KWDLIST = ', NOERASE = noerase, POSTSCRIPT = postscript, DATE1IN = date1in, DATE2IN = date2in' 49 45 ; 50 46 ;--------creation du fichier---------- 51 47 ; 52 48 ; recupere le nombre d'octets surlequel on code la palette 53 49 device, get_visual_depth = depth 54 50 ; taille de l''image (en nombre de pixel: 55 56 51 xsize = !d.x_size 52 ysize = !d.y_size 57 53 ; 58 54 ; on verifie que le nom du fichier termine bien par .gif 59 60 61 62 window, /free, /pixmap, xsize=xsize, ysize=ysize55 if strpos(nomfic, '.gif') EQ -1 then nomfic = nomfic+'.gif' 56 57 current_window = !d.window 58 window, /free, /pixmap, xsize = xsize, ysize = ysize 63 59 64 60 65 61 ; indication du numero de l''image que l''on est en train de creer 66 67 68 69 widget_control,base,/realize62 base = widget_base() 63 sliderid = widget_slider(base, minimum = 1, maximum = index2-index1+1, value = 1 $ 64 , title = 'image number: ') 65 widget_control, base, /realize 70 66 ; 71 67 ; commencement du fichier gif. ecriture d''une image vide 72 date = jul2date(calendar[index1])73 74 ; 75 ; 76 68 IF keyword_set(fakecal) THEN date = index1 ELSE date = jul2date(calendar[index1]) 69 xxx2ps, /noerase, date1in = date, date2in = date 70 ; 71 ; 72 image = tvrd(true = depth GT 8) 77 73 ;- If an 8-bit image was read, reduce the number of colors 78 79 80 81 82 83 84 85 ; 86 74 if depth le 8 then begin 75 tvlct, red, green, blue, /get 76 reduce_colors, image, index 77 red = red[index] 78 green = green[index] 79 blue = blue[index] 80 endif 81 ; 82 if depth gt 8 then $ 87 83 ;- Convert 24-bit image to 8-bit 88 image = color_quan(image, 1, red, green, blue, colors=256, get_translation = translation, /map_all)89 ; 90 ; 91 write_gif,animdir+nomfic, image, red, green, blue, /multiple92 84 image = color_quan(image, 1, red, green, blue, colors = 256, get_translation = translation, /map_all) 85 ; 86 ; 87 write_gif, animdir+nomfic, image, red, green, blue, /multiple 88 wdelete, !d.window 93 89 ; 94 90 ; boucle de creation et d''ecriture ds le fichier. 95 91 ; 96 for ind = index1+1, index2 do BEGIN 92 IF index2 GT index1 THEN BEGIN 93 FOR ind = index1+1, index2 do BEGIN 97 94 ; 98 95 widget_control, sliderid, set_value = ind-index1+1 ; on bouge le slider 99 96 ; 100 window, /free, /pixmap, xsize =xsize, ysize=ysize101 date = jul2date(calendar[ind])97 window, /free, /pixmap, xsize = xsize, ysize = ysize 98 IF keyword_set(fakecal) THEN date = ind ELSE date = jul2date(calendar[ind]) 102 99 xxx2ps, /noerase, date1 = date, date2 = date 103 100 ; … … 105 102 ; 106 103 if depth gt 8 then $ 107 image = color_quan(image, 1, aaa, bbb, ccc, colors=256, translation = translation) ;108 ; 109 write_gif, animdir+nomfic,image,red, green, blue, /multiple104 image = color_quan(image, 1, aaa, bbb, ccc, colors = 256, translation = translation) ; 105 ; 106 write_gif, animdir+nomfic, image, red, green, blue, /multiple 110 107 wdelete, !d.window 111 ENDFOR 108 ENDFOR 109 ENDIF 112 110 ; on met une derniere image blanche 113 window, /free, /pixmap, xsize=xsize, ysize=ysize114 115 116 117 ; 118 119 image = color_quan(image, 1, aaa, bbb, ccc, colors=256, translation = translation) ;120 ; 121 write_gif,animdir+nomfic,image,red, green, blue, /multiple122 111 window, /free, /pixmap, xsize = xsize, ysize = ysize 112 reinitplt 113 plot, [0], [0], /nodata 114 image = tvrd(true = depth GT 8) 115 ; 116 if depth gt 8 then $ 117 image = color_quan(image, 1, aaa, bbb, ccc, colors = 256, translation = translation) ; 118 ; 119 write_gif, animdir+nomfic, image, red, green, blue, /multiple 120 wdelete, !d.window 123 121 ; fermeture du fichier 124 write_gif,animdir+nomfic,/close125 122 write_gif, animdir+nomfic, /close 123 widget_control, base, /destroy 126 124 ; rebascule en mode "normal" 127 128 ; 129 125 thisOS = strupcase(strmid(!version.os_family, 0, 3)) 126 ; 127 wset, current_window 130 128 131 129 ; si on est sous x on essaie de lancer xanim... 132 130 133 134 spawn, 'which xanim',result135 if strpos(result[0],'xanim') EQ strlen(result[0])-5 then spawn, 'xanim '+animdir+nomfic+' &'136 137 ; 138 139 131 if thisOS NE 'MAC' AND thisOS NE 'WIN' then begin 132 spawn, 'which xanim', result 133 if strpos(result[0], 'xanim') EQ strlen(result[0])-5 then spawn, 'xanim '+animdir+nomfic+' &' 134 endif 135 ; 136 137 return 140 138 end 141 139 ;---------------------------------------------------------------- … … 162 160 indexfile = (where(filelist EQ filenames[0]))[0] 163 161 calendar = (*(extractatt(top_uvalue, 'fileparameters'))[indexfile]).time_counter 162 key_caltype = (*(extractatt(top_uvalue, 'fileparameters'))[indexfile]).caltype 163 fakecal = (*(extractatt(top_uvalue, 'fileparameters'))[indexfile]).fakecal 164 164 if n_elements(filenames) GT 1 then begin 165 165 for i = 1, n_elements(filenames)-1 do begin … … 186 186 rien = widget_text(base,value=animdir, uname='directorie', /editable) 187 187 rien = widget_label(base, value = 'starting date') 188 rien = cw_calendar(base, calendar, uname = 'debut', uvalue = {name:'calendar'}, /frame) 188 rien = cw_calendar(base, calendar, calendar[0] $ 189 , FAKECAL = fakecal, uname = 'debut', uvalue = {name:'calendar'}, /frame) 189 190 rien = widget_label(base, value = 'ending date') 190 191 rien = cw_calendar(base, calendar, calendar[n_elements(calendar)-1] $ 191 , uname = 'fin', uvalue = {name:'calendar'}, /frame)192 , FAKECAL = fakecal, uname = 'fin', uvalue = {name:'calendar'}, /frame) 192 193 rien = widget_button(base,value='OK', uvalue = 'ok') 193 194 rien = widget_button(base,value='Cancel', uvalue = 'cancel') -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xxxmenubar_event.pro
r69 r74 32 32 widget_control, vlstid, set_combobox_select = 0 > index[0] 33 33 ; on s''occupe du calendrier 34 key_caltype = newfile.fileparameters.caltype 34 35 date1id = widget_info(event.top, find_by_uname = 'calendar1') 35 36 widget_control, date1id, get_value = date1 36 37 widget_control, date1id, /destroy 37 if (where(newfile.fileparameters.time_counter EQ date1))[0] EQ -1 $ 38 then date1 = newfile.fileparameters.time_counter[0] 38 jdate1 = jul2date(date1) 39 if (where(newfile.fileparameters.time_counter EQ jdate1))[0] EQ -1 $ 40 then jdate1 = newfile.fileparameters.time_counter[0] 39 41 date2id = widget_info(event.top, find_by_uname = 'calendar2') 40 42 widget_control, date2id, get_value = date2 41 43 widget_control, date2id, /destroy 42 if (where(newfile.fileparameters.time_counter EQ date2))[0] EQ -1 then date2 = date1 44 jdate2 = jul2date(date2) 45 if (where(newfile.fileparameters.time_counter EQ jdate2))[0] EQ -1 then jdate2 = jdate1 43 46 basecal = widget_info(event.top, find_by_uname = 'basecal') 44 rien = cw_calendar(basecal, newfile.fileparameters.time_counter, date1, uname = 'calendar1' $ 45 , uvalue = {name:'calendar1'}, /frame) 46 rien = cw_calendar(basecal, newfile.fileparameters.time_counter, date2, uname = 'calendar2' $ 47 , uvalue = {name:'calendar2'}, /frame) 47 fakecal = newfile.fileparameters.fakecal 48 rien = cw_calendar(basecal, newfile.fileparameters.time_counter, jdate1, uname = 'calendar1' $ 49 , FAKECAL = fakecal, uvalue = {name:'calendar1'}, /frame) 50 rien = cw_calendar(basecal, newfile.fileparameters.time_counter, jdate2, uname = 'calendar2' $ 51 , FAKECAL = fakecal, uvalue = {name:'calendar2'}, /frame) 48 52 ; on update les elements fileparameters, readparameters et meshparameters de la top_uvalue 49 53 newfileparameters = ptrarr(currentfile+1, /allocate_heap)
Note: See TracChangeset
for help on using the changeset viewer.