package de.ugoe.cs.quest.ui.swt; import org.eclipse.swt.program.Program; import org.eclipse.swt.widgets.Dialog; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.SWT; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.Hyperlink; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; public class AboutDialog extends Dialog { protected Shell shlAboutEventbenchconsole; private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); /** * Create the dialog. * * @param parent * @param style */ public AboutDialog(Shell parent, int style) { super(parent, style); setText("SWT Dialog"); } /** * Open the dialog. */ public void open() { createContents(); shlAboutEventbenchconsole.open(); shlAboutEventbenchconsole.layout(); Display display = getParent().getDisplay(); while (!shlAboutEventbenchconsole.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } /** * Create contents of the dialog. */ private void createContents() { shlAboutEventbenchconsole = new Shell(getParent(), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); shlAboutEventbenchconsole.setSize(283, 113); shlAboutEventbenchconsole.setText("About EventBenchConsole"); Label lblEventbenchconsole = new Label(shlAboutEventbenchconsole, SWT.CENTER); lblEventbenchconsole.setBounds(10, 10, 267, 15); lblEventbenchconsole.setText("EventBenchConsole"); Label lblFurtherInformationAbout = new Label(shlAboutEventbenchconsole, SWT.WRAP); lblFurtherInformationAbout.setBounds(10, 31, 267, 31); lblFurtherInformationAbout .setText("Further information about this software is provided on our homepage."); final Hyperlink hprlnkHttpeventbenchinformatikunigoettingende = formToolkit.createHyperlink(shlAboutEventbenchconsole, "http://eventbench.informatik.uni-goettingen.de", SWT.NONE); hprlnkHttpeventbenchinformatikunigoettingende.addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { Program.launch(hprlnkHttpeventbenchinformatikunigoettingende.getText()); } }); hprlnkHttpeventbenchinformatikunigoettingende.setBounds(10, 68, 267, 17); formToolkit.paintBordersFor(hprlnkHttpeventbenchinformatikunigoettingende); hprlnkHttpeventbenchinformatikunigoettingende.setBackground(null); } }