[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Tab Widgets?
Rikagaku <t_launey@brain.riken.go.jp> wrote:
> In article <3AD4F212.DAC2CBF@home.com>, t.fulton@home.com says...
> > Hi All,
> >
> > Is there a WIDGET_TAB or some such function
> > that creates a tab widget? By tab widget,
> > I'm referring to a GUI that where you switch
> > between different windows by clicking on
> > file folder-like tabs (Much like the way one
> > can switch between "Groups" and "Build Order"
> > in the IDL 5.4 DE)
> >
> > Thanks in advance.
> >
> > PS If responding by e-mail, please send
> > messages to fulton@dansas.usask.ca
> >
> >
>
> Hello,
> I guess there is a better way to do it but this might be a start:
> if all the child of your "Tab Widget" base are of the same size, you
> could use the /Map keyword of widget_control to make bring a given widget
> "to the front". All you need is a row (or column) of button, one for each
> page of your Tab Widget, that call widget_control, page_n, /map
> This has the disadvantage of using explicit size definition to make sure
> that the front widget hides the others or calling widget_control,
> all_other_pages, map=0.
I think you can resolve the size problem in a general way. Once you've
built each of the overlaid widgets (with map=0), call
Widget_Info( widget_base, /geometry) for each widget. Determine the
largest xsize and ysize and then use Widget_Control on each widget to
set its xsize and ysize to the largest value. I happened to try this
just yesterday for a similar problem and it seems to be working okay
(at least so far ;-).
Dave
--------------
Dave Greenwood Email: Greenwoodde@ORNL.GOV
Oak Ridge National Lab %STD-W-DISCLAIMER, I only speak for myself