import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart;
import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
-import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView;
import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
+import eu.etaxonomy.taxeditor.view.derivative.OccurrenceView;
import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
/**
public static final String ADDITIONAL = "additional";
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
- */
@Override
public void createInitialLayout(IPageLayout layout) {
layout.addView(TaxonNavigator.ID, IPageLayout.LEFT, 0.25f, layout.getEditorArea());
layout.addView(DetailsViewPart.ID, IPageLayout.RIGHT, 0.6f, layout.getEditorArea());
- layout.addView(DerivateSearchView.ID, IPageLayout.TOP, 0.5f, layout.getEditorArea());
+ layout.addView(OccurrenceView.ID, IPageLayout.BOTTOM, 0.5f, layout.getEditorArea());
layout.addView(DescriptiveViewPart.ID, IPageLayout.BOTTOM, 0.6f, TaxonNavigator.ID);
eu.etaxonomy.taxeditor.view.datasource,
eu.etaxonomy.taxeditor.view.datasource.handler,
eu.etaxonomy.taxeditor.view.derivateSearch,
+ eu.etaxonomy.taxeditor.view.derivative,
eu.etaxonomy.taxeditor.view.detail,
eu.etaxonomy.taxeditor.view.specimenSearch,
eu.etaxonomy.taxeditor.view.supplementaldata,
name="%view.name.5"
restorable="true">
</view>
- <view
- class="eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView"
- icon="icons/derivate_search_view-16x16-32.png"
- id="eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView"
- name="%view.name.6"
- restorable="true">
- </view>
<view
allowMultiple="false"
class="eu.etaxonomy.taxeditor.view.sessions.SessionsViewPart"
restorable="false">
</view>
<view
- class="eu.etaxonomy.taxeditor.view.derivative.OccurenceView"
- id="eu.etaxonomy.taxeditor.view.derivative.OccurenceView"
- name="name"
+ class="eu.etaxonomy.taxeditor.view.derivative.OccurrenceView"
+ id="eu.etaxonomy.taxeditor.view.derivative.OccurrenceView"
+ name="Occurrence View"
restorable="true">
</view>
</extension>
style="push">
<parameter
name="org.eclipse.ui.views.showView.viewId"
- value="eu.etaxonomy.taxeditor.view.derivative.OccurenceView">
+ value="eu.etaxonomy.taxeditor.view.derivative.OccurrenceView">
</parameter>
<visibleWhen
checkEnabled="true">
</visibleWhen>
</command>
</menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView">
- <command
- commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
- label="%command.label.openInSpecimenEditor"
- style="push">
- <visibleWhen
- checkEnabled="true">
- <with
- variable="selection">
- <count
- value="+">
- </count>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
</extension>
<extension
point="org.eclipse.ui.handlers">
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
-import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchCompositeController;
/**
* @author n.hoffmann
try {
handlerService.executeCommand(parameterizedCommand, null);
} catch (ExecutionException e) {
- MessagingUtils.error(DerivateSearchCompositeController.class, e);
+ MessagingUtils.error(NewDerivedUnitBaseWizard.class, e);
} catch (NotDefinedException e) {
- MessagingUtils.error(DerivateSearchCompositeController.class, e);
+ MessagingUtils.error(NewDerivedUnitBaseWizard.class, e);
} catch (NotEnabledException e) {
- MessagingUtils.error(DerivateSearchCompositeController.class, e);
+ MessagingUtils.error(NewDerivedUnitBaseWizard.class, e);
} catch (NotHandledException e) {
- MessagingUtils.error(DerivateSearchCompositeController.class, e);
+ MessagingUtils.error(NewDerivedUnitBaseWizard.class, e);
}
}
return performFinish;
+++ /dev/null
-// $Id$
-/**
- * Copyright (C) 2013 EDIT
- * European Distributed Institute of Taxonomy
- * http://www.e-taxonomy.eu
- *
- * The contents of this file are subject to the Mozilla Public License Version 1.1
- * See LICENSE.TXT at the top of this package for the full license terms.
- */
-package eu.etaxonomy.taxeditor.view.derivateSearch;
-
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.wb.swt.ResourceManager;
-
-/**
- * The widgets of the {@link DerivateSearchView}<br>
- *
- */
-public class DerivateSearchComposite extends Composite {
- private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
- private final Text searchField;
- private final Table table;
- private final TableViewer resultViewer;
- private final Combo comboDerivateType;
- private final Button buttonSearch;
- private final Button btnFilterUndeterminedSpecimen;
- private final Text textTaxonName;
- private final Button btnBrowseTaxa;
- private final Label lblTaxon;
- private final Label lblDerivateType;
- private final Button btnClearTaxon;
-
- /**
- * Create the composite.
- * @param parent
- * @param style
- */
- public DerivateSearchComposite(Composite parent, int style) {
- super(parent, style);
- setLayout(new GridLayout(4, false));
-
- lblTaxon = new Label(this, SWT.NONE);
- lblTaxon.setText("Taxon");
-
- textTaxonName = formToolkit.createText(this, "New Text", SWT.NONE);
- textTaxonName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
- textTaxonName.setEnabled(false);
- textTaxonName.setText("");
-
- btnBrowseTaxa = formToolkit.createButton(this, "", SWT.NONE);
- btnBrowseTaxa.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/open.gif"));
-
- btnClearTaxon = formToolkit.createButton(this, "", SWT.NONE);
- btnClearTaxon.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
- btnClearTaxon.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/trash.gif"));
-
- lblDerivateType = new Label(this, SWT.NULL);
- lblDerivateType.setText("Derivative Type");
-
- comboDerivateType = new Combo(this, SWT.READ_ONLY);
- comboDerivateType.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
- formToolkit.paintBordersFor(comboDerivateType);
-
- btnFilterUndeterminedSpecimen = new Button(this, SWT.CHECK);
- btnFilterUndeterminedSpecimen.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
- btnFilterUndeterminedSpecimen.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- }
- });
- btnFilterUndeterminedSpecimen.setText("Determined");
-
- buttonSearch = new Button(this, SWT.NONE);
- formToolkit.adapt(buttonSearch, true, true);
- buttonSearch.setText("Search");
-
- searchField = formToolkit.createText(this, "New Text", SWT.NONE);
- searchField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
- searchField.setText("");
- new Label(this, SWT.NONE);
- new Label(this, SWT.NONE);
-
- resultViewer = new TableViewer(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
- table = resultViewer.getTable();
- table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));
-
- }
-
- @Override
- protected void checkSubclass() {
- // Disable the check that prevents subclassing of SWT components
- }
- public Text getSearchField() {
- return searchField;
- }
- public TableViewer getResultViewer() {
- return resultViewer;
- }
- public Combo getComboDerivateType() {
- return comboDerivateType;
- }
- public Button getButtonSearch() {
- return buttonSearch;
- }
-
- @Override
- public void setEnabled(boolean enabled){
- super.setEnabled(enabled);
- searchField.setEnabled(enabled);
- table.setEnabled(enabled);
- // resultViewer.setEnabled(enabled);
- comboDerivateType.setEnabled(enabled);
- buttonSearch.setEnabled(enabled);
- btnFilterUndeterminedSpecimen.setEnabled(enabled);
- btnBrowseTaxa.setEnabled(enabled);
- lblTaxon.setEnabled(enabled);
- lblDerivateType.setEnabled(enabled);
- }
- public Button getBtnFilterUndeterminedSpecimen() {
- return btnFilterUndeterminedSpecimen;
- }
- public Button getBtnBrowseTaxa() {
- return btnBrowseTaxa;
- }
- public Text getTextTaxonName() {
- return textTaxonName;
- }
- public Button getBtnClearTaxon() {
- return btnClearTaxon;
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2013 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.view.derivateSearch;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.NotEnabledException;
-import org.eclipse.core.commands.NotHandledException;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.handlers.IHandlerService;
-
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.config.FindOccurrencesConfigurator;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.SearchManager;
-import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory;
-import eu.etaxonomy.taxeditor.ui.mvc.combo.EnumTermComboController;
-
-/**
- * Controller class for the {@link DerivateSearchComposite}.<br>
- * This controller contains the logic to search the data base for {@link SpecimenOrObservationBase}s
- * and handles GUI events.
- *
- */
-public class DerivateSearchCompositeController implements Listener{
-
- private final DerivateSearchComposite derivateSearchComposite;
- private EnumTermComboController<SpecimenOrObservationType> comboSpecimenTypeController;
- private final DerivateSearchView derivateSearchView;
- private DerivateLabelProvider labelProvider;
- private Taxon selectedTaxon;
-
- /**
- * @param parent
- * @param derivateSearchView
- */
- public DerivateSearchCompositeController(Composite parent, DerivateSearchView derivateSearchView) {
- this.derivateSearchComposite = new DerivateSearchComposite(parent, SWT.NONE);
- this.derivateSearchView = derivateSearchView;
- init();
- }
-
- private void init(){
- //derivate type combo
- comboSpecimenTypeController = new EnumTermComboController<SpecimenOrObservationType>(derivateSearchComposite.getComboDerivateType(), null, null, SpecimenOrObservationType.class, 0);
- comboSpecimenTypeController.setSelection(SpecimenOrObservationType.Unknown);
-
- //add listeners
- derivateSearchComposite.getSearchField().addListener(SWT.KeyDown, this);
- derivateSearchComposite.getButtonSearch().addListener(SWT.Selection, this);
- derivateSearchComposite.getBtnBrowseTaxa().addListener(SWT.Selection, this);
- derivateSearchComposite.getBtnClearTaxon().addListener(SWT.Selection, this);
-
-
- //result table
- TableViewer resultViewer = derivateSearchComposite.getResultViewer();
- resultViewer.setContentProvider(new ArrayContentProvider());
- labelProvider = new DerivateLabelProvider();
- resultViewer.setLabelProvider(labelProvider);
- resultViewer.addDoubleClickListener(new IDoubleClickListener() {
- @Override
- public void doubleClick(DoubleClickEvent event) {
- String commandId = "eu.etaxonomy.taxeditor.editor.handler.openDerivateView";
-
- IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class);
- try {
- handlerService.executeCommand(commandId, null);
- } catch (ExecutionException e) {
- MessagingUtils.error(DerivateSearchCompositeController.class, e);
- } catch (NotDefinedException e) {
- MessagingUtils.error(DerivateSearchCompositeController.class, e);
- } catch (NotEnabledException e) {
- MessagingUtils.error(DerivateSearchCompositeController.class, e);
- } catch (NotHandledException e) {
- MessagingUtils.error(DerivateSearchCompositeController.class, e);
- }
-
- }
- });
-
- }
-
- private void searchDerivates(){
- if(!derivateSearchView.getConversationHolder().isBound()){
- derivateSearchView.setFocus(); //rebind the conversation
- }
-
- String queryString = derivateSearchComposite.getSearchField().getText();
- SpecimenOrObservationType specimenType = comboSpecimenTypeController.getSelection();
-
- FindOccurrencesConfigurator config = new FindOccurrencesConfigurator();
- config.setAssociatedTaxonUuid(selectedTaxon!=null?selectedTaxon.getUuid():null);
- config.setSpecimenType(specimenType.equals(SpecimenOrObservationType.Unknown)?null:specimenType);//unknown := all types
- config.setTitleSearchString(queryString);
- if(selectedTaxon!=null){
- config.setRetrieveIndirectlyAssociatedSpecimens(true);
- config.setSpecimenType(null);
- }
-
- SearchManager searchManager = new SearchManager();
- List<SpecimenOrObservationBase> occurrences = searchManager.findOccurrences(config, true);
-
- //filter out specimens of wrong type (only if an associated taxon was selected)
- if(selectedTaxon!=null && !specimenType.equals(SpecimenOrObservationType.Unknown)){
- List<SpecimenOrObservationBase> specimensOfCorrectType = new ArrayList<SpecimenOrObservationBase>();
- for(SpecimenOrObservationBase<?> occurrence:occurrences){
- if(occurrence.getRecordBasis().equals(specimenType)
- || occurrence.getRecordBasis().isKindOf(specimenType)){
- specimensOfCorrectType.add(occurrence);
- }
- }
- occurrences = specimensOfCorrectType;
- }
-
- //filter out assigned specimens
- if(derivateSearchComposite.getBtnFilterUndeterminedSpecimen().getSelection()){
- List<SpecimenOrObservationBase> specimensWithNoDetermination = new ArrayList<SpecimenOrObservationBase>();
- for(SpecimenOrObservationBase<?> result:occurrences){
- if(CdmStore.getService(IOccurrenceService.class).countDeterminations(result, null)==0){
- specimensWithNoDetermination.add(result);
- }
- }
- occurrences = specimensWithNoDetermination;
- }
- derivateSearchComposite.getResultViewer().setInput(occurrences);
- }
-
- @Override
- public void handleEvent(Event event) {
- Widget eventSource = event.widget;
- if(eventSource == derivateSearchComposite.getButtonSearch()
- || (eventSource == derivateSearchComposite.getSearchField() && event.keyCode == SWT.CR)){
- searchDerivates();
- }
- else if(eventSource==derivateSearchComposite.getBtnBrowseTaxa()){
- selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, derivateSearchView.getSite().getShell(), derivateSearchView.getConversationHolder(), null);
- if(selectedTaxon!=null){
- derivateSearchComposite.getTextTaxonName().setText(selectedTaxon.getTitleCache());
- }
- }
- else if(eventSource==derivateSearchComposite.getBtnClearTaxon()){
- selectedTaxon = null;
- derivateSearchComposite.getTextTaxonName().setText("");
- }
- }
-
- /**
- * Sets enable status of all input fields
- * @param enabled
- */
- public void setEnabled(boolean enabled) {
- if(!derivateSearchComposite.isDisposed()){
- derivateSearchComposite.setEnabled(enabled);
- }
- }
-
- /**
- * Resets all input fields
- */
- public void reset(){
- if(!derivateSearchComposite.isDisposed()){
- derivateSearchComposite.getResultViewer().setInput(null);
- derivateSearchComposite.getSearchField().setText("");
- derivateSearchComposite.getComboDerivateType().deselectAll();
- comboSpecimenTypeController.setSelection(SpecimenOrObservationType.Unknown);
- }
- selectedTaxon = null;
- }
-
- public TableViewer getResultViewer() {
- return derivateSearchComposite.getResultViewer();
- }
-
- public void setFocus() {
- derivateSearchComposite.getResultViewer().getControl().setFocus();
- }
-
- /**
- * @param conversationHolder
- */
- public void setConversation(ConversationHolder conversationHolder) {
- labelProvider.setConversation(conversationHolder);
- }
-
-}
+++ /dev/null
-// $Id$
-/**
- * Copyright (C) 2013 EDIT
- * European Distributed Institute of Taxonomy
- * http://www.e-taxonomy.eu
- *
- * The contents of this file are subject to the Mozilla Public License Version 1.1
- * See LICENSE.TXT at the top of this package for the full license terms.
- */
-package eu.etaxonomy.taxeditor.view.derivateSearch;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.part.ViewPart;
-
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.taxeditor.model.IContextListener;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
-/**
- * This view allows to search for and filter {@link SpecimenOrObservationBase}s and display
- * the results in a list. The results can be selected and opened in an editor.
- */
-public class DerivateSearchView extends ViewPart implements IContextListener, ICdmEntitySessionEnabled {
-
- public static final String ID = "eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView";
- private DerivateSearchCompositeController derivateSearchCompositeController;
- private ConversationHolder conversationHolder;
- private ICdmEntitySession cdmEntitySession;
-
- /**
- * Constructs a new DerivateSearchView and registers it to listen to context changes
- */
- public DerivateSearchView() {
- CdmStore.getContextManager().addContextListener(this);
- }
-
- @Override
- public void createPartControl(Composite parent) {
-
- derivateSearchCompositeController = new DerivateSearchCompositeController(parent, this);
- getSite().setSelectionProvider(derivateSearchCompositeController.getResultViewer());
- derivateSearchCompositeController.setEnabled(CdmStore.isActive());
-
- //create context menu
- MenuManager menuManager = new MenuManager();
- getSite().registerContextMenu(menuManager, derivateSearchCompositeController.getResultViewer());
- Control control = derivateSearchCompositeController.getResultViewer().getControl();
- Menu menu = menuManager.createContextMenu(control);
- control.setMenu(menu);
- }
-
- @Override
- public void setFocus() {
- derivateSearchCompositeController.setFocus();
- //make sure to bind again if maybe in another view the conversation was unbound
- if(getConversationHolder()!=null && !getConversationHolder().isClosed() && !getConversationHolder().isBound()){
- getConversationHolder().bind();
- }
- if(getCdmEntitySession() != null) {
- getCdmEntitySession().bind();
- }
- }
-
- @Override
- public void contextAboutToStop(IMemento memento, IProgressMonitor monitor) {
- }
-
- @Override
- public void contextStop(IMemento memento, IProgressMonitor monitor) {
- derivateSearchCompositeController.setEnabled(false);
- derivateSearchCompositeController.reset();
- }
-
- @Override
- public void contextStart(IMemento memento, IProgressMonitor monitor) {
- derivateSearchCompositeController.setEnabled(true);
- }
-
- @Override
- public void contextRefresh(IProgressMonitor monitor) {
- initConversation();
- initSession();
- }
-
- private void initSession() {
- if(CdmStore.isActive()) {
- cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
- }
- }
-
- private void initConversation(){
- if(conversationHolder==null){
- conversationHolder = CdmStore.createConversation();
- derivateSearchCompositeController.setConversation(conversationHolder);
- }
- }
-
- @Override
- public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
- }
-
- public ConversationHolder getConversationHolder() {
- if(CdmStore.isActive() && conversationHolder==null){
- initConversation();
- }
- return conversationHolder;
- }
-
-
- @Override
- public void dispose() {
- if(conversationHolder!=null){
- conversationHolder.close();
- }
-
- if(cdmEntitySession != null) {
- cdmEntitySession.dispose();
- }
- super.dispose();
- }
-
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getCdmEntitySession()
- */
- @Override
- public ICdmEntitySession getCdmEntitySession() {
- initSession();
- return cdmEntitySession;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
- */
- @Override
- public <T extends CdmBase> Collection<T> getRootEntities() {
- // TODO Auto-generated method stub
- return null;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
- */
- @Override
- public Map<Object, List<String>> getPropertyPathsMap() {
- // TODO Auto-generated method stub
- return null;
- }
-}
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Tree;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.ISelectionService;
+import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.part.ViewPart;
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
* @date Oct 7, 2015
*
*/
-public class OccurenceView extends ViewPart implements IConversationEnabled, ISelectionChangedListener{
+public class OccurrenceView extends ViewPart implements ISelectionListener{
+
+ public static String ID = "eu.etaxonomy.taxeditor.view.derivative.OccurrenceView";
private TreeViewer viewer;
private DerivateContentProvider contentProvider;
private DerivateLabelProvider labelProvider;
- private ConversationHolder conversation;
- public OccurenceView() {
- conversation = CdmStore.createConversation();
- }
+ private ISelectionService selectionService;
/**
* {@inheritDoc}
*/
@Override
public void createPartControl(Composite parent) {
+
+ //listen to selection changes
+ selectionService = getSite().getWorkbenchWindow().getSelectionService();
+ selectionService.addSelectionListener(this);
+
//---tree viewer---
viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
GridData gridDataTree = new GridData();
contentProvider = new DerivateContentProvider();
viewer.setContentProvider(contentProvider);
labelProvider = new DerivateLabelProvider();
- labelProvider.setConversation(conversation);
viewer.setLabelProvider(labelProvider);
viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
// Propagate selection from viewer
getSite().setSelectionProvider(viewer);
- //listen to selection changes
- viewer.addSelectionChangedListener(this);
//create context menu
MenuManager menuManager = new MenuManager();
*/
@Override
public void setFocus() {
- if(!conversation.isClosed()){
- conversation.bind();
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void update(CdmDataChangeMap arg0) {
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public ConversationHolder getConversationHolder() {
- return conversation;
}
/**
*/
@Override
public void dispose() {
- if(conversation.isBound() && !conversation.isClosed()){
- conversation.close();
- }
+ selectionService.removeSelectionListener(this);
}
/**
* {@inheritDoc}
*/
@Override
- public void selectionChanged(SelectionChangedEvent event) {
-
+ public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+ System.out.println(selection);
}
-
}