diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets')
14 files changed, 220 insertions, 29 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Button.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Button.java index 2c10e59b0b..5522a1b451 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Button.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Button.java @@ -175,6 +175,12 @@ void _setText (String string) { * <code>widgetSelected</code> is called when the control is selected by the user. * <code>widgetDefaultSelected</code> is not called. * </p> + * <p> + * When the <code>SWT.RADIO</code> style bit is set, the <code>widgetSelected</code> method is + * also called when the receiver loses selection because another item in the same radio group + * was selected by the user. During <code>widgetSelected</code> the application can use + * <code>getSelection()</code> to determine the current selected state of the receiver. + * </p> * * @param listener the listener which should be notified * diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Canvas.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Canvas.java index 2b4568a6c1..eb758937bc 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Canvas.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Canvas.java @@ -169,7 +169,7 @@ void reskinChildren (int flags) { * the source area to the destination and then causing the area * of the source which is not covered by the destination to * be repainted. Children that intersect the rectangle are - * optionally moved during the operation. In addition, outstanding + * optionally moved during the operation. In addition, all outstanding * paint events are flushed before the source area is copied to * ensure that the contents of the canvas are drawn correctly. * diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Combo.java index 8ad4709e7a..2fe3d38758 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Combo.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Combo.java @@ -42,7 +42,7 @@ import org.eclipse.swt.events.*; * <dt><b>Styles:</b></dt> * <dd>DROP_DOWN, READ_ONLY, SIMPLE</dd> * <dt><b>Events:</b></dt> - * <dd>DefaultSelection, Modify, Selection, Verify</dd> + * <dd>DefaultSelection, Modify, Selection, Verify, OrientationChange</dd> * </dl> * <p> * Note: Only one of the styles DROP_DOWN and SIMPLE may be specified. diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java index 92c32c6bd6..ad42e78fd4 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Composite.java @@ -303,6 +303,33 @@ void deregister () { void drawBackground (GC gc, int x, int y, int width, int height) { drawBackground(gc, x, y, width, height, 0, 0); } +/** + * Fills the interior of the rectangle specified by the arguments, + * with the receiver's background. + * + * <p>The <code>offsetX</code> and <code>offsetY</code> are used to map from + * the <code>gc</code> origin to the origin of the parent image background. This is useful + * to ensure proper alignment of the image background.</p> + * + * @param gc the gc where the rectangle is to be filled + * @param x the x coordinate of the rectangle to be filled + * @param y the y coordinate of the rectangle to be filled + * @param width the width of the rectangle to be filled + * @param height the height of the rectangle to be filled + * @param offsetX the image background x offset + * @param offsetY the image background y offset + * + * @exception IllegalArgumentException <ul> + * <li>ERROR_NULL_ARGUMENT - if the gc is null</li> + * <li>ERROR_INVALID_ARGUMENT - if the gc has been disposed</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> + * + * @since 3.6 + */ public void drawBackground (GC gc, int x, int y, int width, int height, int offsetX, int offsetY) { checkWidget (); if (gc == null) error (SWT.ERROR_NULL_ARGUMENT); @@ -760,6 +787,64 @@ public void layout (Control [] changed) { layout (changed, SWT.NONE); } +/** + * Forces a lay out (that is, sets the size and location) of all widgets that + * are in the parent hierarchy of the changed control up to and including the + * receiver. + * <p> + * The parameter <code>flags</code> may be a combination of: + * <dl> + * <dt><b>SWT.ALL</b></dt> + * <dd>all children in the receiver's widget tree should be laid out</dd> + * <dt><b>SWT.CHANGED</b></dt> + * <dd>the layout must flush its caches</dd> + * <dt><b>SWT.DEFER</b></dt> + * <dd>layout will be deferred</dd> + * </dl> + * </p> + * <p> + * When the <code>changed</code> array is specified, the flags <code>SWT.ALL</code> + * and <code>SWT.CHANGED</code> have no effect. In this case, the layouts in the + * hierarchy must not rely on any information cached about the changed control or + * any of its ancestors. The layout may (potentially) optimize the + * work it is doing by assuming that none of the peers of the changed + * control have changed state since the last layout. + * If an ancestor does not have a layout, skip it. + * </p> + * <p> + * When the <code>changed</code> array is not specified, the flag <code>SWT.ALL</code> + * indicates that the whole widget tree should be laid out. And the flag + * <code>SWT.CHANGED</code> indicates that the layouts should flush any cached + * information for all controls that are laid out. + * </p> + * <p> + * The <code>SWT.DEFER</code> flag always causes the layout to be deferred by + * calling <code>Composite.setLayoutDeferred(true)</code> and scheduling a call + * to <code>Composite.setLayoutDeferred(false)</code>, which will happen when + * appropriate (usually before the next event is handled). When this flag is set, + * the application should not call <code>Composite.setLayoutDeferred(boolean)</code>. + * </p> + * <p> + * Note: Layout is different from painting. If a child is + * moved or resized such that an area in the parent is + * exposed, then the parent will paint. If no child is + * affected, the parent will not paint. + * </p> + * + * @param changed a control that has had a state change which requires a recalculation of its size + * @param flags the flags specifying how the layout should happen + * + * @exception IllegalArgumentException <ul> + * <li>ERROR_INVALID_ARGUMENT - if any of the controls in changed is null or has been disposed</li> + * <li>ERROR_INVALID_PARENT - if any control in changed is not in the widget tree of the receiver</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> + * + * @since 3.6 + */ public void layout (Control [] changed, int flags) { checkWidget (); if (changed != null) { diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Control.java index 3b9f7e468c..7a704b3ac0 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Control.java @@ -26,7 +26,8 @@ import org.eclipse.swt.accessibility.*; * <dd>LEFT_TO_RIGHT, RIGHT_TO_LEFT</dd> * <dt><b>Events:</b> * <dd>DragDetect, FocusIn, FocusOut, Help, KeyDown, KeyUp, MenuDetect, MouseDoubleClick, MouseDown, MouseEnter, - * MouseExit, MouseHover, MouseUp, MouseMove, Move, Paint, Resize, Traverse</dd> + * MouseExit, MouseHover, MouseUp, MouseMove, MouseWheel, MouseHorizontalWheel, MouseVerticalWheel, Move, + * Paint, Resize, Traverse</dd> * </dl> * </p><p> * Only one of LEFT_TO_RIGHT or RIGHT_TO_LEFT may be specified. @@ -650,7 +651,7 @@ int defaultForeground () { * @return <code>true</code> if the gesture occurred, and <code>false</code> otherwise. * * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT when the event is null</li> + * <li>ERROR_NULL_ARGUMENT if the event is null</li> * </ul> * @exception SWTException <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> @@ -691,7 +692,7 @@ public boolean dragDetect (Event event) { * @return <code>true</code> if the gesture occurred, and <code>false</code> otherwise. * * @exception IllegalArgumentException <ul> - * <li>ERROR_NULL_ARGUMENT when the event is null</li> + * <li>ERROR_NULL_ARGUMENT if the event is null</li> * </ul> * @exception SWTException <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> @@ -1170,6 +1171,11 @@ int getMinimumHeight () { * * @return the receiver's monitor * + * @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> + * * @since 3.0 */ public Monitor getMonitor () { @@ -3316,7 +3322,7 @@ int traversalCode (int key, XKeyEvent xEvent) { * this from <code>event</code> * @param event the KeyDown event * - * @return true if the traversal succeeded + * @return <code>true</code> if the traversal succeeded * * @exception IllegalArgumentException <ul> * <li>ERROR_NULL_ARGUMENT if the event is null</li> @@ -3353,7 +3359,7 @@ public boolean traverse (int traversal, Event event) { * this from <code>event</code> * @param event the KeyDown event * - * @return true if the traversal succeeded + * @return <code>true</code> if the traversal succeeded * * @exception IllegalArgumentException <ul> * <li>ERROR_NULL_ARGUMENT if the event is null</li> @@ -3490,7 +3496,8 @@ boolean traverse (Event event) { * traversal action. The argument should be one of the constants: * <code>SWT.TRAVERSE_ESCAPE</code>, <code>SWT.TRAVERSE_RETURN</code>, * <code>SWT.TRAVERSE_TAB_NEXT</code>, <code>SWT.TRAVERSE_TAB_PREVIOUS</code>, - * <code>SWT.TRAVERSE_ARROW_NEXT</code> and <code>SWT.TRAVERSE_ARROW_PREVIOUS</code>. + * <code>SWT.TRAVERSE_ARROW_NEXT</code>, <code>SWT.TRAVERSE_ARROW_PREVIOUS</code>, + * <code>SWT.TRAVERSE_PAGE_NEXT</code> and <code>SWT.TRAVERSE_PAGE_PREVIOUS</code>. * * @param traversal the type of traversal * @return true if the traversal succeeded diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Display.java index 8b6748ad44..20bf3904ce 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Display.java @@ -79,7 +79,7 @@ import org.eclipse.swt.graphics.*; * <dt><b>Styles:</b></dt> * <dd>(none)</dd> * <dt><b>Events:</b></dt> - * <dd>Close, Dispose, Settings</dd> + * <dd>Close, Dispose, OpenDocument, Settings, Skin</dd> * </dl> * <p> * IMPORTANT: This class is <em>not</em> intended to be subclassed. @@ -1956,6 +1956,18 @@ public Image getSystemImage (int style) { if (imagePixmap == 0) return null; return Image.motif_new (this, SWT.ICON, imagePixmap, maskPixmap); } +/** + * Returns the single instance of the system taskBar or null + * when there is no system taskBar available for the platform. + * + * @return the system taskBar or <code>null</code> + * + * @exception SWTException <ul> + * <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li> + * </ul> + * + * @since 3.6 + */ public TaskBar getSystemTaskBar () { checkDevice (); return null; @@ -2477,9 +2489,9 @@ public int internal_new_GC (GCData data) { * </p> * * @param hDC the platform specific GC handle - * @param data the platform specific GC data + * @param data the platform specific GC data * - * @noreference This method is not intended to be referenced by clients. + * @noreference This method is not intended to be referenced by clients. */ public void internal_dispose_GC (int gc, GCData data) { OS.XFreeGC(xDisplay, gc); @@ -3416,6 +3428,8 @@ public static void setAppName (String name) { * Sets the application version to the argument. * * @param version the new app version + * + * @since 3.6 */ public static void setAppVersion (String version) { APP_VERSION = version; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Link.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Link.java index 8d82436f87..3d3e43beb4 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Link.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Link.java @@ -441,6 +441,18 @@ void setForegroundPixel (int pixel) { * include the mnemonic character and line delimiters. The only delimiter * the HREF attribute supports is the quotation mark ("). * </p> + * <p> + * Mnemonics are indicated by an '&' that causes the next + * character to be the mnemonic. The receiver can have a + * mnemonic in the text preceding each link. When the user presses a + * key sequence that matches the mnemonic, focus is assigned + * to the link that follows the text. Mnemonics in links and in + * the trailing text are ignored. On most platforms, + * the mnemonic appears underlined but may be emphasised in a + * platform specific manner. The mnemonic indicator character + * '&' can be escaped by doubling it in the string, causing + * a single '&' to be displayed. + * </p> * * @param string the new text * diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/MenuItem.java index 9731e46e12..5dc8c8abf7 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/MenuItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/MenuItem.java @@ -230,7 +230,13 @@ public void addHelpListener (HelpListener listener) { * When <code>widgetSelected</code> is called, the stateMask field of the event object is valid. * <code>widgetDefaultSelected</code> is not called. * </p> - * + * <p> + * When the <code>SWT.RADIO</code> style bit is set, the <code>widgetSelected</code> method is + * also called when the receiver loses selection because another item in the same radio group + * was selected by the user. During <code>widgetSelected</code> the application can use + * <code>getSelection()</code> to determine the current selected state of the receiver. + * </p> + * * @param listener the listener which should be notified when the menu item is selected by the user * * @exception IllegalArgumentException <ul> diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ScrollBar.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ScrollBar.java index 1a5def919b..6415bafe0b 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ScrollBar.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ScrollBar.java @@ -294,8 +294,7 @@ public Point getSize () { return new Point (argList [1] + borders, argList [3] + borders); } /** - * Returns the size of the receiver's thumb relative to the - * difference between its maximum and minimum values. + * Returns the receiver's thumb value. * * @return the thumb value * @@ -312,6 +311,19 @@ public int getThumb () { OS.XtGetValues (handle, argList, argList.length / 2); return argList [1]; } +/** + * Returns a rectangle describing the size and location of the + * receiver's thumb relative to its parent. + * + * @return the thumb bounds, relative to the {@link #getParent() parent} + * + * @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> + * + * @since 3.6 + */ public Rectangle getThumbBounds () { checkWidget(); int [] argList = { @@ -358,6 +370,20 @@ public Rectangle getThumbBounds () { rect.y -= root_y [0]; return rect; } +/** + * Returns a rectangle describing the size and location of the + * receiver's thumb track relative to its parent. This rectangle + * comprises the areas 2, 3, and 4 as described in {@link ScrollBar}. + * + * @return the thumb track bounds, relative to the {@link #getParent() parent} + * + * @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> + * + * @since 3.6 + */ public Rectangle getThumbTrackBounds () { checkWidget(); int [] argList = { @@ -676,10 +702,13 @@ public void setSelection (int selection) { display.setWarnings (warnings); } /** - * Sets the size of the receiver's thumb relative to the - * difference between its maximum and minimum values. This new - * value will be ignored if it is less than one, and will be + * Sets the thumb value. The thumb value should be used to represent + * the size of the visual portion of the current range. This value is + * usually the same as the page increment value. + * <p> + * This new value will be ignored if it is less than one, and will be * clamped if it exceeds the receiver's current range. + * </p> * * @param value the new thumb value, which must be at least one and not * larger than the size of the current range diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Slider.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Slider.java index 0ac37fc1cc..0255d5343d 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Slider.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Slider.java @@ -258,8 +258,7 @@ public int getSelection () { return argList [1]; } /** - * Returns the size of the receiver's thumb relative to the - * difference between its maximum and minimum values. + * Returns the receiver's thumb value. * * @return the thumb value * @@ -440,10 +439,13 @@ public void setSelection (int value) { display.setWarnings (warnings); } /** - * Sets the size of the receiver's thumb relative to the - * difference between its maximum and minimum values. This new - * value will be ignored if it is less than one, and will be + * Sets the thumb value. The thumb value should be used to represent + * the size of the visual portion of the current range. This value is + * usually the same as the page increment value. + * <p> + * This new value will be ignored if it is less than one, and will be * clamped if it exceeds the receiver's current range. + * </p> * * @param value the new thumb value, which must be at least one and not * larger than the size of the current range diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Spinner.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Spinner.java index 1a4266f5ce..11433a7914 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Spinner.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Spinner.java @@ -697,11 +697,11 @@ public void setIncrement (int value) { } /** * Sets the maximum value that the receiver will allow. This new - * value will be ignored if it is not greater than the receiver's current + * value will be ignored if it is less than the receiver's current * minimum value. If the new maximum is applied then the receiver's * selection value will be adjusted if necessary to fall within its new range. * - * @param value the new maximum, which must be greater than the current minimum + * @param value the new maximum, which must be greater than or equal to the current minimum * * @exception SWTException <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> @@ -720,11 +720,11 @@ public void setMaximum (int value) { } /** * Sets the minimum value that the receiver will allow. This new - * value will be ignored if it is not less than the receiver's + * value will be ignored if it is greater than the receiver's * current maximum value. If the new minimum is applied then the receiver's * selection value will be adjusted if necessary to fall within its new range. * - * @param value the new minimum, which must be less than the current maximum + * @param value the new minimum, which must be less than or equal to the current maximum * * @exception SWTException <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Text.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Text.java index bb1201790a..3e72a30b02 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Text.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Text.java @@ -32,7 +32,7 @@ import org.eclipse.swt.events.*; * <dt><b>Styles:</b></dt> * <dd>CENTER, ICON_CANCEL, ICON_SEARCH, LEFT, MULTI, PASSWORD, SEARCH, SINGLE, RIGHT, READ_ONLY, WRAP</dd> * <dt><b>Events:</b></dt> - * <dd>DefaultSelection, Modify, Verify</dd> + * <dd>DefaultSelection, Modify, Verify, OrientationChange</dd> * </dl> * <p> * Note: Only one of the styles MULTI and SINGLE may be specified, diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ToolItem.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ToolItem.java index 9908c4690e..3acbc239c6 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ToolItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/ToolItem.java @@ -140,6 +140,12 @@ public ToolItem (ToolBar parent, int style, int index) { * the event object detail field contains the value <code>SWT.ARROW</code>. * <code>widgetDefaultSelected</code> is not called. * </p> + * <p> + * When the <code>SWT.RADIO</code> style bit is set, the <code>widgetSelected</code> method is + * also called when the receiver loses selection because another item in the same radio group + * was selected by the user. During <code>widgetSelected</code> the application can use + * <code>getSelection()</code> to determine the current selected state of the receiver. + * </p> * * @param listener the listener which should be notified when the control is selected by the user, * diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Widget.java index 997e427c90..34256cbe9c 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/widgets/Widget.java @@ -340,6 +340,7 @@ void destroyWidget () { * <code>true</code> when sent the message <code>isDisposed()</code>. * Any internal connections between the widgets in the tree will * have been removed to facilitate garbage collection. + * This method does nothing if the widget is already disposed. * <p> * NOTE: This method is not called recursively on the descendants * of the receiver. This means that, widget implementers can not @@ -550,7 +551,7 @@ boolean hooks (int eventType) { * <p> * This method gets the dispose state for the widget. * When a widget has been disposed, it is an error to - * invoke any other method using the widget. + * invoke any other method (except {@link #dispose()}) using the widget. * </p> * * @return <code>true</code> when the widget is disposed and <code>false</code> otherwise @@ -769,8 +770,31 @@ protected void removeListener (int eventType, SWTEventListener handler) { eventTable.unhook (eventType, handler); } /** + * Marks the widget to be skinned. + * <p> + * The skin event is sent to the receiver's display when appropriate (usually before the next event + * is handled). Widgets are automatically marked for skinning upon creation as well as when its skin + * id or class changes. The skin id and/or class can be changed by calling <code>Display.setData(String, Object)</code> + * with the keys SWT.SKIN_ID and/or SWT.SKIN_CLASS. Once the skin event is sent to a widget, it + * will not be sent again unless <code>reskin(int)</code> is called on the widget or on an ancestor + * while specifying the <code>SWT.ALL</code> flag. + * </p> + * <p> + * The parameter <code>flags</code> may be either: + * <dl> + * <dt><b>SWT.ALL</b></dt> + * <dd>all children in the receiver's widget tree should be skinned</dd> + * <dt><b>SWT.NONE</b></dt> + * <dd>only the receiver should be skinned</dd> + * </dl> + * </p> + * @param flags the flags specifying how to reskin * - * @param flags + * @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> * @since 3.6 */ public void reskin (int flags) { |