1 package eu
.etaxonomy
.taxeditor
.ui
.section
.userecords
;
5 import java
.util
.ArrayList
;
9 import org
.apache
.log4j
.Logger
;
10 import org
.eclipse
.swt
.events
.SelectionEvent
;
11 import org
.eclipse
.swt
.events
.SelectionListener
;
12 import org
.eclipse
.ui
.forms
.widgets
.Section
;
14 import eu
.etaxonomy
.cdm
.api
.service
.IVocabularyService
;
15 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTermBase
;
16 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
17 import eu
.etaxonomy
.cdm
.model
.common
.LanguageString
;
18 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
19 import eu
.etaxonomy
.cdm
.model
.description
.CategoricalData
;
20 import eu
.etaxonomy
.cdm
.model
.description
.DescriptionElementBase
;
21 import eu
.etaxonomy
.cdm
.model
.description
.State
;
22 import eu
.etaxonomy
.cdm
.model
.description
.StateData
;
23 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
24 import eu
.etaxonomy
.taxeditor
.store
.TermStore
;
25 import eu
.etaxonomy
.taxeditor
.ui
.combo
.TermComboElement
;
26 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
27 import eu
.etaxonomy
.taxeditor
.ui
.element
.CheckboxElement
;
28 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
29 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
.EntityDetailType
;
30 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
31 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.DescriptionElementDetailElement
;
32 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.StateDataSection
;
33 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.detail
.AbstractDetailedDescriptionDetailElement
;
35 //public class UseRecordDetailElement extends AbstractDetailedDescriptionDetailElement<CategoricalData> {
36 public class UseRecordDetailElement
extends AbstractCdmDetailElement
<CategoricalData
> implements SelectionListener
{
39 private static final Logger logger
= Logger
40 .getLogger(DescriptionElementDetailElement
.class);
42 //private CheckboxElement checkbox_orderRelevant;
43 private TermComboElement
<State
> combo_UseCategory
;
44 private TermComboElement
<State
> combo_UseSubCategory
;
45 //private AbstractDetailedDescriptionDetailElement detailElement;
47 /*public UseRecordDetailElement(CdmFormFactory formFactory,
48 ICdmFormElement formElement, CategoricalData entity, int style) {
49 super(formFactory, formElement, entity, style);
51 /*public UseRecordDetailElement(CdmFormFactory formFactory,
52 ICdmFormElement formElement, int style) {*/
53 public UseRecordDetailElement(CdmFormFactory formFactory
,
54 ICdmFormElement formElement
) {
55 super(formFactory
, formElement
);
60 protected void createControls(ICdmFormElement formElement
,
61 CategoricalData entity
, int style
) {
64 //State state = State.NewInstance("Tato", "Toto", "Titi");
65 //checkbox_orderRelevant = formFactory.createCheckbox(formElement, "Order Relevant", entity.getOrderRelevant(), style);
66 combo_UseCategory
= formFactory
.createTermComboElement(State
.class, this, "Use Category", null , style
);
67 combo_UseCategory
.addSelectionListener(this);
68 combo_UseSubCategory
= formFactory
.createTermComboElement(State
.class, this, "Use Sub Category", null , style
);
69 //List<State> listOfTerms = TermStore.getTerms(State.class,null , false);
72 //UUID uuidUseCategory = UUID.fromString("2bb365af-ce6c-4196-a30b-e69b05099ed0");
73 //TermVocabulary termVoc = CdmStore.getService(IVocabularyService.class).find(uuidUseCategory);
74 List
<State
> termsToAdd
= setUseCategoryComboTerms(TermStore
.getTerms(State
.class,null , false));
75 //combo_UseCategory.setTerms(setUseCategoryComboTerms(listOfTerms));
76 combo_UseCategory
.setTerms(termsToAdd
);
78 //getPreferredTerms(State.class));
79 //UseSubCategory_stateData = formFactory.createTermComboElement(State.class, this, "Use Sub Category", null , style);
80 //createEntityDetailSection(EntityDetailType.USE_CAT, getConversationHolder(), formElement, Section.EXPANDED);
81 //UseSubCategory_stateData = (UseSubCategorySection) formFactory.createEntityDetailSection(EntityDetailType.USE_SUBCAT, getConversationHolder(), formElement,Section.EXPANDED);
82 //UseCategory_stateData.setEntity(entity);
83 //UseSubCategory_stateData.setEntity(entity);
84 //UseCategory_stateData.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
85 //UseSubCategory_stateData.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
90 private List
<State
> setUseCategoryComboTerms(List
<State
> listOfTerms
) {
91 List
<State
> termsToAdd
= new ArrayList
<State
>();
92 for(State term
: listOfTerms
) {
94 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals("Use Category"))) {
102 private List
<State
> setUseCategoryComboTerms(List
<State
> listOfTerms
,
103 State selectedUseCategory
) {
104 List
<State
> termsToAdd
= new ArrayList
<State
>();
105 for(State term
: listOfTerms
) {
106 if ((term
.getPartOf() != null) && (term
.getPartOf().getTitleCache().equals(selectedUseCategory
.getTitleCache()))) {
107 termsToAdd
.add(term
);
112 // TODO Auto-generated method stub
118 public void handleEvent(Object eventSource
) {
119 /*if(eventSource == checkbox_orderRelevant){
120 getEntity().setOrderRelevant(checkbox_orderRelevant.getSelection());
122 if(eventSource
== combo_UseCategory
){
123 /*TermVocabulary<State> useCategoryVocabulary = TermVocabulary.NewInstance("Use category vocabulary", "use categories", null, null);
124 State useCategory1 = State.NewInstance("My first use category", "use category 1", null);
125 useCategoryVocabulary.addTerm(useCategory1);
126 getEntity().addState(useCategory1);*/
127 StateData stateData
= StateData
.NewInstance(combo_UseCategory
.getSelection());
128 stateData
.setState(combo_UseCategory
.getSelection());
129 //List<State> currentStates = new ArrayList<State>();
130 //currentStates.add(combo_UseCategory.getSelection());
131 getEntity().addState(stateData
);
132 //getEntity().addState(combo_UseCategory.getSelection());
133 //.setOrderRelevant(combo_UseCategory.getSelection());
139 public void setEntity(CategoricalData entity
) {
140 // section_stateData.setEntity(entity);
141 super.setEntity(entity
);
145 public void widgetSelected(SelectionEvent e
) {
146 State selectedUseCategory
= combo_UseCategory
.getSelection();
147 if (selectedUseCategory
!= null) {
148 combo_UseSubCategory
.setTerms(setUseCategoryComboTerms(TermStore
.getTerms(State
.class,null , false), selectedUseCategory
));
149 /*selectedLanguageString = getMultilanguageText().get(
152 element_languageString.setLanguageString(selectedLanguageString);*/
160 public void widgetDefaultSelected(SelectionEvent e
) {
161 // TODO Auto-generated method stub