pro qset_page_layout, state, event @compile_opt.pro ; On error, return to caller ;+ ; NAME: ; qset_page_layout ; PURPOSE: ; Used to define page layout (landscape or portrait) ; CATEGORY: ; Widget qset_page ; CALLING SEQUENCE: ; qset_page_layout, state, event ; INPUTS: ; state array[1]; type: structure ; qset_page state structure ; event array[1]; type: structure ; event structure ; OUTPUTS: ; (none) ; SIDE EFFECTS: ; When changing from landscape to portrait or v.v. the aspect ratio is modified ; by interchanging the horizontal and vertical page sizes. ; PROCEDURE: ; Checks the event.select value of the input event, and uses it to set the ; wid_portrait or wid_landscape widget. If event.select=1 then horizontal and ; vertical size are interchanged. ; MODIFICATION HISTORY: ; APR-2000, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ;- widget_control, state.wid_xsize , get_value=xsize widget_control, state.wid_ysize , get_value=ysize widget_control, state.wid_aspect, get_value=aspect case event.id of state.wid_xsize : widget_control, state.wid_aspect, set_value=ysize/xsize state.wid_ysize : widget_control, state.wid_aspect, set_value=ysize/xsize state.wid_aspect: widget_control, state.wid_ysize, set_value=xsize*aspect state.wid_window: begin aspect = float(!d.y_size)/!d.x_size widget_control, state.wid_aspect, set_value=aspect widget_control, state.wid_ysize , set_value=xsize*aspect end state.wid_swap: begin ; widget_control, event.id, set_button=event.select, set_uvalue=event.select ; if event.select then begin widget_control, state.wid_xsize, set_value=ysize widget_control, state.wid_ysize, set_value=xsize widget_control, state.wid_aspect, set_value=xsize/ysize ; endif end state.wid_portrait: $ if event.select then widget_control, state.wid_portrait, set_uvalue=1 state.wid_landscape: $ if event.select then widget_control, state.wid_portrait, set_uvalue=0 endcase return & end