2 * Copyright (C) 2018 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.editor
.view
.checklist
.e4
;
11 import java
.util
.ArrayList
;
12 import java
.util
.Collection
;
13 import java
.util
.Collections
;
14 import java
.util
.Comparator
;
15 import java
.util
.List
;
17 import org
.eclipse
.nebula
.widgets
.nattable
.edit
.editor
.IComboBoxDataProvider
;
19 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTermBase
;
20 import eu
.etaxonomy
.cdm
.model
.common
.OrderedTermComparator
;
21 import eu
.etaxonomy
.cdm
.model
.common
.Representation
;
22 import eu
.etaxonomy
.cdm
.model
.common
.TermType
;
23 import eu
.etaxonomy
.cdm
.model
.description
.PresenceAbsenceTerm
;
24 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
31 public class StatusComboBoxDataProvider
implements IComboBoxDataProvider
{
33 private DistributionEditor editor
;
34 private int maxVisibleItems
;
36 public StatusComboBoxDataProvider(DistributionEditor editor
) {
42 public List
<?
> getValues(int columnIndex
, int rowIndex
) {
46 public static List
<?
> getValues(){
47 List
<DefinedTermBase
> inputAll
= new ArrayList
<>();
48 PresenceAbsenceTerm noneTerm
= PresenceAbsenceTerm
.NewInstance();
49 noneTerm
.setTitleCache(" ", true);
50 noneTerm
.addRepresentation(Representation
.NewInstance("", "", "", CdmStore
.getDefaultLanguage()));
51 inputAll
.add(noneTerm
);
52 Collection
<DefinedTermBase
> input
= CdmStore
.getTermManager().getPreferredTerms(TermType
.PresenceAbsenceTerm
);
53 List
<DefinedTermBase
> inputList
= new ArrayList(input
);
54 Comparator
<DefinedTermBase
> comp
= new OrderedTermComparator
<>();
55 Collections
.sort(inputList
, comp
);
56 Collections
.sort(inputList
, Collections
.reverseOrder());
58 inputAll
.addAll(1, inputList
);
62 public int getMaxVisibleItems(){
63 return maxVisibleItems
;