diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk')
23 files changed, 300 insertions, 46 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java index 5e671bc180..7a57f02670 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java @@ -269,7 +269,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/gtk/org/eclipse/swt/graphics/Cursor.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java index 9f46a49441..96dfe32955 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java @@ -92,6 +92,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 @@ -507,7 +511,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/gtk/org/eclipse/swt/graphics/Font.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java index 97236c4406..2619dbb0d7 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java @@ -268,7 +268,7 @@ void init(String name, float height, int style, byte[] fontString) { * <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/gtk/org/eclipse/swt/graphics/GC.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java index 2393461310..ac76e2c42e 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java @@ -2892,7 +2892,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/gtk/org/eclipse/swt/graphics/Image.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java index 9a0e5e1aa0..a2785ceb3f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java @@ -1097,7 +1097,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. */ @@ -1111,7 +1111,7 @@ public void internal_dispose_GC (int /*long*/ gdkGC, 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/gtk/org/eclipse/swt/graphics/Region.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java index 0d7e5ce58f..a2b8995ec7 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java @@ -414,7 +414,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/gtk/org/eclipse/swt/graphics/TextLayout.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/TextLayout.java index c90cce286e..372b628ae6 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/TextLayout.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/TextLayout.java @@ -1543,6 +1543,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; @@ -1694,6 +1705,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; @@ -1705,7 +1727,7 @@ public int getWrapIndent () { * <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 @@ -1832,7 +1854,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 @@ -1841,6 +1863,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) { @@ -1917,7 +1941,7 @@ public void setSpacing (int spacing) { /** * 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> @@ -1926,12 +1950,18 @@ public void setSpacing (int spacing) { * 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(); @@ -1949,6 +1979,23 @@ public void setSegments(int[] segments) { this.segments = 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; @@ -2183,6 +2230,20 @@ void setWidth () { } } +/** + * 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; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java index decf696388..f16b2d4038 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java @@ -118,6 +118,12 @@ static int checkStyle (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/gtk/org/eclipse/swt/widgets/Canvas.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java index 405a09a611..3fd382caa5 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java @@ -219,7 +219,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/gtk/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java index 65220987b8..d692fc38df 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/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/gtk/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java index 10f99d3988..483032f3b0 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java @@ -330,6 +330,33 @@ void deregister () { if (socketHandle != 0) display.removeWidget (socketHandle); } +/** + * 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); @@ -958,6 +985,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/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java index c71351da74..ae09ff2f67 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java @@ -28,7 +28,8 @@ import org.eclipse.swt.internal.gtk.*; * <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. @@ -1964,7 +1965,7 @@ public void removeTraverseListener(TraverseListener listener) { * @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> @@ -2006,7 +2007,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> @@ -2421,6 +2422,11 @@ public Menu getMenu () { * * @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 () { @@ -3039,7 +3045,7 @@ int /*long*/ imHandle () { * </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. */ @@ -4327,7 +4333,8 @@ void sort (int [] items) { * 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 @@ -4365,7 +4372,7 @@ public boolean traverse (int traversal) { * 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> @@ -4403,7 +4410,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> diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java index 74c5fa262b..09e289f727 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/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. @@ -2305,6 +2305,18 @@ public Font getSystemFont () { return systemFont = Font.gtk_new (this, defaultFont); } +/** + * 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; @@ -3674,6 +3686,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/gtk/org/eclipse/swt/widgets/Link.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java index efe2611a3c..6495b79f72 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Link.java @@ -712,6 +712,18 @@ void setFontDescription (int /*long*/ font) { * 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/gtk/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java index 38e6ac81c3..d98c2823ac 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java @@ -197,7 +197,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/gtk/org/eclipse/swt/widgets/ScrollBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java index 560c841dfa..07580ec938 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java @@ -306,8 +306,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 * @@ -325,6 +324,19 @@ public int getThumb () { return (int) adjustment.page_size; } +/** + * 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 slider_start = OS.GTK_RANGE_SLIDER_START (handle); @@ -354,6 +366,20 @@ public Rectangle getThumbBounds () { 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 x = 0, y = 0, width, height; @@ -746,10 +772,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/gtk/org/eclipse/swt/widgets/Slider.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java index f240cae42a..957b79229d 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java @@ -365,8 +365,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 * @@ -538,10 +537,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/gtk/org/eclipse/swt/widgets/Spinner.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java index 73c533f1af..c87d7cdf7b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java @@ -912,11 +912,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> @@ -939,11 +939,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/gtk/org/eclipse/swt/widgets/TableItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java index f34843751d..3307d505eb 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java @@ -252,10 +252,10 @@ public Color getBackground () { } /** - * 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/gtk/org/eclipse/swt/widgets/Text.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java index c0a7aa320f..3b107ce1ed 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/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/gtk/org/eclipse/swt/widgets/ToolItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java index d741c89cde..4c5c7d95e6 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java @@ -141,6 +141,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/gtk/org/eclipse/swt/widgets/TreeItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java index 1102499b31..c40dea482d 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java @@ -479,10 +479,10 @@ public Rectangle getBounds (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> @@ -1449,8 +1449,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/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java index 5da5ebe8c8..48e06014dd 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java @@ -435,6 +435,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 @@ -949,7 +950,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 @@ -1184,8 +1185,31 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l } /** + * 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) { |