FUNCTION qImage_SendInfo, qimage_cw_state ;+ ; NAME: ; qImage_SendInfo ; PURPOSE: ; Set up the event to be send by qImage to another widget ; CATEGORY: ; Widget qImage ; CALLING SEQUENCE: ; event = qImage_SendInfo(qimage_cw_state) ; INPUTS: ; qimage_cw_state array[1]; type: structure ; qImage_cw state structure ; OUTPUTS: ; event array[1]; type: structure ; QIMAGE_SEND event ; INCLUDE: @compile_opt.pro ; On error, return to caller ; CALLS: ; qImage_cw_Box, qImage_SendStructure ; PROCEDURE: ; The required information is extracted from the state structure ; and put into the event structure. The event structure is explained in ; qImage_SendStructure ; MODIFICATION HISTORY: ; FEB-2000, Paul Hick (UCSD/CASS) ; FEB-2001, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ; Added optical axis to event structure ;- qImage_cw_Box, qimage_cw_state, box, /get, p_box=p_box widget_control, qimage_cw_state.wid_xyz[4], get_value=zmin widget_control, qimage_cw_state.wid_xyz[5], get_value=zmax widget_control, qimage_cw_state.wid_xyz[6], get_value=zavg widget_control, qimage_cw_state.wid_xyz[7], get_value=zstd widget_control, qimage_cw_state.wid_background, get_value=zback widget_control, qimage_cw_state.wid_tool, get_uvalue=tool_state, /no_copy fixz = tool_state.send.fixz zlog = tool_state.send.zlog zoom = tool_state.send.zoom_uval zlo = tool_state.send.zmin zhi = tool_state.send.zmax widget_control, qimage_cw_state.wid_tool, set_uvalue=tool_state, /no_copy ; The ID, TOP and HANDLER fields are apparently set before being passed to an event handler. ; The ID is set to state.wid_send; the top and handler are set as if the event originated ; from state.wid_send. event = qImage_SendStructure() event.qimage_cw_state = qimage_cw_state event.offset= qimage_cw_state.img_offset event.dim = qimage_cw_state.img_size event.box = qimage_cw_state.img_offset#[1,1]+box event.zval = [zmin,zmax,zavg,zstd] event.zhilo = [zlo,zhi] event.zback = zback event.fixz = fixz AND zhi GT zlo event.zlog = zlog event.zoom = zoom ; The field event.p_box and event.center, and event.p_axis are only set if the SMEI section of the ; widget is active. event.smei is set if it is. widget_control, qimage_cw_state.wid_smei, get_uvalue=set event.smei = set IF set THEN BEGIN event.p_box = p_box qImage_cw_Box, qimage_cw_state, img_center, /center event.center = qimage_cw_state.img_offset+img_center widget_control, qimage_cw_state.wid_axis[0], get_value=phi widget_control, qimage_cw_state.wid_axis[1], get_value=rad event.p_axis = [phi/!radeg,rad] widget_control, qimage_cw_state.wid_prorate[0], get_value=mx widget_control, qimage_cw_state.wid_prorate[1], get_value=my widget_control, qimage_cw_state.wid_prorate[2], get_uvalue=set event.prorate = [mx, my, set] ENDIF RETURN, event & END