PRO doubleclickaction, event ;------------------------------------------------------------ widget_control, event.id, get_uvalue = uval widget_control,event.top, get_uvalue = top_uvalue ; on active la bonne fenetre widget_control,event.id,get_value=win wset, win ; quel est le dessin selectionne?? petitin = extractatt(top_uvalue, 'petitin') petitout = extractatt(top_uvalue, 'petitout') x = (convert_coord(uval.x[0],uval.y[0], /device, /to_normal))[0] y = (convert_coord(uval.x[0],uval.y[0], /device, /to_normal))[1] numcolonne = n_elements(where(findgen(petitin[0])/petitin[0] lt x))-1 numligne = n_elements(where(findgen(petitin[1])/petitin[1] lt 1-y))-1 numdessin = numcolonne+numligne*petitin[0]+1 ; choix du type d''action case uval.press of 1:BEGIN ; if top_uvalue.petitin[2] NE numdessin then begin tracecadre, petitin, /erase if total(petitin EQ petitout) EQ 3 then $ tracecadre, petitout, /out petitin = [petitin[0:1], numdessin] *top_uvalue[1, findline(top_uvalue, 'petitin')] = petitin tracecadre, petitin !p = (extractatt(top_uvalue, 'penvs'))[numdessin-1] !x = (extractatt(top_uvalue, 'xenvs'))[numdessin-1] !y = (extractatt(top_uvalue, 'yenvs'))[numdessin-1] ; END 2:BEGIN ; if top_uvalue.petitout[2] NE numdessin then begin tracecadre, petitout, /erase if total(petitin EQ petitout) EQ 3 then $ tracecadre, petitin petitout = [petitin[0:1], numdessin] *top_uvalue[1, findline(top_uvalue, 'petitout')] = petitout tracecadre, petitout, /out ; endif END 4:BEGIN tracecadre, [petitin[0:1], numdessin], /fill inserthistory, event.top, ';', '; beginning of '+strtrim(numdessin, 2) $ , '; end of '+strtrim(numdessin, 2) ; remise a 0 des attributs de la uvalue concernant ce dessin: numdessin = numdessin-1 (*top_uvalue[1, findline(top_uvalue, 'champs')])[*, numdessin] = ['', ''] (*top_uvalue[1, findline(top_uvalue, 'dates')])[*, numdessin] = [0l, 0l] (*top_uvalue[1, findline(top_uvalue, 'nameprocedures')])[numdessin] = '' (*top_uvalue[1, findline(top_uvalue, 'types')])[numdessin] = '' (*top_uvalue[1, findline(top_uvalue, 'domaines')])[*, numdessin] = fltarr(6) (*top_uvalue[1, findline(top_uvalue, 'prefixes')])[numdessin] = '' if numdessin EQ petitin[2] then $ tracecadre, petitin if numdessin EQ petitout[2] then $ tracecadre, petitout, /out END endcase updatewidget, event.top ;------------------------------------------------------------ return end