diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/cocoa')
28 files changed, 514 insertions, 50 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Color.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Color.java index 3b22aeaf86..175dd4843a 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Color.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Color.java @@ -246,7 +246,7 @@ void init(int red, int green, int blue) { * <p> * This method gets the dispose state for the color. * When a color has been disposed, it is an error to - * invoke any other method using the color. + * invoke any other method (except {@link #dispose()}) using the color. * * @return <code>true</code> when the color is disposed and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Cursor.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Cursor.java index 5453a7c820..7f4ba3922d 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Cursor.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Cursor.java @@ -90,6 +90,10 @@ Cursor(Device device) { * <p> * You must dispose the cursor when it is no longer required. * </p> + * NOTE: + * It is recommended to use {@link org.eclipse.swt.widgets.Display#getSystemCursor(int)} + * instead of using this constructor. This way you can avoid the + * overhead of disposing the Cursor resource. * * @param device the device on which to allocate the cursor * @param style the style of cursor to allocate @@ -426,7 +430,7 @@ public int hashCode () { * <p> * This method gets the dispose state for the cursor. * When a cursor has been disposed, it is an error to - * invoke any other method using the cursor. + * invoke any other method (except {@link #dispose()}) using the cursor. * * @return <code>true</code> when the cursor is disposed and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Font.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Font.java index c23e63777a..b1be7e9c16 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Font.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Font.java @@ -352,7 +352,7 @@ void init(String name, float height, int style, String nsName) { * <p> * This method gets the dispose state for the font. * When a font has been disposed, it is an error to - * invoke any other method using the font. + * invoke any other method (except {@link #dispose()}) using the font. * * @return <code>true</code> when the font is disposed and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/GC.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/GC.java index 96a786d06e..602f6800a6 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/GC.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/GC.java @@ -2959,7 +2959,7 @@ public boolean isClipped() { * <p> * This method gets the dispose state for the GC. * When a GC has been disposed, it is an error to - * invoke any other method using the GC. + * invoke any other method (except {@link #dispose()}) using the GC. * * @return <code>true</code> when the GC is disposed and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Image.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Image.java index 1a5d6fb667..3a38788510 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Image.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Image.java @@ -1159,7 +1159,7 @@ public int /*long*/ 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. */ @@ -1183,7 +1183,7 @@ public void internal_dispose_GC (int /*long*/ context, GCData data) { * <p> * This method gets the dispose state for the image. * When an image has been disposed, it is an error to - * invoke any other method using the image. + * invoke any other method (except {@link #dispose()}) using the image. * * @return <code>true</code> when the image is disposed and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Path.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Path.java index 431a97a093..1de065c702 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Path.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Path.java @@ -708,7 +708,7 @@ void init(PathData data) { * <p> * This method gets the dispose state for the Path. * When a Path has been disposed, it is an error to - * invoke any other method using the Path. + * invoke any other method (except {@link #dispose()}) using the Path. * * @return <code>true</code> when the Path is disposed, and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Pattern.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Pattern.java index 1670e9ab87..4d72b20f4f 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Pattern.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Pattern.java @@ -195,7 +195,7 @@ void destroy() { * <p> * This method gets the dispose state for the Pattern. * When a Pattern has been disposed, it is an error to - * invoke any other method using the Pattern. + * invoke any other method (except {@link #dispose()}) using the Pattern. * * @return <code>true</code> when the Pattern is disposed, and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Region.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Region.java index 52be267307..68351dc271 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Region.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Region.java @@ -631,7 +631,7 @@ public boolean intersects(Rectangle rect) { * <p> * This method gets the dispose state for the region. * When a region has been disposed, it is an error to - * invoke any other method using the region. + * invoke any other method (except {@link #dispose()}) using the region. * * @return <code>true</code> when the region is disposed, and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/TextLayout.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/TextLayout.java index 3657f11714..ecf88c9b1e 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/TextLayout.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/TextLayout.java @@ -1341,6 +1341,17 @@ public int[] getSegments() { return segments; } +/** + * Returns the segments characters of the receiver. + * + * @return the segments characters + * + * @exception SWTException <ul> + * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> + * </ul> + * + * @since 3.6 + */ public char[] getSegmentsChars () { checkLayout(); return segmentsChars; @@ -1492,6 +1503,17 @@ public int getWidth () { return wrapWidth; } +/** +* Returns the receiver's wrap indent. +* +* @return the receiver's wrap indent +* +* @exception SWTException <ul> +* <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> +* </ul> +* +* @since 3.6 +*/ public int getWrapIndent () { checkLayout(); return wrapIndent; @@ -1523,7 +1545,7 @@ void initClasses () { * <p> * This method gets the dispose state for the text layout. * When a text layout has been disposed, it is an error to - * invoke any other method using the text layout. + * invoke any other method (except {@link #dispose()}) using the text layout. * </p> * * @return <code>true</code> when the text layout is disposed and <code>false</code> otherwise @@ -1676,7 +1698,7 @@ public void setFont (Font font) { } /** - * Sets the indent of the receiver. This indent it applied of the first line of + * Sets the indent of the receiver. This indent is applied to the first line of * each paragraph. * * @param indent new indent @@ -1685,6 +1707,8 @@ public void setFont (Font font) { * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> * </ul> * + * @see #setWrapIndent(int) + * * @since 3.2 */ public void setIndent (int indent) { @@ -1701,6 +1725,20 @@ public void setIndent (int indent) { } } +/** + * Sets the wrap indent of the receiver. This indent is applied to all lines + * in the paragraph except the first line. + * + * @param wrapIndent new wrap indent + * + * @exception SWTException <ul> + * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> + * </ul> + * + * @see #setIndent(int) + * + * @since 3.6 + */ public void setWrapIndent (int wrapIndent) { checkLayout (); if (wrapIndent < 0) return; @@ -1769,7 +1807,7 @@ public void setOrientation(int orientation) { /** * Sets the offsets of the receiver's text segments. Text segments are used to - * override the default behaviour of the bidirectional algorithm. + * override the default behavior of the bidirectional algorithm. * Bidirectional reordering can happen within a text segment but not * between two adjacent segments. * <p> @@ -1778,12 +1816,18 @@ public void setOrientation(int orientation) { * always be zero and the last one should always be equals to length of * the text. * </p> + * <p> + * When segments characters are set, the segments are the offsets where + * the characters are inserted in the text. + * <p> * * @param segments the text segments offset * * @exception SWTException <ul> * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> * </ul> + * + * @see #setSegmentsChars(char[]) */ public void setSegments(int[] segments) { checkLayout(); @@ -1807,6 +1851,23 @@ public void setSegments(int[] segments) { } } +/** + * Sets the characters to be used in the segments boundaries. The segments + * are set by calling <code>setSegments(int[])</code>. The application can + * use this API to insert Unicode Control Characters in the text to control + * the display of the text and bidi reordering. The characters are not + * accessible by any other API in <code>TextLayout</code>. + * + * @param segmentsChars the segments characters + * + * @exception SWTException <ul> + * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> + * </ul> + * + * @see #setSegments(int[]) + * + * @since 3.6 + */ public void setSegmentsChars(char[] segmentsChars) { checkLayout(); if (this.segmentsChars == null && segmentsChars == null) return; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Transform.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Transform.java index 6fdb13de11..dc6c63e9a2 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Transform.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/graphics/Transform.java @@ -243,7 +243,7 @@ public void invert() { * <p> * This method gets the dispose state for the Transform. * When a Transform has been disposed, it is an error to - * invoke any other method using the Transform. + * invoke any other method (except {@link #dispose()}) using the Transform. * * @return <code>true</code> when the Transform is disposed, and <code>false</code> otherwise */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Button.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Button.java index 7c2f8abab2..40d56b0bc2 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Button.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Button.java @@ -104,6 +104,12 @@ public Button (Composite parent, int style) { * <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/cocoa/org/eclipse/swt/widgets/Canvas.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Canvas.java index ea50a2e451..3312be1507 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Canvas.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Canvas.java @@ -278,7 +278,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/cocoa/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Combo.java index c03cfcb60e..56f58424fa 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Combo.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Combo.java @@ -41,7 +41,7 @@ import org.eclipse.swt.internal.cocoa.*; * <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/cocoa/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java index 1d8527e434..3d19efb529 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java @@ -295,6 +295,33 @@ void createHandle () { } } +/** + * 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); @@ -710,6 +737,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/cocoa/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java index 4a13222355..a6f811461b 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java @@ -26,7 +26,8 @@ import org.eclipse.swt.internal.cocoa.*; * <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. @@ -965,7 +966,7 @@ void doCommandBySelector (int /*long*/ id, int /*long*/ sel, int /*long*/ select * @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> @@ -1007,7 +1008,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> @@ -1559,6 +1560,11 @@ int getMininumHeight () { * * @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 () { @@ -4054,7 +4060,7 @@ boolean traverseMnemonic (char key) { * 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> @@ -4092,7 +4098,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> @@ -4209,7 +4215,8 @@ boolean traverse (int traversal, char character, int keyCode, int keyLocation, i * 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/cocoa/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java index a1d4eda1c8..8daac5cad8 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java @@ -78,7 +78,7 @@ import org.eclipse.swt.internal.cocoa.*; * <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. @@ -1874,6 +1874,18 @@ public Tray getSystemTray () { return tray = new Tray (this, SWT.NONE); } +/** + * 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 (); if (taskBar != null) return taskBar; @@ -3832,6 +3844,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/cocoa/org/eclipse/swt/widgets/Link.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Link.java index d702ad1739..6f46287341 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Link.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Link.java @@ -629,6 +629,18 @@ void setOrientation () { * 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/cocoa/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/MenuItem.java index 2dafb6776c..4f5fbbc397 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/MenuItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/MenuItem.java @@ -184,7 +184,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/cocoa/org/eclipse/swt/widgets/ScrollBar.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ScrollBar.java index f92d6fe6e8..2b287f8bb2 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ScrollBar.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ScrollBar.java @@ -284,8 +284,7 @@ public Point getSize () { } /** - * 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 * @@ -301,6 +300,19 @@ public int getThumb () { return thumb; } +/** + * 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(); NSRect rect = view.rectForPart(OS.NSScrollerKnob); @@ -308,6 +320,20 @@ public Rectangle getThumbBounds () { return new Rectangle((int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height); } +/** + * 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(); NSRect rect = view.rectForPart(OS.NSScrollerKnobSlot); @@ -616,10 +642,13 @@ public void setSelection (int value) { } /** - * 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/cocoa/org/eclipse/swt/widgets/Slider.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Slider.java index f62d24c951..502957e5b1 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Slider.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Slider.java @@ -283,8 +283,7 @@ public int getSelection () { } /** - * 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 * @@ -475,10 +474,13 @@ void updateBar (int selection, int minimum, int maximum, int thumb) { } /** - * 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/cocoa/org/eclipse/swt/widgets/Spinner.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Spinner.java index a436e58f48..cbf4d1d5b3 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Spinner.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Spinner.java @@ -791,11 +791,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> @@ -813,11 +813,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/cocoa/org/eclipse/swt/widgets/TableItem.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TableItem.java index 91095b8629..fd993ba6da 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TableItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TableItem.java @@ -250,10 +250,10 @@ public Color getBackground (int index) { } /** - * Returns a rectangle describing the receiver's size and location - * relative to its parent. + * Returns a rectangle describing the size and location of the receiver's + * text relative to its parent. * - * @return the receiver's bounding rectangle + * @return the bounding rectangle of the receiver's text * * @exception SWTException <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TaskBar.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TaskBar.java index ad1a61a64a..9e425f5d89 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TaskBar.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TaskBar.java @@ -109,6 +109,19 @@ public int getItemCount () { return itemCount; } +/** + * Returns the <code>TaskItem</code> for the given <code>Shell</code> or the <code>TaskItem</code> + * for the application if the <code>Shell</code> parameter is <code>null</code>. + * If the requested item is not supported by the platform it returns <code>null</code>. + * + * @param shell the shell for which the task item is requested, or null to request the application item + * @return the task item for the given shell or the application + * + * @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> + */ public TaskItem getItem (Shell shell) { checkWidget (); for (int i = 0; i < itemCount; i++) { @@ -128,7 +141,7 @@ public TaskItem getItem (Shell shell) { } /** - * Returns an array of <code>TaskBarItem</code>s which are the items + * Returns an array of <code>TaskItem</code>s which are the items * in the receiver. * <p> * Note: This is not the actual structure used by the receiver diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TaskItem.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TaskItem.java index 128e006af4..921bb7263f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TaskItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TaskItem.java @@ -16,7 +16,7 @@ import org.eclipse.swt.graphics.*; import org.eclipse.swt.internal.cocoa.*; /** - * Instances of this class represent a taskbar item. + * Instances of this class represent a task item. * * <dl> * <dt><b>Styles:</b></dt> @@ -96,16 +96,49 @@ void destroyWidget () { releaseHandle (); } +/** + * Returns the receiver's pop up menu if it has one, or null + * if it does not. + * + * @return the receiver's menu + * + * @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> + */ public Menu getMenu () { checkWidget (); return menu; } +/** + * Returns the receiver's overlay image if it has one, or null + * if it does not. + * + * @return the receiver's overlay image + * + * @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> + */ public Image getOverlayImage () { checkWidget (); return overlayImage; } +/** + * Returns the receiver's overlay text, which will be an empty + * string if it has never been set. + * + * @return the receiver's overlay text + * + * @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> + */ public String getOverlayText () { checkWidget (); return overlayText; @@ -127,11 +160,31 @@ public TaskBar getParent () { return parent; } +/** + * Returns the receiver's progress. + * + * @return the receiver's progress + * + * @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> + */ public int getProgress () { checkWidget (); return progress; } +/** + * Returns the receiver's progress state. + * + * @return the receiver's progress state + * + * @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> + */ public int getProgressState () { checkWidget (); return progressState; @@ -151,6 +204,37 @@ void releaseWidget () { shell = null; } +/** + * Sets the receiver's pop up menu to the argument. The way the menu is + * shown is platform specific. + * + * <p> + * This feature might not be available for the receiver on all + * platforms. The application code can check if it is supported + * by calling the respective get method. When the feature is not + * available, the get method will always return the NULL.</p> + * + * <p> + * For better cross platform support, the application code should + * set this feature on the <code>TaskItem</code> for application.<br> + * On Windows, this feature will only work on RCP applications.</p> + * + * <p> + * The menu should be fully created before this method is called. + * Dynamic changes to the menu after the method is called will not be reflected + * in the native menu.</p> + * + * @param menu the new pop up menu + * + * @exception IllegalArgumentException <ul> + * <li>ERROR_MENU_NOT_POP_UP - the menu is not a pop up menu</li> + * <li>ERROR_INVALID_ARGUMENT - if the menu 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> + */ public void setMenu (Menu menu) { checkWidget (); if (menu != null) { @@ -162,6 +246,33 @@ public void setMenu (Menu menu) { this.menu = menu; } +/** + * Sets the receiver's overlay image, which may be null + * indicating that no image should be displayed. The bounds + * for the overlay image is determined by the platform and in + * general it should be a small image. + * + * <p> + * This feature might not be available for the receiver on all + * platforms. The application code can check if it is supported + * by calling the respective get method. When the feature is not + * available, the get method will always return the NULL.</p> + * + * <p> + * For better cross platform support, the application code should + * first try to set this feature on the <code>TaskItem</code> for the + * main shell then on the <code>TaskItem</code> for the application.</p> + * + * @param overlayImage the new overlay image (may be null) + * + * @exception IllegalArgumentException <ul> + * <li>ERROR_INVALID_ARGUMENT - if the overlayImage 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> + */ public void setOverlayImage (Image image) { checkWidget (); if (image != null && image.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT); @@ -170,6 +281,32 @@ public void setOverlayImage (Image image) { updateImage (); } +/** + * Sets the receiver's overlay text. The space available to display the + * overlay text is platform dependent and in general it should be no longer + * than a few characters. + * + * <p> + * This feature might not be available for the receiver on all + * platforms. The application code can check if it is supported + * by calling the respective get method. When the feature is not + * available, the get method will always return an empty string.</p> + * + * <p> + * For better cross platform support, the application code should + * first try to set this feature on the <code>TaskItem</code> for the + * main shell then on the <code>TaskItem</code> for the application.</p> + * + * @param overlayText the new overlay text + * + * @exception IllegalArgumentException <ul> + * <li>ERROR_NULL_ARGUMENT - if the overlayText 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> + */ public void setOverlayText (String string) { checkWidget (); if (string == null) error (SWT.ERROR_NULL_ARGUMENT); @@ -178,6 +315,31 @@ public void setOverlayText (String string) { updateImage (); } +/** + * Sets the receiver's progress, the progress represents a percentage and + * should be in range from 0 to 100. The progress is only shown when the progress + * state is different than <code>SWT#DEFAULT</code>. + * + * <p> + * This feature might not be available for the receiver on all + * platforms. The application code can check if it is supported + * by calling the respective get method. When the feature is not + * available, the get method will always return zero.</p> + * + * <p> + * For better cross platform support, the application code should + * first try to set this feature on the <code>TaskItem</code> for the + * main shell then on the <code>TaskItem</code> for the application.</p> + * + * @param progress the new progress + * + * @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 {@link #setProgressState(int)} + */ public void setProgress (int progress) { checkWidget (); progress = Math.max (0, Math.min (progress, PROGRESS_MAX)); @@ -186,6 +348,41 @@ public void setProgress (int progress) { updateImage (); } +/** + * Sets the receiver's progress state, the state can be one of + * the following: + * <p><ul> + * <li>{@link SWT#DEFAULT}</li> + * <li>{@link SWT#NORMAL}</li> + * <li>{@link SWT#PAUSED}</li> + * <li>{@link SWT#ERROR}</li> + * <li>{@link SWT#INDETERMINATE}</li> + * </ul></p> + * + * The percentage of progress shown by the states <code>SWT#NORMAL</code>, <code>SWT#PAUSED</code>, + * <code>SWT#ERROR</code> is set with <code>setProgress()</code>. <br> + * The state <code>SWT#DEFAULT</code> indicates that no progress should be shown. + * + * <p> + * This feature might not be available for the receiver on all + * platforms. The application code can check if it is supported + * by calling the respective get method. When the feature is not + * available, the get method will always return <code>SWT#DEFAULT</code>.</p> + * + * <p> + * For better cross platform support, the application code should + * first try to set this feature on the <code>TaskItem</code> for the + * main shell then on the <code>TaskItem</code> for the application.</p> + * + * @param progressState the new progress state + * + * @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 {@link #setProgress(int)} + */ public void setProgressState (int progressState) { checkWidget (); if (this.progressState == progressState) return; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Text.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Text.java index 5ad98300ca..ca72a9bca5 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Text.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Text.java @@ -30,7 +30,7 @@ import org.eclipse.swt.internal.cocoa.*; * <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/cocoa/org/eclipse/swt/widgets/ToolItem.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ToolItem.java index e76a5a53fc..c2698365b7 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ToolItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ToolItem.java @@ -241,6 +241,12 @@ boolean accessibilityIsIgnored(int /*long*/ id, int /*long*/ sel) { * 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/cocoa/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TreeItem.java index eaf464d5e1..7f53aea0c4 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TreeItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/TreeItem.java @@ -422,10 +422,10 @@ public Color getBackground (int index) { } /** - * Returns a rectangle describing the receiver's size and location - * relative to its parent. + * Returns a rectangle describing the size and location of the receiver's + * text relative to its parent. * - * @return the receiver's bounding rectangle + * @return the bounding rectangle of the receiver's text * * @exception SWTException <ul> * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> @@ -1230,8 +1230,6 @@ public void setFont (int index, Font font) { * * @param color the new color (or null) * - * @since 2.0 - * * @exception IllegalArgumentException <ul> * <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> * </ul> diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java index 9a48de1d7b..b5f2dc7b49 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java @@ -325,8 +325,31 @@ void becomeKeyWindow (int /*long*/ id, int /*long*/ sel) { } /** + * 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) { @@ -575,6 +598,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 @@ -928,7 +952,7 @@ boolean isActive () { * <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 |