import junit.framework.TestCase; import org.eclipse.draw2d.ColorConstants; import org.eclipse.draw2d.CompoundBorder; import org.eclipse.draw2d.Figure; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.Label; import org.eclipse.draw2d.LightweightSystem; import org.eclipse.draw2d.LineBorder; import org.eclipse.draw2d.MarginBorder; import org.eclipse.draw2d.SchemeBorder; import org.eclipse.draw2d.ScrollPane; import org.eclipse.draw2d.XYLayout; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Insets; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; /** * @author Klaus Wenger */ public class GEFTest extends TestCase { /** * @throws Exception */ public void testGrid() throws Exception { Shell shell = new Shell(); shell.setSize(480, 640); shell.setText("Text test"); LightweightSystem lightweightSystem = new LightweightSystem(shell); IFigure mainFigure = new Figure(); mainFigure.setSize(new Dimension(480, 640)); mainFigure.setOpaque(true); mainFigure.setBackgroundColor(ColorConstants.white); mainFigure.setBorder(new SchemeBorder(SchemeBorder.SCHEMES.RAISED)); mainFigure.setLayoutManager(new XYLayout()); IFigure gridContainerFigure = new Figure(); gridContainerFigure.setBorder(new LineBorder(1)); gridContainerFigure.setLayoutManager(new GridLayout(2, false)); IFigure gridChildFigure = new Label("Label 1.1"); gridChildFigure.setBorder(new CompoundBorder(new MarginBorder(new Insets(10, 10, 10, 10)), new LineBorder(1))); gridChildFigure.getInsets().add(new Insets(10, 10, 10, 10)); gridContainerFigure.add(gridChildFigure, new GridData(GridData.HORIZONTAL_ALIGN_CENTER)); gridChildFigure = new Label("Label 1.2"); gridChildFigure.setBorder(new CompoundBorder(new MarginBorder(new Insets(10, 10, 10, 10)), new LineBorder(1))); gridChildFigure.getInsets().add(new Insets(10, 10, 10, 10)); gridContainerFigure.add(gridChildFigure, new GridData(GridData.HORIZONTAL_ALIGN_CENTER)); gridChildFigure = new Label("Label 2.1"); gridChildFigure.setBorder(new CompoundBorder(new MarginBorder(new Insets(10, 10, 10, 10)), new LineBorder(1))); gridChildFigure.getInsets().add(new Insets(10, 10, 10, 10)); gridContainerFigure.add(gridChildFigure, new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); gridChildFigure = new Label("Label 2.2"); gridChildFigure.setBorder(new CompoundBorder(new MarginBorder(new Insets(10, 10, 10, 10)), new LineBorder(1))); gridChildFigure.getInsets().add(new Insets(10, 10, 10, 10)); gridContainerFigure.add(gridChildFigure, new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); gridChildFigure = new Label("Label 3.1"); gridChildFigure.setBorder(new CompoundBorder(new MarginBorder(new Insets(10, 10, 10, 10)), new LineBorder(1))); gridChildFigure.getInsets().add(new Insets(10, 10, 10, 10)); gridContainerFigure.add(gridChildFigure, new GridData(GridData.HORIZONTAL_ALIGN_END)); gridChildFigure = new Label("Label 3.2"); gridChildFigure.setBorder(new CompoundBorder(new MarginBorder(new Insets(10, 10, 10, 10)), new LineBorder(1))); gridChildFigure.getInsets().add(new Insets(10, 10, 10, 10)); gridContainerFigure.add(gridChildFigure, new GridData(GridData.HORIZONTAL_ALIGN_END)); mainFigure.add(gridContainerFigure); ScrollPane scrollPane = new ScrollPane(); scrollPane.add(mainFigure); lightweightSystem.setContents(scrollPane); shell.open(); Display display = shell.getDisplay(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } }