Adds the listener to the collection of listeners who will
be notified when the user changes the receiver's value, by sending
it one of the messages defined in the <code>SelectionListener</code>
interface.
<p>
When <code>widgetSelected</code> is called, the event object detail field contains one of the following values:
<code>SWT.NONE</code> - for the end of a drag.
<code>SWT.DRAG</code>.
<code>SWT.HOME</code>.
<code>SWT.END</code>.
<code>SWT.ARROW_DOWN</code>.
<code>SWT.ARROW_UP</code>.
<code>SWT.PAGE_DOWN</code>.
<code>SWT.PAGE_UP</code>.
<code>widgetDefaultSelected</code> is not called.
</p>
@param listener the listener which should be notified when the user changes the receiver's value
@exception IllegalArgumentException <ul>
<li>ERROR_NULL_ARGUMENT - if the listener is null</li>
</ul>
@exception SWTException <ul>
<li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
<li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
</ul>
Adds the listener to the collection of listeners who will be notified when the user changes the receiver's value, by sending it one of the messages defined in the <code>SelectionListener</code> interface. <p> When <code>widgetSelected</code> is called, the event object detail field contains one of the following values: <code>SWT.NONE</code> - for the end of a drag. <code>SWT.DRAG</code>. <code>SWT.HOME</code>. <code>SWT.END</code>. <code>SWT.ARROW_DOWN</code>. <code>SWT.ARROW_UP</code>. <code>SWT.PAGE_DOWN</code>. <code>SWT.PAGE_UP</code>. <code>widgetDefaultSelected</code> is not called. </p>
@param listener the listener which should be notified when the user changes the receiver's value
@exception IllegalArgumentException <ul> <li>ERROR_NULL_ARGUMENT - if the listener is null</li> </ul> @exception SWTException <ul> <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> </ul>
@see SelectionListener @see #removeSelectionListener @see SelectionEvent