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

Re: Non-exclusive Drop Lists

Greg Madsen (madsen@astro.wisc.edu) writes:

> I am interested in creating a drop list in IDL containing non-exclusive
> choices. I will provide an example to illustrate what I am having
> trouble creating.

> I am familiar with WIDGET_DROPLIST and CW_PDMENU, but as far as I can
> tell these cannot produce the desired result. Has anyone constructed
> widgets or routines that do this?  How should I connect different widget
> routines to do this?

Well, if you're familiar with CW_PDMENU, you know you don't
want to use that. :-)

And a droplist won't help you, obviously. (A less stilted
form of "of course". What do you think?)

So I think the only course left to you is to build
your own pull-down menus from buttons. Here is an
example that doesn't do anything useful, except allow
you to see which choices are turned ON and which are
turned OFF.



David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155

PRO Example_Button_Events, event
Widget_Control, event.id, Get_Value=buttonValue, Get_UValue=buttonUValue
Widget_Control, event.id, Set_Value=buttonUValue, Set_UValue=buttonValue


tlb = Widget_Base(Column=1, Title='Make a Choice...')
selectID = Widget_Button(tlb, Value='Animal Selections...', /Menu, $
   Event_Pro='Example_Button_Events', Scr_XSize=200)

choice1 = Widget_Button(selectID, Value='Choose Dogs', /Menu)
button = Widget_Button(choice1, Value='Retriever', UValue='* Retriever')
button = Widget_Button(choice1, Value='Boxer', UValue='* Boxer')
button = Widget_Button(choice1, Value='Great Dane', UValue='* Great Dane')

choice2 = Widget_Button(selectID, Value='Choose Cows', /Menu)
button = Widget_Button(choice2, Value='Holstein', UValue='* Holstein')
button = Widget_Button(choice2, Value='Angus', UValue='* Angus')
button = Widget_Button(choice2, Value='Jersey', UValue='* Jersey')

Widget_Control, tlb, /Realize
XManager, 'example', tlb, /No_Block