[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                      ---
> ----------------------------------------------------------------------
>