2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.taxeditor
.ui
.openurl
;
12 import java
.util
.List
;
14 import org
.eclipse
.jface
.viewers
.ISelectionChangedListener
;
15 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
16 import org
.eclipse
.jface
.viewers
.SelectionChangedEvent
;
17 import org
.eclipse
.jface
.viewers
.TableViewer
;
18 import org
.eclipse
.jface
.wizard
.WizardPage
;
19 import org
.eclipse
.swt
.SWT
;
20 import org
.eclipse
.swt
.layout
.GridData
;
21 import org
.eclipse
.swt
.layout
.GridLayout
;
22 import org
.eclipse
.swt
.widgets
.Composite
;
24 import eu
.etaxonomy
.cdm
.ext
.openurl
.OpenUrlReference
;
29 * @created Jan 31, 2011
32 public class OpenUrlResultPage
extends WizardPage
{
34 public static final String NAME
= "OpenUrlResultPage";
36 private TableViewer viewer
;
41 protected OpenUrlResultPage() {
43 setTitle("Choose from results");
47 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
50 public void createControl(Composite parent
) {
51 setPageComplete(false);
53 Composite container
= getWizard().getFormFactory().createComposite(parent
);
55 container
.setLayout(new GridLayout());
56 container
.setLayoutData(new GridData(SWT
.FILL
, SWT
.FILL
, true, true));
58 viewer
= new TableViewer(container
);
59 viewer
.getControl().setLayoutData(new GridData(SWT
.FILL
, SWT
.FILL
, true, true));
61 viewer
.setContentProvider(new OpenUrlContentProvider());
62 viewer
.setLabelProvider(new OpenUrlLabelProvider());
64 List
<OpenUrlReference
> results
= getWizard().getResult();
66 if(results
== null || results
.isEmpty()){
67 String nomenclatuaralCitation
= getWizard().getReference().getNomenclaturalCitation(getWizard().getReferenceDetail());
68 setMessage("No results for the given reference: " + nomenclatuaralCitation
, 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();