the pattern for new created nomenclatural references with nomenclatural title is...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / dialog / selection / NomenclaturalReferenceSelectionDialog.java
index b112fe4de42944c6adc2fff62adcca2e191760c2..ae72855696b2a5488bfe708714e37bc8caf483ae 100755 (executable)
@@ -3,31 +3,11 @@ package eu.etaxonomy.taxeditor.ui.dialog.selection;
 import java.text.Collator;
 import java.util.Comparator;
 
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.StyledCellLabelProvider;
-import org.eclipse.jface.viewers.StyledString;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
@@ -36,8 +16,6 @@ import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsFilter;
-import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsListSeparator;
 
 public class NomenclaturalReferenceSelectionDialog extends
                ReferenceSelectionDialog {
@@ -48,7 +26,7 @@ public class NomenclaturalReferenceSelectionDialog extends
                super(shell, conversation, title, multi, reference);
                // TODO Auto-generated constructor stub
        }
-       
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#initModel()
         */
@@ -64,7 +42,7 @@ public class NomenclaturalReferenceSelectionDialog extends
 
                model = CdmStore.getService(IReferenceService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern);
        }
-       
+
        /**
         *
         * @return
@@ -73,7 +51,7 @@ public class NomenclaturalReferenceSelectionDialog extends
        protected ILabelProvider createListLabelProvider() {
                return new FilteredCdmResourceAbbrevLabelProvider();
        }
-       
+
        /**
         * <p>select</p>
         *
@@ -82,13 +60,13 @@ public class NomenclaturalReferenceSelectionDialog extends
         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
         * @return a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
         */
-       
+
        public static Reference select(Shell shell, ConversationHolder conversation, Reference reference) {
                NomenclaturalReferenceSelectionDialog dialog = new NomenclaturalReferenceSelectionDialog(shell, conversation,
                                "Choose a reference", false, reference);
                return getSelectionFromDialog(dialog);
        }
-       
+
        /* (non-Javadoc)
         * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createFilter()
         */
@@ -128,9 +106,9 @@ public class NomenclaturalReferenceSelectionDialog extends
 
                };
        }
-       
 
-       
+
+
        public class FilteredCdmResourceAbbrevLabelProvider extends LabelProvider {
                @Override
                public String getText(Object element) {
@@ -149,7 +127,7 @@ public class NomenclaturalReferenceSelectionDialog extends
             return abbrevTitleCache;
                }
        };
-       
+
        @Override
        protected Comparator getItemsComparator() {
                return new Comparator<UuidAndTitleCache>() {
@@ -176,6 +154,22 @@ public class NomenclaturalReferenceSelectionDialog extends
                };
        }
 
+       @Override
+       protected String getTitle(Reference cdmObject) {
+        if(cdmObject == null){
+            return "";
+        }
+        if (cdmObject.getAbbrevTitle() != null){
+            return cdmObject.getAbbrevTitleCache();
+        }else{
+            return cdmObject.getTitleCache();
+        }
+
+
+
+    }
+
+
 
 
 }