/*******************************************************************************
* Copyright (c) Emil Crumhorn - Hexapixel.com - emil.crumhorn@gmail.com
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* emil.crumhorn@gmail.com - initial API and implementation
*******************************************************************************/
package org.eclipse.nebula.widgets.collapsiblebuttons;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class ButtonsTester {
/**
* @param args
*/
public static void main(String[] args) {
Display display = new Display ();
Shell shell = new Shell (display);
shell.setText("Buttons Widget Tester");
shell.setSize(200, 400);
shell.setLayout(new FillLayout());
Composite inner = new Composite(shell, SWT.None);
GridLayout gl = new GridLayout(1, true);
gl.marginBottom = 0;
gl.marginHeight = 0;
gl.marginWidth = 0;
gl.marginHeight = 0;
inner.setLayout(gl);
System.err.println(ButtonsTester.class.getResource("icons/file_foo_16.png"));
System.err.println(ImageCache.getImage("file_foo_16.png"));
final CollapsibleButtons bc = new CollapsibleButtons(inner, SWT.NONE, IColorManager.SKIN_OFFICE_2007);
bc.setLayoutData(new GridData(GridData.GRAB_VERTICAL | GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_END));
bc.addButton("Synchronize", null, ImageCache.getImage("selection_recycle_24.png"), ImageCache.getImage("selection_recycle_16.gif"));
bc.addButton("Folders", null, ImageCache.getImage("folder.png"), ImageCache.getImage("folder_16.gif"));
bc.addButton("Preferences", null, ImageCache.getImage("notebook_preferences.png"), ImageCache.getImage("notebook_preferences_16.gif"));
bc.addButton("Syntax Check", null, ImageCache.getImage("gear_ok.png"), ImageCache.getImage("gear_ok_16.gif"));
bc.addButton("Library ", "Test", ImageCache.getImage("icons/arrows.gif"), ImageCache.getImage("icons/arrows.gif"));
bc.addButtonListener(new IButtonListener() {
public void buttonClicked(CustomButton button, MouseEvent e) {
if (button.getText().equals("Library ")) {
bc.removeAllButtons();
bc.addButton("Test", null, ImageCache.getImage("icons/arrows.gif"), null);
}
}
public void buttonEnter(CustomButton button, MouseEvent e) {
}
public void buttonExit(CustomButton button, MouseEvent e) {
}
public void buttonHover(CustomButton button, MouseEvent e) {
}
});
shell.open();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
/*
Display display = new Display ();
Shell shell = new Shell (display);
shell.setText("Buttons Widget Tester");
shell.setSize(200, 400);
shell.setLayout(new FillLayout());
Composite inner = new Composite(shell, SWT.None);
inner.setLayout(new FillLayout());
SashForm sash = new SashForm(inner, SWT.VERTICAL);
Composite top = new Composite(sash, SWT.NONE);
top.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
top.setLayout( new FillLayout());
Composite bottom = new Composite(sash, SWT.NONE);
GridLayout layout = new GridLayout(1, true);
layout.marginBottom = 0;
layout.marginHeight = 0;
layout.marginLeft = 0;
layout.marginRight = 0;
layout.marginTop = 0;
layout.marginWidth = 0;
bottom.setLayout( layout );
sash.setWeights( new int[] { 20, 80 } );
CollapsibleButtons bc = new CollapsibleButtons(bottom, SWT.NONE, IColorManager.SKIN_AUTO_DETECT);
//bc.setLayoutData(new GridData( GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_END));
bc.setLayoutData(new GridData(GridData.GRAB_VERTICAL | GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_END));
bc.addButton("Synchronize", "Synchronize", ImageCache.getImage("selection_recycle_24.png"), ImageCache.getImage("selection_recycle_16.gif"));
bc.addButton("Folders", "Folders", ImageCache.getImage("folder.png"), ImageCache.getImage("folder_16.gif"));
bc.addButton("Preferences", "Preferences", ImageCache.getImage("notebook_preferences.png"), ImageCache.getImage("notebook_preferences_16.gif"));
bc.addButton("Syntax Check", "Syntax Check", ImageCache.getImage("gear_ok.png"), ImageCache.getImage("gear_ok_16.gif"));
bc.addButton("Library ", "Library ", ImageCache.getImage("books.png"), ImageCache.getImage("books_16.gif"));
//Add three buttons, setVisible to false, and add them to toolbar
Image image = new Image(display, "icons/arrows.gif");
ToolbarComposite toolbar = bc.getToolbarComposite();
CustomButton cb1 = bc.addButton("A", "A", image, image);
cb1.setVisible(false);
toolbar.addItem(cb1);
CustomButton cb2 =bc.addButton("B", "B", image, image);
cb2.setVisible(false);
toolbar.addItem(cb2);
CustomButton cb3 =bc.addButton("C", "C ", image, image );
cb3.setVisible(false);
toolbar.addItem(cb3);
bc.addButtonListener(new IButtonListener() {
public void buttonClicked(CustomButton button, MouseEvent e) {
System.err.println("You clicked " + button);
}
public void buttonEnter(CustomButton button, MouseEvent e) {
}
public void buttonExit(CustomButton button, MouseEvent e) {
}
public void buttonHover(CustomButton button, MouseEvent e) {
}
});
*/
shell.open();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
}