style="push">
</command>
<separator
- name="eu.etaxonomy.navigation.menu.new.separator3">
+ name="eu.etaxonomy.navigation.menu.new.separator3"
+ visible="true">
</separator>
<command
commandId="eu.etaxonomy.taxeditor.editor.command.new.datasource"
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.ui.handlers.IHandlerService;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer;
@Override
public void fill(Menu menu, int index){
final IHandlerService handlerService = (IHandlerService) TaxeditorEditorPlugin.getDefault().getWorkbench().getService(IHandlerService.class);
-
+ /*
for(final TaxonRelationshipTypeInverseContainer container : CdmStore.getTermManager().getPreferredTerms(TaxonRelationshipTypeInverseContainer.class)){
MenuItem menuItem = new MenuItem(menu, -1);
menuItem.setText(container.getTitleCache());
}
}
});
+ */
+ for(final TaxonRelationshipType taxonRelationshipType: CdmStore.getTermManager().getPreferredTerms(TaxonRelationshipType.class)){
+ MenuItem menuItem = new MenuItem(menu, -1);
+ menuItem.setText(taxonRelationshipType.getTitleCache());
+ menuItem.setData(taxonRelationshipType);
+ menuItem.addSelectionListener(new SelectionListener(){
+
+ public void widgetDefaultSelected(SelectionEvent e) {}
+
+ public void widgetSelected(SelectionEvent ev) {
+ Event event = new Event();
+ event.data = taxonRelationshipType;
+ try {
+ handlerService.executeCommand(getCommandName(), event);
+ } catch (Exception e) {
+ EditorUtil.error(getClass(), "Error executing command", e);
+ }
+ }
+ });
}
}
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.navigator.CommonNavigator;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.model.DataChangeBridge;
TaxonComparatorSearch comparator = new TaxonComparatorSearch();
TaxonNodeComparator viewerComparator = new TaxonNodeComparator(comparator);
this.getCommonViewer().setComparator(viewerComparator);
+ this.getCommonViewer().addSelectionChangedListener(new ISelectionChangedListener() {
+
+ @Override
+ public void selectionChanged(SelectionChangedEvent arg0) {
+ IStructuredSelection selection = (IStructuredSelection) getCommonViewer().getSelection();
+
+ Object firstElement = selection.getFirstElement();
+ NavigationUtil.executeEditHandler();
+
+ }
+ } );
if (CdmStore.isActive()) {
public void init(IViewSite site) throws PartInitException {
super.init(site);
init();
+
}
/**
conversation.registerForDataStoreChanges(TaxonNavigator.this);
}
CdmStore.getLoginManager().addObserver(this);
+
}
/**
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
- <extension
+ <!-- <extension
point="org.eclipse.ui.exportWizards">
<category
id="print-publisher.category"
name="CDM-XML – raw XML data">
</wizard>
</extension>
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- locationURI="menu:org.eclipse.ui.main.menu.file?after=eu.etaxonomy.taxeditor.application.filemenu.save">
- <command
- commandId="eu.etaxonomy.printpublisher.plugin.generatePdf"
- label="Generate PDF"
- style="push">
- </command>
- <separator
- name="eu.etaxonomy.printpublisher.plugin.separator"
- visible="true">
- </separator>
- </menuContribution>
- </extension>
<extension
point="org.eclipse.ui.commands">
<command
name="Generate PDF">
</command>
</extension>
-
+-->
</plugin>
id="eu.etaxonomy.taxeditor.io.import.jaxb"
name="JAXB">
</wizard> -->
- <wizard
+ <!-- <wizard
category="eu.etaxonomy.taxeditor.import.category.cdm"
class="eu.etaxonomy.taxeditor.io.wizard.BerlinModelImportWizard"
id="eu.etaxonomy.taxeditor.io.import.berlinModel"
class="eu.etaxonomy.taxeditor.io.wizard.EndnoteImportWizard"
id="eu.etaxonomy.taxeditor.io.import.endnote"
name="Endnote">
- </wizard>
+ </wizard>-->
<wizard
category="eu.etaxonomy.taxeditor.import.category.cdm"
class="eu.etaxonomy.taxeditor.io.wizard.ExcelNormalExplicitTaxaImportWizard"
id="eu.etaxonomy.taxeditor.io.export.jaxb"
name="JAXB">
</wizard>
- <wizard
+ <!--<wizard
category="eu.etaxonomy.taxeditor.export.category.cdm"
class="eu.etaxonomy.taxeditor.io.wizard.BerlinModelExportWizard"
id="eu.etaxonomy.taxeditor.io.export.berlinModel"
name="Berlin Model">
- </wizard>
+ </wizard>-->
<category
id="eu.etaxonomy.taxeditor.export.category.excel"
name="Excel">
* @return a {@link java.lang.String} object.
*/
public static String getFeatureNodeContainerText(FeatureNodeContainer element) {
+ String result = null;
if(element.getFeatureNode() != null && element.getFeatureNode().getFeature() != null){
- return element.getFeatureNode().getFeature().getLabel(CdmStore.getDefaultLanguage());
+ result = element.getFeatureNode().getFeature().getLabel(CdmStore.getDefaultLanguage());
+ } else{
+ return "No label set";
}
- return "No label set";
+ if (result == null){
+ result = element.getFeatureNode().getFeature().getLabel();
+ }
+ return result;
}
/**
private boolean inverse;
private TaxonRelationshipType type;
+
/**
*
* @param sourceTaxon
return inverse;
}
+ /**
+ * returns the representation for the given language, when there is no representation for this language available, the english version is returned.
+ * @param language
+ * @return representation
+ *
+ */
public Representation getRepresentation(Language language){
- return inverse ? type.getInverseRepresentation(language) : type.getRepresentation(language);
+ Representation result;
+ result = inverse ? type.getInverseRepresentation(language) : type.getRepresentation(language);
+ if (result == null){
+ result = inverse ? type.getInverseRepresentation(Language.ENGLISH()) : type.getRepresentation(Language.ENGLISH());
+ }
+ return result;
}
+
+ /**
+ * returns the label of the TaxonRelationshipType for a given language, if the representation of the language is not available the english representation is returned.
+ * @param language
+ * @return label
+ */
public String getLabel(Language language){
+
return getRepresentation(language).getLabel();
}
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.TermBase;
import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;
+import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer;
/**
* @author n.hoffmann
String typeName = getTermClass(initialTerms);
Collection<UUID> hiddenTermUuids = hiddenTermsMap.get(typeName);
+
if(hiddenTermUuids == null){
return initialTerms;
}
for (T term : initialTerms){
+ if (term instanceof TaxonRelationshipTypeInverseContainer){
+ if(! hiddenTermUuids.contains(((TaxonRelationshipTypeInverseContainer) term).getType().getUuid())){
+ T type = (T)((TaxonRelationshipTypeInverseContainer) term).getType();
+ filteredTerms.add(type);
+
+ }
+ }
if(! hiddenTermUuids.contains(term.getUuid())){
filteredTerms.add(term);
}
}
private <T extends DefinedTermBase> String getTermClass(Collection<T> initialTerms){
- if(!initialTerms.isEmpty()){
- return initialTerms.iterator().next().getClass().getName();
+
+ String result = null;
+ if(!initialTerms.isEmpty()){
+
+ //TODO: there should be a more generic solution!!
+ T entity = initialTerms.iterator().next();
+ if (entity instanceof TaxonRelationshipTypeInverseContainer){
+ result = ((TaxonRelationshipTypeInverseContainer) entity).getType().getClass().getName();
+ } else {
+ result = entity.getClass().getName();
+ }
+ return result;
}
return null;
}