[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IDL listbox
Maybe I am not understanding you. You just want to get the selected items
from a listbox?
say you have a list widget "info.wFilesList"
Keep a pointer to a string array of items contained in that list (they must
be in order from top to bottom). I use a pointer because I need to
dynamically resize the array, you might be able to get away with just an
array.
I can then poll widget_info while setting /list_select for the currently
selected items in my list. This will "return the index or indices of the
currently-selected (highlighted) element or elements in the specified list
widget. Note that this offset is zero-based. If no element is currently
selected, -1 is returned."
selected = widget_info(info.wFilesList, /list_select)
You can then use the indices to subscript your array of items.
One would think that you could get a string array of either the selected
items or all items contained in a widget_list but as far as I can tell you
only can get the indices. If anyone knows how to do this, please speak up!
Hope this helps.
-Rick Towler
"Stuart Norton" <stuart@isis.ucolick.org> wrote in message
Pine.GSO.4.03.10102151649520.125-100000@isis.ucolick.org">news:Pine.GSO.4.03.10102151649520.125-100000@isis.ucolick.org...
>
> Sorry if this is an obvious one, but I've been trying for too long now...
>
> How do you get a list of all selected items from a widget_listbox? I have
> a listbox which I want to handle multiple selections. I was originally
> going to use the event handler: just toggle the settings of each item
> which was clicked... but (at least in Unix) when you single click without
> holding shift or control, all previous selections in a listbox are
> de-selected. I don't know how to keep track of which items are
> de-selected like this. (There doesn't seem to be an event for that.)
>
> Another possibility was the OnSelectValue parameter to widget_listbox; I
> created a procedure to remember if any given item was selected, but
> again I have the problem that de-selection is not handled.
>
> There ought to be an easy way, say from widget_control, to return an array
> of indices which are selected at the moment, or something like that. Why
> can't I find such a thing??
>
> Thanks in advance,
> Stuart
>
> ----------------------------------------------------------------------
> --- Stuart Norton ---
> --- stuart@ucolick.org ---
> --- Astronomy & Astrophysics - University of California ---
> --- Santa Cruz, CA 95064 ---
> --- (831) 459-4362 ---
> ----------------------------------------------------------------------
>