[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IDL listbox
Stuart Norton wrote:
>
> 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??
This is starting to be the #2 all-time FAQ, after color decomposition,
of course. For whatever inane reasons (most likely because the
functionality was added only a few releases ago), getting the indices of
multiply selected list widgets requires a visit to our friend
widget_info:
list=widget_info(self.list,/LIST_SELECT)
Now, why this functionality is here instead of
widget_control,self.list,get_value=list
it's best not to ask. If you want the items on the list themselves,
you'll have to store them somewhere for access.
JD