package com.readytalk.examples.swt.widgets.notifications; import com.readytalk.examples.swt.RunnableExample; import com.readytalk.examples.swt.SwtBlingExample; import com.readytalk.swt.widgets.buttons.SquareButton; import com.readytalk.swt.widgets.notifications.PopOverComposite; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class PopOverCompositeExample implements SwtBlingExample { @RunnableExample(name="PopOverComposite") public PopOverCompositeExample() { } public void run(Display display, Shell shell) { shell.setLayout(new FillLayout()); Button button = new Button(shell, SWT.PUSH); button.setText("Open PopOverComposite"); final PopOverComposite popOverComposite = PopOverComposite.createPopOverComposite(button); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { popOverComposite.toggle(); } }); Composite composite = new Composite(popOverComposite.getPopOverCompositeShell(), SWT.NONE); composite.setLayout(new GridLayout(2, false)); Image iconInformation = display.getSystemImage(SWT.ICON_INFORMATION); Image iconError = display.getSystemImage(SWT.ICON_ERROR); Image iconWarning = display.getSystemImage(SWT.ICON_WARNING); new SquareButton.SquareButtonBuilder() .setImage(iconInformation) .setImagePosition(SquareButton.ImagePosition.LEFT_OF_TEXT) .setText("This button provides you with some information.") .setParent(composite) .build(); new SquareButton.SquareButtonBuilder() .setImage(iconWarning) .setImagePosition(SquareButton.ImagePosition.LEFT_OF_TEXT) .setText("You should be cautious clicking this button.") .setParent(composite) .build(); new SquareButton.SquareButtonBuilder() .setImage(iconError) .setImagePosition(SquareButton.ImagePosition.LEFT_OF_TEXT) .setText("This button will produce an error.") .setParent(composite) .build(); new SquareButton.SquareButtonBuilder() .setImage(iconError) .setImagePosition(SquareButton.ImagePosition.LEFT_OF_TEXT) .setText("This button is bad news.") .setParent(composite) .build(); popOverComposite.setComposite(composite); shell.pack(); shell.open(); } }