pro xloadct_from_widget_event, event widget_control, event.top, get_uvalue = state, /no_copy xloadct, /modal, group = event.top wset, state.winid tv, *state.pimage widget_control, event.top, set_uvalue = state, /no_copy end pro xloadct_from_widget device, decomposed = 0 image = bytscl(dist(300,300)) tlb = widget_base(col = 1) draw = widget_draw(tlb, xs = 300, ys = 300) button = widget_button(tlb, value = 'XLOADCT') ; widget_control, tlb, /realize widget_control, draw, get_value = winid wset, winid ; tv, image state = {winid:winid, $ pimage:ptr_new(image)} widget_control, tlb, set_uvalue = state xmanager, 'xloadct_from_widget', tlb end