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

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net