3 * Copyright (C) 2013 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.
10 package eu
.etaxonomy
.taxeditor
.view
.derivateSearch
;
12 import org
.eclipse
.core
.runtime
.IProgressMonitor
;
13 import org
.eclipse
.swt
.widgets
.Composite
;
14 import org
.eclipse
.ui
.IMemento
;
15 import org
.eclipse
.ui
.part
.ViewPart
;
17 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationBase
;
18 import eu
.etaxonomy
.taxeditor
.model
.IContextListener
;
19 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
22 * This view allows to search for and filter {@link SpecimenOrObservationBase}s and display
23 * the results in a list. The results can be selected and opened in an editor.
25 public class DerivateSearchView
extends ViewPart
implements IContextListener
{
27 public static final String ID
= "eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView";
28 private DerivateSearchCompositeController derivateSearchCompositeController
;
31 * Constructs a new DerivateSearchView and registers it to listen to context changes
33 public DerivateSearchView() {
34 CdmStore
.getContextManager().addContextListener(this);
38 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
41 public void createPartControl(Composite parent
) {
42 derivateSearchCompositeController
= new DerivateSearchCompositeController(parent
);
43 getSite().setSelectionProvider(derivateSearchCompositeController
.getResultViewer());
44 derivateSearchCompositeController
.setEnabled(CdmStore
.isActive());
48 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
51 public void setFocus() {
52 derivateSearchCompositeController
.setFocus();
56 * @see eu.etaxonomy.taxeditor.model.IContextListener#contextAboutToStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
59 public void contextAboutToStop(IMemento memento
, IProgressMonitor monitor
) {
63 * @see eu.etaxonomy.taxeditor.model.IContextListener#contextStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
66 public void contextStop(IMemento memento
, IProgressMonitor monitor
) {
67 derivateSearchCompositeController
.setEnabled(false);
68 derivateSearchCompositeController
.reset();
72 * @see eu.etaxonomy.taxeditor.model.IContextListener#contextStart(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
75 public void contextStart(IMemento memento
, IProgressMonitor monitor
) {
76 derivateSearchCompositeController
.setEnabled(true);
80 * @see eu.etaxonomy.taxeditor.model.IContextListener#contextRefresh(org.eclipse.core.runtime.IProgressMonitor)
83 public void contextRefresh(IProgressMonitor monitor
) {
87 * @see eu.etaxonomy.taxeditor.model.IContextListener#workbenchShutdown(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
90 public void workbenchShutdown(IMemento memento
, IProgressMonitor monitor
) {