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

Home » Public Forums » archive » Re: Switching Between Multiple XMANAGER Windows
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
Re: Switching Between Multiple XMANAGER Windows [message #17335] Fri, 08 October 1999 00:00
Pavel Romashkin is currently offline  Pavel Romashkin
Messages: 166
Registered: April 1999
Senior Member
I agree with this point. However, in the original message Michael writes:

> However, I need to be able to
> return to the first window to be able to do the same for a second pixel
> without losing the second window.

which I understood as he wants to have previous detailed pixel information window
preserved while another one may be created. It is east to program a way to control
the number of daughter windows and not let them hatch with no limit, for instance,
by destroying older ones if the total number of them exceeds 5. Or, a user can
take control and kill those he is done with.
Cheers,
Pavel

Harald Frey wrote:

> Pavel Romashkin wrote:
>
>> Although I am not quite clear about what an XMANAGER window is, I see no
>> obstacle to using WIDGET_DRAW to produce more than one popup daughter windows
>> when the mouse is clicked inside that WIDGET_DRAW. Why not just include a
>> base widget creation routine in the event handler for the draw widget, and
>> have event_handler create a base with an information widget, with pixel ID,
>> label, text, table or image zoom-in - anything you want, and leave it in case
>> you need that information. Then, when you click on another pixel, another
>> window, identical to the first info base, will pop up, and so on. To destroy
>> them easily, I'd use /group_leadre keyword. Or am I missing something
>> complicating here? I don't even see the need to use pointers.
>> Good luck,
>> Pavel
>>
>
> If you do this you may end up with dozens of similar
>
> widget windows. What I do to avoid this is to set a
>
> flag in my info structure which shows that the child
>
> widget already exists and it will be destroyed before
>
> the new one is created. It looks like this.
>
> IF (info.wiczoom NE 0l) then WIDGET_CONTROL,info.wiczoom,/DESTROY
> zoomBase = WIDGET_BASE(TITLE='WIC Zoom',ROW=3)
> info.wiczoom = zoomBase
>
> Harald
>
> =========================================================
> Harald U. Frey
> Space Sciences Lab phone: 510-643-3323
> University of California fax: 510-643-2624
> Berkeley, CA 94720-7450 email: hfrey@ssl.berkeley.edu
Re: Switching Between Multiple XMANAGER Windows [message #17346 is a reply to message #17335] Thu, 07 October 1999 00:00 Go to previous message
Harald Frey is currently offline  Harald Frey
Messages: 41
Registered: March 1997
Member
Pavel Romashkin wrote:

> Although I am not quite clear about what an XMANAGER window is, I see no
> obstacle to using WIDGET_DRAW to produce more than one popup daughter windows
> when the mouse is clicked inside that WIDGET_DRAW. Why not just include a
> base widget creation routine in the event handler for the draw widget, and
> have event_handler create a base with an information widget, with pixel ID,
> label, text, table or image zoom-in - anything you want, and leave it in case
> you need that information. Then, when you click on another pixel, another
> window, identical to the first info base, will pop up, and so on. To destroy
> them easily, I'd use /group_leadre keyword. Or am I missing something
> complicating here? I don't even see the need to use pointers.
> Good luck,
> Pavel
>

If you do this you may end up with dozens of similar

widget windows. What I do to avoid this is to set a

flag in my info structure which shows that the child

widget already exists and it will be destroyed before

the new one is created. It looks like this.

IF (info.wiczoom NE 0l) then WIDGET_CONTROL,info.wiczoom,/DESTROY
zoomBase = WIDGET_BASE(TITLE='WIC Zoom',ROW=3)
info.wiczoom = zoomBase

Harald

=========================================================
Harald U. Frey
Space Sciences Lab phone: 510-643-3323
University of California fax: 510-643-2624
Berkeley, CA 94720-7450 email: hfrey@ssl.berkeley.edu
Re: Switching Between Multiple XMANAGER Windows [message #17348 is a reply to message #17346] Thu, 07 October 1999 00:00 Go to previous message
Pavel Romashkin is currently offline  Pavel Romashkin
Messages: 166
Registered: April 1999
Senior Member
Although I am not quite clear about what an XMANAGER window is, I see no
obstacle to using WIDGET_DRAW to produce more than one popup daughter windows
when the mouse is clicked inside that WIDGET_DRAW. Why not just include a
base widget creation routine in the event handler for the draw widget, and
have event_handler create a base with an information widget, with pixel ID,
label, text, table or image zoom-in - anything you want, and leave it in case
you need that information. Then, when you click on another pixel, another
window, identical to the first info base, will pop up, and so on. To destroy
them easily, I'd use /group_leadre keyword. Or am I missing something
complicating here? I don't even see the need to use pointers.
Good luck,
Pavel

Michael Baca wrote:

> I am trying to find a way to work between two different XMANAGER windows.
> The first window controls some data visualization information. What I then
> do is click on my draw widget in order to obtain more detailed information
> about a single pixel. This pops up a new XMANAGER window that shows more
> detailed information on this single pixel. However, I need to be able to
> return to the first window to be able to do the same for a second pixel
> without losing the second window. Can this be done. Any comments would be
> appreciated.
>
> Mike
Re: Switching Between Multiple XMANAGER Windows [message #17350 is a reply to message #17346] Thu, 07 October 1999 00:00 Go to previous message
R.Bauer is currently offline  R.Bauer
Messages: 1424
Registered: November 1998
Senior Member
Michael Baca wrote:

> I am trying to find a way to work between two different XMANAGER windows.
> The first window controls some data visualization information. What I then
> do is click on my draw widget in order to obtain more detailed information
> about a single pixel. This pops up a new XMANAGER window that shows more
> detailed information on this single pixel. However, I need to be able to
> return to the first window to be able to do the same for a second pixel
> without losing the second window. Can this be done. Any comments would be
> appreciated.
>
> Mike

Here is a short idea how to solve this problem.

I believe it is neccesary to have all widget_ids and some more data as a
pointer structure.

You have to set at the widget_draw() an event_pro to your event_handler .
Then you have to write an own small event_handler wich has a syntax like

PRO wid1_own_event,map
a=WIDGET_EVENT((*map).id_draw,/nowait,bad_id=bad)
END

Afterwards you have to call this wid1_own_event in every loop where you like
to have access to the event_handler
of widget 1.

You need pointers because they are known in all routines.



R.Bauer
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Floating Point Dilate and Erode
Next Topic: Re: Velocity vectors on maps

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

Current Time: Wed Oct 08 15:48:21 PDT 2025

Total time taken to generate the page: 0.00710 seconds