3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.forms
.openurl
;
13 import java
.util
.List
;
15 import org
.eclipse
.jface
.viewers
.ISelectionChangedListener
;
16 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
17 import org
.eclipse
.jface
.viewers
.SelectionChangedEvent
;
18 import org
.eclipse
.jface
.viewers
.TableViewer
;
19 import org
.eclipse
.jface
.wizard
.WizardPage
;
20 import org
.eclipse
.swt
.SWT
;
21 import org
.eclipse
.swt
.layout
.GridData
;
22 import org
.eclipse
.swt
.layout
.GridLayout
;
23 import org
.eclipse
.swt
.widgets
.Composite
;
25 import eu
.etaxonomy
.cdm
.ext
.openurl
.OpenUrlReference
;
30 * @created Jan 31, 2011
33 public class OpenUrlResultPage
extends WizardPage
{
35 public static final String NAME
= "OpenUrlResultPage";
37 private TableViewer viewer
;
42 protected OpenUrlResultPage() {
44 setTitle("Choose from results");
48 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
51 public void createControl(Composite parent
) {
52 setPageComplete(false);
54 Composite container
= getWizard().getFormFactory().createComposite(parent
);
56 container
.setLayout(new GridLayout());
57 container
.setLayoutData(new GridData(SWT
.FILL
, SWT
.FILL
, true, true));
59 viewer
= new TableViewer(container
);
60 viewer
.getControl().setLayoutData(new GridData(SWT
.FILL
, SWT
.FILL
, true, true));
62 viewer
.setContentProvider(new OpenUrlContentProvider());
63 viewer
.setLabelProvider(new OpenUrlLabelProvider());
65 List
<OpenUrlReference
> results
= getWizard().getResult();
67 if(results
== null || results
.isEmpty()){
68 setMessage("No results for the given reference", WizardPage
.WARNING
);
70 viewer
.setInput(results
);
72 viewer
.addSelectionChangedListener(new ISelectionChangedListener() {
75 public void selectionChanged(SelectionChangedEvent event
) {
76 IStructuredSelection selection
= (IStructuredSelection
) viewer
.getSelection();
78 OpenUrlReference reference
= (OpenUrlReference
) selection
.getFirstElement();
80 getWizard().setOpenUrlReference(reference
);
83 ((OpenUrlReferencePage
) getNextPage()).displayImage();
85 setPageComplete(true);
89 setControl(container
);
93 public OpenUrlSelectorWizard
getWizard(){
94 return (OpenUrlSelectorWizard
) super.getWizard();
98 * @see org.eclipse.jface.wizard.WizardPage#canFlipToNextPage()
101 public boolean canFlipToNextPage() {
102 return super.canFlipToNextPage();
106 * @see org.eclipse.jface.wizard.WizardPage#isPageComplete()
109 public boolean isPageComplete() {
110 return super.isPageComplete();