/*******************************************************************************
* Copyright (c) 2006-2007 IBM Corporation and others.
* 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:
* Nicolas Richeton (nicolas.richeton@gmail.com) - initial implementation
*******************************************************************************/
package org.eclipse.nebula.widgets.collapsiblebuttons.example;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.nebula.widgets.collapsiblebuttons.CollapsibleButtons;
import org.eclipse.nebula.widgets.collapsiblebuttons.IColorManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.nebula.examples.AbstractExampleTab;
import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
/**
* Demonstrates the CollapsibleButtons widget.
*
* @author Nicolas Richeton (nicolas.richeton@gmail.com)
*/
public class CollapsibleButtonsExampleTab extends AbstractExampleTab {
Image womanImage = null;
Image bgImage = null;
Image eclipseImage = null;
CollapsibleButtons collapsibleButtons = null;
Image itemImage24 = null;
Image itemImage16 = null;
public Control createControl(Composite parent) {
if( itemImage24 == null)
itemImage24 = new Image(parent.getDisplay(), Program
.findProgram("jpg").getImageData().scaledTo(24, 24)); //$NON-NLS-1$
if( itemImage16 == null)
itemImage16 = new Image(parent.getDisplay(), Program
.findProgram("jpg").getImageData().scaledTo(16, 16)); //$NON-NLS-1$
parent.setLayout(new FillLayout());
Composite inner = new Composite(parent, SWT.NONE);
GridLayout gl = new GridLayout(1, true);
gl.marginBottom = 0;
gl.marginHeight = 0;
gl.marginWidth = 0;
gl.marginHeight = 0;
inner.setLayout(gl);
collapsibleButtons = new CollapsibleButtons(inner,
SWT.NONE, IColorManager.SKIN_OFFICE_2007);
collapsibleButtons.setLayoutData(new GridData(GridData.GRAB_VERTICAL
| GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_END));
for (int i = 0; i < 5; i++) {
collapsibleButtons.addButton("Button "+i, "Tooltip "+i, itemImage24,
itemImage16);
}
return collapsibleButtons;
}
public String[] createLinks() {
String[] links = new String[4];
links[0] = "<a href=\"http://www.eclipse.org/nebula/widgets/collapsiblebuttons/collapsiblebuttons.php\">CollapsibleButtons Home Page</a>";
links[1] = "<a href=\"http://www.eclipse.org/nebula/snippets.php#CollapsibleButtons\">Snippets</a>";
links[2] = "<a href=\"https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=Nebula&component=CollapsibleButtons&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=\">Bugs</a>";
links[3] = "<a href=\"http://www.eclipse.org/projects/project-plan.php?projectid=technology.nebula\">Projet plan</a>";
return links;
}
public void createParameters(Composite parent) {
GridLayoutFactory.swtDefaults().margins(0, 0).numColumns(3).applyTo(
parent);
}
}