Constructs a new instance of this class given its parent and a style value describing its behavior and appearance. <p> The style value is either one of the style constants defined in class <code>SWT</code> which is applicable to instances of this class, or must be built by <em>bitwise OR</em>'ing together (that is, using the <code>int</code> "|" operator) two or more of those <code>SWT</code> style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses. </p>
Adds the listener to the collection of listeners who will be notified when a tab item is closed, minimized, maximized, restored, or to show the list of items that are not currently visible.
Adds the listener to the collection of listeners who will be notified when a tab item is closed.
Adds the listener to the collection of listeners who will be notified when the user changes the receiver's selection, by sending it one of the messages defined in the <code>SelectionListener</code> interface. <p> <code>widgetSelected</code> is called when the user changes the selected tab. <code>widgetDefaultSelected</code> is not called. </p>
Returns <code>true</code> if the receiver's border is visible.
Return the tab that is located at the specified index.
Gets the item at a point in the widget.
Return the number of tabs in the folder.
Return the tab items.
Returns <code>true</code> if the receiver displays most recently used tabs and <code>false</code> otherwise. <p> When there is not enough horizontal space to show all the tabs, by default, tabs are shown sequentially from left to right in order of their index. When the MRU visibility is turned on, the tabs that are visible will be the tabs most recently selected. Tabs will still maintain their left to right order based on index but only the most recently selected tabs are visible. <p> For example, consider a CTabFolder that contains "Tab 1", "Tab 2", "Tab 3" and "Tab 4" (in order by index). The user selects "Tab 1" and then "Tab 3". If the CTabFolder is now compressed so that only two tabs are visible, by default, "Tab 2" and "Tab 3" will be shown ("Tab 3" since it is currently selected and "Tab 2" because it is the previous item in index order). If MRU visibility is enabled, the two visible tabs will be "Tab 1" and "Tab 3" (in that order from left to right).</p>
Returns <code>true</code> if the maximize button is visible.
Returns <code>true</code> if the receiver is maximized. <p>
Returns <code>true</code> if the minimize button is visible.
Returns <code>true</code> if the receiver is minimized.
Returns the number of characters that will appear in a fully compressed tab.
Return the selected tab item, or null if there is no selection.
Returns the receiver's selection background color.
Returns the receiver's selection foreground color.
Return the index of the selected tab item, or -1 if there is no selection.
Returns <code>true</code> if the CTabFolder is rendered with a simple, traditional shape.
Returns <code>true</code> if the CTabFolder only displays the selected tab and <code>false</code> if the CTabFolder displays multiple tabs.
Returns the height of the tab
Returns the position of the tab. Possible values are SWT.TOP or SWT.BOTTOM.
Returns the control in the top right corner of the tab folder. Typically this is a close button or a composite with a menu and close button.
Returns <code>true</code> if the close button appears when the user hovers over an unselected tabs.
Returns <code>true</code> if an image appears in unselected tabs.
Return the index of the specified tab or -1 if the tab is not in the receiver.
Removes the listener.
Removes the listener.
Removes the listener from the collection of listeners who will be notified when the user changes the receiver's selection.
Specify a gradient of colours to be drawn in the background of the unselected tabs. For example to draw a gradient that varies from dark blue to blue and then to white, use the following call to setBackground: <pre> cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), display.getSystemColor(SWT.COLOR_BLUE), display.getSystemColor(SWT.COLOR_WHITE), display.getSystemColor(SWT.COLOR_WHITE)}, new int[] {25, 50, 100}); </pre>
Specify a gradient of colours to be drawn in the background of the unselected tab. For example to draw a vertical gradient that varies from dark blue to blue and then to white, use the following call to setBackground: <pre> cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), display.getSystemColor(SWT.COLOR_BLUE), display.getSystemColor(SWT.COLOR_WHITE), display.getSystemColor(SWT.COLOR_WHITE)}, new int[] {25, 50, 100}, true); </pre>
Set the image to be drawn in the background of the unselected tab. Image is stretched or compressed to cover entire unselected tab area.
Toggle the visibility of the border
Display an insert marker before or after the specified tab item.
Display an insert marker before or after the specified tab item.
Sets the layout which is associated with the receiver to be the argument which may be null. <p> Note: No Layout can be set on this Control because it already manages the size and position of its children. </p>
When there is not enough horizontal space to show all the tabs, by default, tabs are shown sequentially from left to right in order of their index. When the MRU visibility is turned on, the tabs that are visible will be the tabs most recently selected. Tabs will still maintain their left to right order based on index but only the most recently selected tabs are visible. <p> For example, consider a CTabFolder that contains "Tab 1", "Tab 2", "Tab 3" and "Tab 4" (in order by index). The user selects "Tab 1" and then "Tab 3". If the CTabFolder is now compressed so that only two tabs are visible, by default, "Tab 2" and "Tab 3" will be shown ("Tab 3" since it is currently selected and "Tab 2" because it is the previous item in index order). If MRU visibility is enabled, the two visible tabs will be "Tab 1" and "Tab 3" (in that order from left to right).</p>
Marks the receiver's maximize button as visible if the argument is <code>true</code>, and marks it invisible otherwise.
Sets the maximized state of the receiver.
Marks the receiver's minimize button as visible if the argument is <code>true</code>, and marks it invisible otherwise.
Sets the minimized state of the receiver.
Sets the minimum number of characters that will be displayed in a fully compressed tab.
Set the selection to the tab at the specified item.
Set the selection to the tab at the specified index.
Sets the receiver's selection background color to the color specified by the argument, or to the default system color for the control if the argument is null.
Specify a gradient of colours to be draw in the background of the selected tab. For example to draw a gradient that varies from dark blue to blue and then to white, use the following call to setBackground: <pre> cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), display.getSystemColor(SWT.COLOR_BLUE), display.getSystemColor(SWT.COLOR_WHITE), display.getSystemColor(SWT.COLOR_WHITE)}, new int[] {25, 50, 100}); </pre>
Specify a gradient of colours to be draw in the background of the selected tab. For example to draw a vertical gradient that varies from dark blue to blue and then to white, use the following call to setBackground: <pre> cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), display.getSystemColor(SWT.COLOR_BLUE), display.getSystemColor(SWT.COLOR_WHITE), display.getSystemColor(SWT.COLOR_WHITE)}, new int[] {25, 50, 100}, true); </pre>
Set the image to be drawn in the background of the selected tab. Image is stretched or compressed to cover entire selection tab area.
Set the foreground color of the selected tab.
Sets the shape that the CTabFolder will use to render itself.
Sets the number of tabs that the CTabFolder should display
Specify a fixed height for the tab items. If no height is specified, the default height is the height of the text or the image, whichever is greater. Specifying a height of -1 will revert to the default height.
Specify whether the tabs should appear along the top of the folder or along the bottom of the folder.
Set the control that appears in the top right corner of the tab folder. Typically this is a close button or a composite with a Menu and close button. The topRight control is optional. Setting the top right control to null will remove it from the tab folder.
Set the control that appears in the top right corner of the tab folder. Typically this is a close button or a composite with a Menu and close button. The topRight control is optional. Setting the top right control to null will remove it from the tab folder. <p> The alignment parameter sets the layout of the control in the tab area. <code>SWT.RIGHT</code> will cause the control to be positioned on the far right of the folder and it will have its default size. <code>SWT.FILL</code> will size the control to fill all the available space to the right of the last tab. If there is no available space, the control will not be visible. </p>
Specify whether the close button appears when the user hovers over an unselected tabs.
Specify whether the image appears on unselected tabs.
Shows the item. If the item is already showing in the receiver, this method simply returns. Otherwise, the items are scrolled until the item is visible.
Shows the selection. If the selection is already showing in the receiver, this method simply returns. Otherwise, the items are scrolled until the selection is visible.
Color of innermost line of drop shadow border.
Color of middle line of drop shadow border.
Color of outermost line of drop shadow border.
A multiple of the tab height that specifies the minimum width to which a tab will be compressed before scrolling arrows are used to navigate the tabs.
marginHeight specifies the number of pixels of vertical margin that will be placed along the top and bottom edges of the form.
marginWidth specifies the number of pixels of horizontal margin that will be placed along the left and right edges of the form.
Clears any data that has been cached by a Layout for all widgets that are in the parent hierarchy of the changed control up to and including the receiver. If an ancestor does not have a layout, it is skipped.
Returns the receiver's background drawing mode. This will be one of the following constants defined in class <code>SWT</code>: <code>INHERIT_NONE</code>, <code>INHERIT_DEFAULT</code>, <code>INHERTIT_FORCE</code>.
Returns a (possibly empty) array containing the receiver's children. Children are returned in the order that they are drawn. The topmost control appears at the beginning of the array. Subsequent controls draw beneath this control and appear later in the array. <p> Note: This is not the actual structure used by the receiver to maintain its list of children, so modifying the array will not affect the receiver. </p>
Returns layout which is associated with the receiver, or null if one has not been set.
Returns <code>true</code> if the receiver has deferred the performing of layout, and <code>false</code> otherwise.
Gets the (possibly empty) tabbing order for the control.
Returns <code>true</code> if the receiver or any ancestor up to and including the receiver's nearest ancestor shell has deferred the performing of layouts. Otherwise, <code>false</code> is returned.
If the receiver has a layout, asks the layout to <em>lay out</em> (that is, set the size and location of) the receiver's children. If the receiver does not have a layout, do nothing. <p> This is equivalent to calling <code>layout(true)</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>
If the receiver has a layout, asks the layout to <em>lay out</em> (that is, set the size and location of) the receiver's children. If the argument is <code>true</code> the layout must not rely on any information it has cached about the immediate children. If it is <code>false</code> the layout may (potentially) optimize the work it is doing by assuming that none of the receiver's children has changed state since the last layout. If the receiver does not have a layout, do nothing. <p> If a child is resized as a result of a call to layout, the resize event will invoke the layout of the child. The layout will cascade down through all child widgets in the receiver's widget tree until a child is encountered that does not resize. Note that a layout due to a resize will not flush any cached information (same as <code>layout(false)</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>
If the receiver has a layout, asks the layout to <em>lay out</em> (that is, set the size and location of) the receiver's children. If the changed argument is <code>true</code> the layout must not rely on any information it has cached about its children. If it is <code>false</code> the layout may (potentially) optimize the work it is doing by assuming that none of the receiver's children has changed state since the last layout. If the all argument is <code>true</code> the layout will cascade down through all child widgets in the receiver's widget tree, regardless of whether the child has changed size. The changed argument is applied to all layouts. If the all argument is <code>false</code>, the layout will <em>not</em> cascade down through all child widgets in the receiver's widget tree. However, if a child is resized as a result of a call to layout, the resize event will invoke the layout of the child. Note that a layout due to a resize will not flush any cached information (same as <code>layout(false)</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>
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. 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> 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>
Sets the background drawing mode to the argument which should be one of the following constants defined in class <code>SWT</code>: <code>INHERIT_NONE</code>, <code>INHERIT_DEFAULT</code>, <code>INHERIT_FORCE</code>.
Sets the layout which is associated with the receiver to be the argument which may be null.
If the argument is <code>true</code>, causes subsequent layout operations in the receiver or any of its children to be ignored. No layout of any kind can occur in the receiver or any of its children until the flag is set to false. Layout operations that occurred while the flag was <code>true</code> are remembered and when the flag is set to <code>false</code>, the layout operations are performed in an optimized manner. Nested calls to this method are stacked.
Sets the tabbing order for the specified controls to match the order that they occur in the argument list.
Instances of this class implement the notebook user interface metaphor. It allows the user to select a notebook page from set of pages. <p> The item children that may be added to instances of this class must be of type <code>CTabItem</code>. <code>Control</code> children are created and then set into a tab item using <code>CTabItem#setControl</code>. </p><p> Note that although this class is a subclass of <code>Composite</code>, it does not make sense to set a layout on it. </p><p> <dl> <dt><b>Styles:</b></dt> <dd>CLOSE, TOP, BOTTOM, FLAT, BORDER, SINGLE, MULTI</dd> <dt><b>Events:</b></dt> <dd>Selection</dd> <dd>"CTabFolder2"</dd> </dl> <p> Note: Only one of the styles TOP and BOTTOM may be specified. </p><p> IMPORTANT: This class is <em>not</em> intended to be subclassed. </p>
@see <a href="http://www.eclipse.org/swt/snippets/#ctabfolder">CTabFolder, CTabItem snippets</a> @see <a href="http://www.eclipse.org/swt/examples.php">SWT Example: CustomControlExample</a> @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>