comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » widget confusion
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
widget confusion [message #68861] Mon, 23 November 2009 07:13
rogass is currently offline  rogass
Messages: 200
Registered: April 2008
Senior Member
Hi there,
i want to create a program which allows to change parameters by manual
input, by opening saved parameters and by restoring defaults within a
widget. After finishing those kinds of inputs the program shall be
closed by the O.K-Button. Unfortunately, the inputs are ignored. Who
can help me a little bit with the event handling.

THANKS in advance and regards

CR

The following program code may better explain what I mean:

usage: ptr=menu(ptr=ptr) &print, 'Widget result', (*ptr).(0)

pro menu_controls_event,event,ptr
widget_control, event.top, get_uvalue=ptr
widget_control, event.id,get_uvalue=action
case action of
'open' : begin
restore, dialog_pickfile()
(*ptr)[1].bp = 0b
print,'imported values:',(*ptr).(0)
widget_control, event.top, set_uvalue=ptr
widget_control,event.top,/destroy
end
'saveas' : begin
save,ptr,filename=dialog_pickfile()
(*ptr)[1].bp = 0b
widget_control, event.top, set_uvalue=ptr
widget_control,event.top,/destroy
end
'ok' : begin
(*ptr)[1].bp = 1b
widget_control, event.top, set_uvalue=ptr
widget_control,event.top,/destroy
end
'cancel' : begin
(*ptr)[1].bp = 1b
widget_control, event.top, set_uvalue=ptr
widget_control,event.top,/destroy
end
'exit' : begin
(*ptr)[1].bp = 1b
widget_control, event.top, set_uvalue=ptr
widget_control,event.top,/destroy
end
'aot_def' : begin
(*ptr)[1].bp = 0b
(*ptr)[1].aot_def = float(event.(where(strupcase(tag_names
(event)) eq 'VALUE')))
widget_control, event.top, set_uvalue=ptr
end
'def' : begin
(*ptr)[1].bp= 0b
(*ptr)[1] =(*ptr)[0]
widget_control, event.top, set_uvalue=ptr
widget_control,event.top,/destroy
end
endcase
end

function menu_controls,ptr
tlb = widget_base(title='test',row=3,mbar=men)
menubase= widget_button(men,value='File')
menu1 = widget_button(menubase,value='Open',uvalue='open')
menu2 = widget_button(menubase,value='Save as',uvalue='saveas')
menu3 = widget_button(menubase,value='Defaults',uvalue='def')
menu4 = widget_button(menubase,value='Exit',uvalue='exit')
field1 = cw_field (tlb,value=(*ptr)[1].aot_def,title='AOT (Optical
Thickness)',uvalue='aot_def');,/all_events,/column)
field2 = widget_button (tlb,value='Ok',uvalue='ok', /align_center)
field3 = widget_button (tlb,value='Cancel',uvalue='cancel',/
align_center)
widget_control,tlb,/realize
widget_control,tlb,set_uvalue=ptr
xmanager,'menu_controls',tlb
return,ptr
end

function menu,ptr=ptr
if ~keyword_set(ptr) or ~n_elements(ptr) then begin
ptr = {aot_def : 0.1234,bp:0b }
ptr = ptr_new(replicate(ptr,2),/no_copy)
endif
ptr = menu_controls(ptr)
print, 'Final:',(*ptr).(0)
if (*ptr)[1].bp eq 0b then ptr=menu(ptr=ptr)
return, ptr
end
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: SPAWN in 7.1
Next Topic: Re: Scope_Varfetch "IDL workbench" train wreck

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 17:42:36 PDT 2025

Total time taken to generate the page: 0.00671 seconds