[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

XMANAGER question



I'm seeing an inconsistency in the behavior of a widget program which is being 
restored from a save file...depending upon how it is restored.  The two ways I am 
restoring the same program are:

    1) % idl -rt=myprogram.sav 
    2) IDL> RESTORE, file='myprogram.sav'

The demo program below, which I've named popup.pro,  creates two simple 
non-blocking windows that are dismissed by pressing the "Done" pushbutton.  
I create the 'sav' file by:

    IDL> .compile popup
    IDL> resolve_all
    IDL> save, /routine, file='popup.sav'

Now, if I issue 

    IDL> RESTORE, file='popup.sav'

and type 'main', I get two working windows which can be dismissed in either 
order (what I would expect.)  However, if I use idl -rt=popup.sav at the UNIX 
prompt, the first window blocks, and I don't see the second window until I 
dismiss the first.

I looked through the IDL Runtime Guide, but didn't see anything pertaining to 
this kind of issue.  Has anybody else encountered this kind of behavior?  Or 
am I  missing something?  I'm running IDL Version 5.2 (sunos sparc).

-----------------------------------------
Dan Peduzzi
peduzzi@mediaone.net
-----------------------------------------

; Exit callback for both windows
pro done, event
  widget_control, event.top, /destroy
  return
end

pro popup1
  tlb = widget_base(title='popup1', xsize=200)
  doneID = widget_button(tlb, value='Done', event_pro='done')
  widget_control, tlb, /realize
  xmanager, 'popup1', tlb, no_block=1
  
  return
end

pro popup2
  tlb = widget_base(title='popup2', xsize=200)
  doneID = widget_button(tlb, value='Done', event_pro='done')
  widget_control, tlb, /realize
  xmanager, 'popup2', tlb, no_block=1
  
  return
end

pro main

  print, 'About to make popup1: '
  popup1
  print, 'Returned.'
  
  print, 'About to make popup2: '
  popup2
  print, 'Returned.'

  return
end