Recipe 10.2 Creating SWT Coolbars


Recipe 10.2 Creating SWT Coolbars

10.2.1 Problem

You want to wow users with coolbars, which feature sliding, resizeable toolbars .

10.2.2 Solution

Create a coolbar and add the toolbars you want the user to slide around as cool items in the coolbar. Use the cool items' setControl method to add the toolbars to each cool item.

10.2.3 Discussion

In this example, CoolBarApp in the code for this book, we'll put together a coolbar with two sliding toolbars. Here's a selection of the most useful CoolBar methods :

Point computeSize(int wHint, int hHint, boolean changed)

Returns the preferred size of the coolbar

CoolItem getItem(int index)

Returns the item that currently is displayed at the given zero-relative index

int getItemCount( )

Returns the number of items contained in the coolbar

CoolItem[] getItems( )

Returns an array of CoolItem objects in the order in which they currently are being displayed

Point[] getItemSizes( )

Returns an array of points whose x and y coordinates describe the widths and heights of the items in the coolbar

Creating the coolbar in this example is easy; just use the CoolBar constructor and set the layout you want to use:

 public class CoolBarClass {     static Display display;     static Shell shell;  static CoolBar coolBar;  public static void main(String[] args)     {         display = new Display( );         shell = new Shell(display);         shell.setLayout(new GridLayout( ));         shell.setText("CoolBar Example");         shell.setSize(600, 200);  coolBar = new CoolBar(shell, SWT.BORDER  SWT.FLAT);   coolBar.setLayoutData(new GridData(GridData.FILL_BOTH));  .          .          . 

The next step is to add coolbar items containing toolbars, which we'll cover in the next recipe.

10.2.4 See Also

Recipe 10.3 on adding items to coolbars; Recipe 10.4 on adding drop-down menus to coolbars.

Eclipse Cookbook
Inside XML (Inside (New Riders))
ISBN: 596007108
EAN: 2147483647
Year: 2006
Pages: 232
Authors: Steve Holzner

Similar book on Amazon © 2008-2017.
If you may any questions please contact us: