Pro Pop_Values_Event, event Widget_Control, event.top, /Destroy END Pro Pop_Values, cw1, cw2, offsets base = Widget_Base(Column=1, Xoffset=offsets(0)+75, $ YOffset=offsets(1)+75, $ Title='Get Widget Values') tbase = Widget_Base(base, Column=1) bbase = Widget_Base(base, Column=1) tlab = Widget_Label(tbase, Value='Your First Compound Widget Says This:') c1b = Widget_Base(tbase, Row=2, /Frame) junk = Widget_Label(c1b, Value='Its Label is "' + cw1(0) + '"') junk = Widget_Label(c1b, Value='Its Text is "' + cw1(1) + '"') blab = Widget_Label(bbase, Value='Your Second Compound Widget Says This:') c2b = Widget_Base(bbase, Row=2, /Frame) junk = Widget_Label(c2b, Value='Its Label is "' + cw2(0) + '"') junk = Widget_Label(c2b, Value='Its Text is "' + cw2(1) + '"') ok = Widget_Button(base, Value='DISMISS') Widget_Control, base, /Realize XManager, 'pop_values', base, /Modal END Pro Check_It_Event, event Widget_Control, event.top, Get_UValue=info, /No_Copy name = Tag_Names(event, /Structure_Name) IF name EQ 'WIDGET_BUTTON' THEN BEGIN Widget_Control, event.id, Get_UValue=test CASE test OF 'SET' : Begin Widget_Control, info.L1, Get_Value=L1 Widget_Control, info.T1, Get_Value=T1 Widget_Control, info.CW1, Set_Value=[L1, T1] Widget_Control, info.L2, Get_Value=L2 Widget_Control, info.T2, Get_Value=T2 Widget_Control, info.CW2, Set_Value=[L2, T2] End 'GET' : Begin Widget_Control, info.CW1, Get_Value=CW1 Widget_Control, info.CW2, Get_Value=CW2 Widget_Control, event.top, TLB_Get_Offset=offsets Pop_Values, CW1, CW2, offsets End 'DONE' : Begin Widget_Control, event.top, /Destroy End ENDCASE ENDIF IF Widget_Info(event.top, /Valid) THEN $ Widget_Control, event.top, Set_UValue=info, /No_Copy END Pro Check_It base = Widget_Base(Column=1, Title='Set and Get Compound Widget Values') tbase= Widget_Base(base, Column=1, /Frame) ttbase = Widget_Base(tbase, Column=1, /Frame) junk = Widget_Label(ttbase, Value='Set First Compound Widget Values Here') cf1L = CW_Field(ttbase, /Row, Title='Change Label To: ', Value=' ') cf1T = CW_Field(ttbase, /Row, Title='Change Text To: ', Value=' ') tbbase = Widget_Base(tbase, Column=1, /Frame) junk = Widget_Label(tbbase, Value='Set Second Compound Widget Values Here') cf2L = CW_Field(tbbase, /Row, Title='Change Label To:', Value=' ') cf2T = CW_Field(tbbase, /Row, Title='Change Text To: ', Value=' ') set = Widget_Button(tbase, Value=' OK, Change the Compound Widget Values', UValue='SET') get = Widget_Button(tbase, Value=' OK, Show Me the Current Compound Widget Values', UValue='GET') bbase=Widget_Base(base, column=1, Frame=2) junk = Widget_Label(bbase, Value='Here Are Your Compound Widgets!') input1 = CW_Input(bbase, Title='Saying: ', UValue='INPUT', Value='Vaya con Dios!') input2 = CW_Input(bbase, Title='Comment:', UValue='INPUT', Value='Viva la Widgets!') button = Widget_Button(base, Value='DONE', UValue='DONE') Widget_Control, base, /Realize info = { L1:cf1L, T1:cf1T, L2:cf2L, T2:cf2T, CW1: input1, CW2: input2} Widget_Control, base, Set_UValue=info, /No_Copy XManager, 'Check_It', base, Event='Check_It_Event' END