Re: Using multiple top level bases created with GUIBuilder [message #34560 is a reply to message #34556] |
Mon, 24 March 2003 11:37  |
Matt Feinstein
Messages: 33 Registered: July 2002
|
Member |
|
|
On 24 Mar 2003 10:42:53 -0800, bias@planet-interkom.de (Tobias Umblia)
wrote:
> Hi everybody,
>
> I'd like to write an application with multiple top level bases,
> e.g. one for selecting parameters, one for displaying data, a dialog
> for manipulating the graphics etc.
> After I created the TLBs using IDL's GUIBuilder and generated the
> .pro files I now want to pass information, like widget IDs or changed
> parameters etc. between them.
> I found several postings here describing similar problems and solutions,
> e.g. sending events from one base to the other, but then the GUI has been
> created manually without GUIBuilder.
> I'd really like to use the generated code, leaving it unchanged
> (except the ..._eventcb.pro files of course), but I don't know how
> to make the TLBs communicating with each other.
> It would help me best if somebody knew a solution to the following
> simple example which illustrates the problem:
>
> The GUI code for the first TLB is maingui.pro. It containes two buttons,
> one labeled 'Show' and the other labeled 'Hide'. The event code is
> maingui_eventcb.pro, containing (empty) procedures for the OnButtonPress
> events.
> The GUI code for the second TLB is drawwindow.pro, containing a draw widget.
> The maingui TLB should be the GROUP_LEADER for the drawwindow TLB.
>
> Now I want to use the buttons on the maingui to 'Show' and 'Hide' the
> drawwindow, but I can't figure out how to retrieve the ID of the drawwindow
> TLB from within the maingui_eventcb.pro etc.
>
> Thank you,
> Tobias
You could use the WIDGET_INFO() function with the /managed keyword
and no argument, i.e.,
id_arr = widget_info(/managed)
which returns an array of all managed widgets, then you can check for
(widget_info(id_arr[x], /type) eq 0) to filter out everything but the
id's of the base widgets.
Matt Feinstein
--
The Law of Polarity: The probability of wiring a battery with
the correct polarity is (1/2)^N, where N is the number of times
you try to connect it.
|
|
|