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

Home » Public Forums » archive » Basic Event Handling
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
Basic Event Handling [message #55228] Tue, 07 August 2007 04:13 Go to next message
Gaurav is currently offline  Gaurav
Messages: 50
Registered: January 2007
Member
I have a very basic IDL related query. It being: Is there a a way to
check for the arrival of new events while the program control is busy
with some other operation like- running through a loop?

The exact situation when I need this is that I have built a program
wherein a spherical object is displayed in an object window. The user
is allowed to zoom into the object by double clicking on it. The
zooming process is carried out animatedly by using the viewport
transformations that run in a for loop between two predefined levels.
This user can zoom in, nearer to the object by double clicking on it
successively. But as these levels of zoom are predefined, the user has
no control over the zoom level. What I want to do is to program in
such a way so that after one has double clicked onto the object and
the program control is running through the for-loop and thus zooming
in onto the object- the user should be able to single click onto the
objet to bail out of the for loop with the loop variable set at the
level it was when the new event arrived.

I tried to think it out in terms of a timer event but that did not
help me much. In other languages they allow use of multiple threads
which would have been 'just the thing' for me, but is not available
here. There is a concept of something called 'IDL_IDLBridge' that
appears to be useful but the documentation lacks enough information in
the form of a simple example.

I am sure that there must be a very routine way out of this trouble as
many existing applications (Though I am yet to find any such IDL based
applications) are able to do exactly what I want. It would be a great
help if you could bail me out of this.

Yours sincerely,
Gaurav Kumar
Re: Basic Event Handling [message #55281 is a reply to message #55228] Wed, 08 August 2007 04:30 Go to previous message
Gaurav is currently offline  Gaurav
Messages: 50
Registered: January 2007
Member
Thank you all, for your kind responses. I learnt three different ways
to do solve my problem. I could not implement Michael's way as my
object in display is already running very slow owing to the large
number of views and image objects added to it. Event listening
routines sound impressive but it was Dr. Fanning's clue that finally
helped me out.

I knew it had to be a very simple solution for IDL has never let me
down as yet. I knoew my troubles were over the moment I saw
'WIDGET_EVENT' function in Dr. Fanning's code. I really feel stupid
having missed it in the documentation earlier and beating about the
bush uselessly. But, there are very few proper sample codes that use
the functioality.

All I did was to create a button above my draw widget and check for
events on this button in the FOR loop with the /NOWAIT keyword set. In
the button event, I set a variable which I checked in the FOR loop
below the WIDGET_EVENT line and came out of the loop as soon as the
button was pressed. As simple as that!

Thank you all, once again.
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Locking sav files
Next Topic: how to tell it is character or it is number?

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

Current Time: Wed Oct 08 19:21:38 PDT 2025

Total time taken to generate the page: 0.11932 seconds