public static String DescriptiveDataSetComposite_TAXON_FILTER;
public static String DescriptiveDataSetEditor_DELETE_FAIL_MESSAGE;
public static String DescriptiveDataSetEditor_DELETE_FAIL_TITLE;
+ public static String ChecklistEditor_DEFAULT_SOURCE;
+ public static String ChecklistEditor_DEFAULT_SOURCE_TOOLTIP;
+ public static String ChecklistEditor_SEARCH_TOOLTIP;
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
DescriptiveDataSetEditor_DELETE_FAIL_TITLE=Could not delete
ChooseFromMultipleAcceptedTaxaDialog_CHOOSE_ACCEPTED_TAXON=Choose accepted taxon
ChooseFromMultipleAcceptedTaxaDialog_CHOOSE_ACCEPTED_TAXON_MESSAGE=The taxon is related with multiple accepted taxa. Please choose the one you want to open.
-
+ChecklistEditor_DEFAULT_SOURCE=Choose Source
+ChecklistEditor_DEFAULT_SOURCE_TOOLTIP=Choose a source which is added to every new distribution.
+ChecklistEditor_SEARCH_TOOLTIP=Textfilter for Taxa
DescriptiveDataSetEditor_DELETE_FAIL_TITLE=Löschen fehlgesschlagen
ChooseFromMultipleAcceptedTaxaDialog_CHOOSE_ACCEPTED_TAXON=Akzeptiertes Taxon wählen
ChooseFromMultipleAcceptedTaxaDialog_CHOOSE_ACCEPTED_TAXON_MESSAGE=Das Taxon ist mit mehreren akzeptierten Taxa verknüpft. Bitte wählen sie, welches sie öffnen möchten.
-
+ChecklistEditor_DEFAULT_SOURCE=Quelle auswählen
+ChecklistEditor_DEFAULT_SOURCE_TOOLTIP=Wählen Sie eine Quelle aus, die jeder neu angelegten Verbreitung zugefügt wird.
+ChecklistEditor_SEARCH_TOOLTIP=Textfilter auf Taxa
\ No newline at end of file
import eu.etaxonomy.cdm.api.service.IDescriptionService;
import eu.etaxonomy.cdm.api.service.IVocabularyService;
-import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.OrderedTermBase;
import eu.etaxonomy.cdm.model.common.OrderedTermComparator;
+import eu.etaxonomy.cdm.model.common.Representation;
import eu.etaxonomy.cdm.model.common.TermIdInVocabularyComparator;
import eu.etaxonomy.cdm.model.common.TermLanguageComparator;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.name.TaxonName;
import eu.etaxonomy.cdm.model.taxon.Taxon;
public String getColumnText(Object element, int columnIndex) {
// descriptionService = CdmStore.getService(IDescriptionService.class);
Taxon taxon = (Taxon) element;
- //TODO load areas by this list
- // List<TaxonDescription> listTaxonDescriptions = descriptionService.listTaxonDescriptions(taxon, null, null, null, null, null, DESC_INIT_STRATEGY);;
Set<TaxonDescription> listTaxonDescriptions = taxon.getDescriptions();
TaxonName nonViralName = HibernateProxyHelper.deproxy(taxon.getName());
taxonName = (nonViralName != null) ? nonViralName.getNameCache() : null;
return (taxonName != null) ? taxonName : DEFAULT_ENTRY;
- // case 1:
-// String authorship = null;
-// authorship = (nonViralName != null) ? nonViralName.getAuthorshipCache() : null;
-// return (authorship != null) ? authorship : DEFAULT_ENTRY;
-// case 2:
-// String ref = null;
-// if (taxon.getName() != null) {
-// INomenclaturalReference nomenclaturalReference = HibernateProxyHelper.deproxy(
-// nonVirlaName.getNomenclaturalReference(), Reference.class);
-// ref = (nomenclaturalReference != null) ? nomenclaturalReference.getAbbrevTitleCache() : null;
-// }
-// return (ref != null) ? ref : DEFAULT_ENTRY;
case 1:
if (PreferencesUtil.isShowRankInChecklistEditor()){
String rank = null;
for (TaxonDescription td : listTaxonDescriptions) {
for (DescriptionElementBase deb : td.getElements()) {
if (deb instanceof Distribution) {
-
-
Distribution distribution = HibernateProxyHelper.deproxy(deb, Distribution.class);
if (distribution.getArea() != null){
if ( editor.getAreaPosition().get(distribution.getArea().getUuid()) != null && columnIndex == editor.getAreaPosition().get(distribution.getArea().getUuid())){
+ if (distribution.getStatus() == null){
+ return DEFAULT_ENTRY;
+ }
+ PresenceAbsenceTerm term = distribution.getStatus();
+ Representation rep = distribution.getStatus().getPreferredRepresentation(CdmStore.getDefaultLanguage());
+ String label = rep.getAbbreviatedLabel();
+ if (label == null){
+ label = rep.getLabel();
+ }
+ if (label == null){
+ distribution.getStatus().getTitleCache();
+ }
if (PreferencesUtil.isShowSymbolInChecklistEditor()){
- return (distribution.getStatus().getSymbol() != null)?distribution.getStatus().getSymbol():CdmUtils.Nz(distribution.getStatus().getTitleCache());
+ return (distribution.getStatus().getSymbol() != null)?distribution.getStatus().getSymbol():label;
}else{
- return (distribution.getStatus().getTitleCache() != null)?distribution.getStatus().getTitleCache():DEFAULT_ENTRY;
+ return (label != null)?label:DEFAULT_ENTRY;
}
}
}
-// String area = null;
-// if (distribution.getArea() != null ){
-// if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
-// if (distribution.getArea().getIdInVocabulary() != null){
-// area = distribution.getArea().getIdInVocabulary();
-// } else{
-// area = distribution.getArea().getTitleCache();
-// }
-// }else{
-// area = distribution.getArea().getTitleCache();
-// }
-//
-// }else{
-// continue;
-// }
-//
-// if(editor.getViewer() != null){
-// TableColumn column = viewer.getTable().getColumn(columnIndex);
-// if (area.equalsIgnoreCase(column.getText())) {
-//
-// }
-//
-// }
}
}
}
package eu.etaxonomy.taxeditor.editor.view.checklist.e4;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
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.Composite;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Text;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.common.Representation;
+import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.editor.view.checklist.filter.ChecklistEditorFilter;
import eu.etaxonomy.taxeditor.editor.view.checklist.listener.ChecklistFocusListener;
import eu.etaxonomy.taxeditor.editor.view.checklist.listener.ChecklistModifyListener;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.preference.wizard.AvailableDistributionWizard;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.ReferenceSelectionDialog;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
import eu.etaxonomy.taxeditor.workbench.part.IE4SavablePart;
/**
private Map<UUID, Integer> areaPosition= new HashMap();
private ToolItem toolItem;
+ private ToolItem toolItem2;
private ChecklistDropdownSelectionListenerE4 dropListener;
private Text searchText;
+ private EntitySelectionElement<Reference> defaultReferenceSelection;
+
+ private Reference defaultSource = null;
- public Map<UUID, Integer> getAreaPosition() {
+ public Reference getDefaultSource() {
+ return defaultSource;
+ }
+ public Map<UUID, Integer> getAreaPosition() {
return areaPosition;
}
/**
taxonNodeService = CdmStore.getService(ITaxonNodeService.class);
filter = new ChecklistEditorFilter();
createTopComposite(parent);
+ // createToolbar(parent);
viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
//the focuzsCellManager should return the distribution!!!
TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter (viewer));
- TableViewerEditor.create(viewer, focusCellManager, new ColumnViewerEditorActivationStrategy(viewer), TableViewerEditor.KEYBOARD_ACTIVATION);
+ TableViewerEditor.create(viewer, focusCellManager, new ColumnViewerEditorActivationStrategy(viewer), TableViewerEditor.DEFAULT);
// viewer.addSelectionChangedListener(new ISelectionChangedListener() {
viewer.setContentProvider(new ChecklistContentProvider());
viewer.setLabelProvider(this.labelProvider);
+// selectionChangedListener = (event -> selService.setSelection(event.getSelection()));
+// viewer.addSelectionChangedListener(selectionChangedListener);
+
comparator = new ChecklistEditorComparator();
viewer.setComparator(comparator);
final ModifyListener modifyListener = new ChecklistModifyListener(viewer, filter, searchText);
searchText.addModifyListener(modifyListener);
createGridDataForViewerLayout();
createStatusBar(parent);
- createToolbar(parent);
+
}
/**
parent.setLayout(gridLayout);
searchText = createSearchBar(parent);
-
+ // createSetDefaultReferenceButton(parent);
// getSite().setSelectionProvider(viewer);
+ }
+ /**
+ * @param parent
+ * @return
+ */
+ private void createSetDefaultReferenceButton(Composite parent) {
+ CdmFormFactory cdmFormFactory = new CdmFormFactory(Display.getCurrent());
+ defaultReferenceSelection = cdmFormFactory.createSelectionElement(Reference.class,
+ null, "Default Source Reference", null,
+ EntitySelectionElement.DELETABLE, SWT.NULL);
+
- }
- private void createGridDataForViewerLayout() {
+
+ return;
+ }
+ private void createGridDataForViewerLayout() {
GridData gridData = new GridData();
gridData.verticalAlignment = GridData.FILL;
gridData.horizontalSpan = 3;
* @return
*/
private Text createSearchBar(Composite parent) {
- Label searchLabel = new Label(parent, SWT.NONE);
- searchLabel.setText(Messages.ChecklistEditor_SEARCH);
+
+
+
+// FillLayout fillLayout = new FillLayout();
+//
+// fillLayout.type = SWT.VERTICAL;
+// parent.setLayoutData(fillLayout);
+// Label searchLabel = new Label(parent, SWT.NONE);
+// searchLabel.setText(Messages.ChecklistEditor_SEARCH);
+// GridData gridDataLabel = new GridData();
+// gridDataLabel.horizontalSpan =1;
+// searchLabel.setLayoutData(gridDataLabel);
final Text searchText = new Text(parent, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH | SWT.CANCEL);
- searchText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
+ GridData gridData = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
+
+ searchText.setLayoutData(gridData);
searchText.setForeground(EditorUtil.getColor(Resources.SEARCH_VIEW_FOREGROUND));
searchText.setText(TYPE_FILTER_TEXT);
+ searchText.setToolTipText(Messages.ChecklistEditor_SEARCH_TOOLTIP);
+
+
+ // Composite buttons = new Composite(parent, SWT.NONE);
+ //buttons.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL ));
+ Button button1 = new Button(parent, SWT.PUSH );
+ GridData gridData2 = new GridData();
+ gridData2.horizontalSpan = 1;
+ button1.setLayoutData(gridData2);
+
+
+ button1.setText(Messages.ChecklistEditor_DIST_STATUS);
+ button1.setToolTipText(Messages.ChecklistEditor_DIST_STATUS_TOOLTIP);
+ button1.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent event) {
+ AvailableDistributionWizard availableDistributionWizard = new AvailableDistributionWizard();
+ WizardDialog dialog = new WizardDialog(StoreUtil.getShell(),
+ availableDistributionWizard);
+
+ int open = dialog.open();
+ if(open == 0){
+ reload();
+ }
+ }
+ });
+
+ Button button2 = new Button(parent, SWT.PUSH );
+ GridData gridData3 = new GridData();
+ gridData2.horizontalSpan = 1;
+ button2.setLayoutData(gridData3);
+
+
+ button2.setText(Messages.ChecklistEditor_DEFAULT_SOURCE);
+ button2.setToolTipText(Messages.ChecklistEditor_DEFAULT_SOURCE_TOOLTIP);
+ button2.addSelectionListener(new SelectionAdapter() {
+
+ @Override
+ public void widgetSelected(SelectionEvent event) {
+ defaultSource = ReferenceSelectionDialog.select(AbstractUtility.getShell(), null);
+
+ }
+
+ });
+
+ parent.pack();
return searchText;
}
* @param parent
*/
private void createToolbar(Composite parent) {
- ToolBar toolBar = new ToolBar(parent, SWT.NONE);
+ ToolBar toolBar = new ToolBar(parent, SWT.BORDER);
// toolItem = new ToolItem(toolBar, SWT.DROP_DOWN | SWT.BORDER);
- toolItem = new ToolItem(toolBar, SWT.BUTTON1);
+
+ toolItem = new ToolItem(toolBar, SWT.PUSH| SWT.BORDER);
+
toolItem.setText(Messages.ChecklistEditor_DIST_STATUS);
toolItem.setToolTipText(Messages.ChecklistEditor_DIST_STATUS_TOOLTIP);
}
}
});
+ toolItem2 = new ToolItem(toolBar, SWT.PUSH | SWT.BORDER);
+
+
+ toolItem2.setText(Messages.ChecklistEditor_DEFAULT_SOURCE);
+ toolItem2.setToolTipText(Messages.ChecklistEditor_DEFAULT_SOURCE_TOOLTIP);
+ //createToolbarItems();
+ // toolItem.addSelectionListener(dropListener);
+ toolItem2.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent event) {
+ defaultSource = ReferenceSelectionDialog.select(AbstractUtility.getShell(), null);
+ }
+ });
+
toolBar.pack();
}
- private void createToolbarItems() {
- SortedSet<DefinedTermBase> termsList = getLabelProvider().getNamedAreas(false);
- dropListener = new ChecklistDropdownSelectionListenerE4(toolItem, this, termsList);
- for (DefinedTermBase<DefinedTermBase> term : termsList) {
- if(term!=null){
- dropListener.add(term);
- }
- }
- }
private void createStatusBar(Composite composite) {
GridData gridData = new GridData();
if(term != null){
// restoreColumnWidth.put(columnIndex, PreferencesUtil.getPreferenceStore().getBoolean(term.getUuid().toString()));
areaPosition.put(term.getUuid(), columnIndex);
+ Representation rep = term.getPreferredRepresentation(CdmStore.getDefaultLanguage());
+ String label = rep.getAbbreviatedLabel() != null ? rep.getAbbreviatedLabel(): rep.getLabel();
+ if (label == null){
+ term.getTitleCache();
+ }
if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
if (term.getIdInVocabulary() != null){
titles.add(term.getIdInVocabulary());
} else{
- titles.add(term.getTitleCache());
+ titles.add(label);
}
}else if (PreferencesUtil.isShowSymbol1InChecklistEditor()){
if (term.getSymbol() != null){
titles.add(term.getSymbol());
} else{
- titles.add(term.getTitleCache());
+ titles.add(label);
}
}else if (PreferencesUtil.isShowSymbol2InChecklistEditor()){
if (term.getSymbol2() != null){
titles.add(term.getSymbol2());
} else{
- titles.add(term.getTitleCache());
+ titles.add(label);
}
+ }else{
+ titles.add(label);
}
bounds.add(200);
columnIndex++;
boolean isNew = true;
Integer position = areaPosition.get(term.getUuid());
+ Representation rep = term.getPreferredRepresentation(CdmStore.getDefaultLanguage());
- String termLable = term.getTitleCache();;
+ String termLable = rep.getAbbreviatedLabel();
+ if (termLable == null){
+ termLable = rep.getLabel();
+ }
if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
if (term.getIdInVocabulary() != null){
termLable = term.getIdInVocabulary();
TableViewerColumn column= addTableViewerColumn(termLable, 200, position, term);
}
- // acitivateNewColumnInDropDownMenu(term);
- }
-
-
-// for(DefinedTermBase term:terms.values()){
-// int count = viewer.getTable().getColumnCount();
-//
-// //add new terms
-// for (TableColumn column: columns){
-// if (terms.){
-// break;
-// }
-// }
-//
-//// String termLable = term.getTitleCache();;
-//// if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
-//// if (term.getIdInVocabulary() != null){
-//// termLable = term.getIdInVocabulary();
-//// }
-//// }
-//// addTableViewerColumn(termLable, 200, count);
-//// acitivateNewColumnInDropDownMenu(term);
- // }
+ }
viewer.setLabelProvider(labelProvider);
-// getService().schedule(new ChecklistJob(LOADING_TAXA, selectedTaxonNodes), Job.LONG);
+
table.setRedraw(true);
viewer.refresh();
}
}
}
- private void acitivateNewColumnInDropDownMenu(DefinedTermBase term) {
- Menu menu = dropListener.getMenu();
- MenuItem[] items = menu.getItems();
- for(MenuItem item: items){
- if(item.getText().equalsIgnoreCase(term.getTitleCache())){
- item.setSelection(true);
- PreferencesUtil.getPreferenceStore().setValue(term.getUuid().toString(), true);
- }
- }
- }
- private void hideDistributionColumns(Collection<DefinedTermBase> oldTerms) {
- TableColumn[] columns = viewer.getTable().getColumns();
- for(int i=4; i<columns.length; i++){
- //remove all columns
- columns[i].dispose();
- Menu menu = dropListener.getMenu();
- int itemCount = menu.getItemCount();
- MenuItem item = menu.getItem(i-3);
- item.setSelection(false);
- }
- if(oldTerms != null){
- for(DefinedTermBase term : oldTerms){
- PreferencesUtil.getPreferenceStore().setValue(term.getUuid().toString(), false);
- }
- }
- }
+
+
/**
* <p>
public void changed(Object element) {
if (element != null) {
viewer.update(element, null);
+
if (element instanceof Taxon){
checklistEditorInput.addTaxonToSave((Taxon)element);
}
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
+import java.util.Comparator;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
+import java.util.UUID;
import javax.inject.Inject;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ComboBoxViewerCellEditor;
import org.eclipse.jface.viewers.EditingSupport;
+import org.eclipse.jface.viewers.ICellEditorListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.widgets.TableColumn;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.common.OrderedTermComparator;
+import eu.etaxonomy.cdm.model.common.Representation;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
+import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
public String getText(Object element) {
if (element instanceof PresenceAbsenceTerm) {
PresenceAbsenceTerm status = (PresenceAbsenceTerm)element;
+ Representation rep = status.getPreferredRepresentation(CdmStore.getDefaultLanguage());
+ String label = null;
+ if (rep != null){
+ label = rep.getAbbreviatedLabel();
+ if (label == null){
+ label = rep.getLabel();
+ }
+ }else{
+ label = status.getTitleCache();
+ }
String result = null;
if (PreferencesUtil.isShowSymbolInChecklistEditor() && !StringUtils.isBlank(status.getSymbol())){
- result = status.getTitleCache() + "("+ status.getSymbol()+")";
+ result = label + "("+ status.getSymbol()+")";
}else{
- result = status.getTitleCache();
+ result = label;
}
return result;
}
cellEditor.setContentProvider(new ArrayContentProvider());
- List<DefinedTermBase<?>> inputAll = new ArrayList<>();
+ List<DefinedTermBase> inputAll = new ArrayList<>();
PresenceAbsenceTerm noneTerm = PresenceAbsenceTerm.NewInstance();
noneTerm.setTitleCache(" ", true);
inputAll.add(noneTerm);
- List<DefinedTermBase<?>> input = CdmStore.getTermManager().getPreferredTerms(TermType.PresenceAbsenceTerm);
- inputAll.addAll(1, input);
+ Collection<DefinedTermBase> input = CdmStore.getTermManager().getPreferredTerms(TermType.PresenceAbsenceTerm);
+ List<DefinedTermBase> inputList = new ArrayList(input);
+ Comparator<DefinedTermBase> comp = new OrderedTermComparator<>();
+ // Collections.sort(inputList, comp);
+ inputAll.addAll(1,inputList);
+
+
cellEditor.setInput(inputAll);
+ cellEditor.addListener(new ICellEditorListener() {
+
+ @Override
+ public void applyEditorValue() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void cancelEditor() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void editorValueChanged(boolean oldValidState, boolean newValidState) {
+ fireStateChanged(cellEditor.getValue());
+
+ }
+
+ });
}
}
@Override
- protected Object getValue(Object element) {
+ protected PresenceAbsenceTerm getValue(Object element) {
if (element instanceof Taxon) {
Taxon taxon = (Taxon) element;
String result = null;
}
//fireStateChanged(distributionForColumn);
- return result;
+ return null;
}
return null;
}
- protected void fireStateChanged(Distribution dist) {
+
+
+ protected void fireStateChanged(Object dist) {
if (dist!= null){
ISelection selection = new StructuredSelection(dist);
-// selService.setSelection(selection);
+ selService.setSelection(selection);
}
}
for (DescriptionElementBase deb : td.getElements()) {
if (deb instanceof Distribution) {
Distribution distribution = (Distribution) deb;
+ UUID areaUuid = null;
+ for (Map.Entry<UUID,Integer> entry: editor.getAreaPosition().entrySet()){
+ if (entry.getValue().intValue()== columnIndex){
+ areaUuid = entry.getKey();
+ break;
+ }
+ }
if (distribution.getArea() != null){
- if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
- if (column.getText().equalsIgnoreCase(distribution.getArea().getIdInVocabulary())) {
- return distribution;
- }
- }else{
- if (column.getText().equalsIgnoreCase(distribution.getArea().getTitleCache())) {
- return distribution;
- }
+ if (distribution.getArea().getUuid().equals(areaUuid)){
+ return distribution;
+
}
}
}
if (areaIndex == columnIndex){
NamedArea area = (NamedArea) term;
Distribution distribution = Distribution.NewInstance(area, occurenceStatus);
+ if (editor.getDefaultSource() != null){
+ DescriptionElementSource source = DescriptionElementSource.NewPrimarySourceInstance(editor.getDefaultSource(), "");
+ distribution.addSource(source);
+ }
Set<TaxonDescription> descriptions = taxon.getDescriptions();
if (!descriptions.isEmpty()) {
for (TaxonDescription desc : descriptions) {
--- /dev/null
+/**
+* Copyright (C) 2018 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.editor.view.checklist.e4;
+
+import org.eclipse.jface.viewers.ColumnViewer;
+import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+
+/**
+ * @author k.luther
+ * @since 17.10.2018
+ *
+ */
+public class DistributionEditorColumnViewerEditorActivationStrategy extends ColumnViewerEditorActivationStrategy {
+
+ private KeyListener customkeyboardActivationListener;
+ /**
+ * @param viewer
+ */
+ public DistributionEditorColumnViewerEditorActivationStrategy(ColumnViewer viewer) {
+ super(viewer);
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * Enable activation of cell editors by keyboard
+ *
+ * @param enable
+ * <code>true</code> to enable
+ */
+ @Override
+ public void setEnableEditorActivationWithKeyboard(boolean enable) {
+ super.setEnableEditorActivationWithKeyboard(enable);
+ if (enable) {
+ if (customkeyboardActivationListener == null) {
+ customkeyboardActivationListener = new KeyListener() {
+
+ @Override
+ public void keyPressed(KeyEvent e) {
+
+ }
+
+ @Override
+ public void keyReleased(KeyEvent e) {
+ ViewerCell cell = getFocusCell();
+
+// if (cell != null) {
+// getViewer().getColumnViewerEditor().handleEditorActivationEvent(new ColumnViewerEditorActivationEvent(
+// cell, e));
+// }
+ }
+
+ };
+ getViewer().getControl().addKeyListener(customkeyboardActivationListener);
+ }
+ }
+ }
+
+ /**
+ * @return the cell holding the current focus
+ */
+ private ViewerCell getFocusCell() {
+ return getViewer().getColumnViewerEditor().getFocusCell();
+ }
+
+}
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;\r
\r
/**\r
* @author l.morris\r
\r
DeleteResult result = CdmStore.getService(IVocabularyService.class).delete(termBase.getUuid());\r
if (!result.isOk()){\r
- StringBuffer errorString = new StringBuffer();\r
- for (Exception e:result.getExceptions()){\r
- errorString.append(e.getMessage() + System.lineSeparator());\r
- }\r
- MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
- }\r
+ StringBuffer errorString = new StringBuffer();\r
+ for (Exception e:result.getExceptions()){\r
+ errorString.append(e.getMessage() + System.lineSeparator());\r
+ }\r
+ if (result.isAbort()){\r
+ MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
+ }else{\r
+ if (result.getExceptions().iterator().hasNext()){\r
+ MessagingUtils.errorDialog("Delete failed", this.getClass(),null, TaxeditorStorePlugin.PLUGIN_ID, result.getExceptions().iterator().next(), true);\r
+ }else{\r
+ MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
+ }\r
+ }\r
+ }\r
\r
} else if (termBase instanceof DefinedTermBase) {\r
\r
for (Exception e:result.getExceptions()){\r
errorString.append(e.getMessage() + System.lineSeparator());\r
}\r
- MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
+ if (result.isAbort()){\r
+ MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
+ }else{\r
+ if (result.getExceptions().iterator().hasNext()){\r
+ MessagingUtils.errorDialog("Delete failed", this.getClass(),null, TaxeditorStorePlugin.PLUGIN_ID, result.getExceptions().iterator().next(), true);\r
+ }else{\r
+ MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
+ }\r
+ }\r
}\r
}\r
\r
try{
if(CdmStore.isActive()){
controller = CdmStore.getCurrentApplicationConfiguration();
- PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), predicate);
+ PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), predicate);
pref = controller.getPreferenceService().find(key);
}
}catch(Exception e){
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
-import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
}
}
String saveCheckedElements = StringUtils.join(listUIIDChecked, ";");
- pref = CdmPreference.NewInstance(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionStatus, saveCheckedElements);
+ pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionStatus, saveCheckedElements);
PreferencesUtil.setPreferenceToDB(pref);
CdmStore.getTermManager().setPreferredTerms(preferredTerms, aPage.getVocabularies().get(0).getTerms());
+ PreferencesUtil.firePreferencesChanged(this.getClass());
return true;
}
IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
//ToDo, if whole vocabulary is selected, save the vocabulary not all areas
- PreferencesUtil.setPreferredNamedAreasForDistributionEditor(saveCheckedElements, saveGrayedElements, false);
+ // PreferencesUtil.setPreferredNamedAreasForDistributionEditor(saveCheckedElements, saveGrayedElements, false);
preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS, saveCheckedElements);
preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED, saveGrayedElements);
return true;