Revision 719ac7ab
Added by Patrick Plitzner over 4 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java | ||
---|---|---|
192 | 192 |
import eu.etaxonomy.taxeditor.ui.section.description.detail.TextDataDetailElement; |
193 | 193 |
import eu.etaxonomy.taxeditor.ui.section.feature.CharacterDetailElement; |
194 | 194 |
import eu.etaxonomy.taxeditor.ui.section.feature.CharacterDetailSection; |
195 |
import eu.etaxonomy.taxeditor.ui.section.feature.CharacterNodeDetailElement; |
|
196 |
import eu.etaxonomy.taxeditor.ui.section.feature.CharacterNodeDetailSection; |
|
195 | 197 |
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailElement; |
196 | 198 |
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailSection; |
197 | 199 |
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureNodeDetailElement; |
... | ... | |
1729 | 1731 |
return element; |
1730 | 1732 |
} |
1731 | 1733 |
|
1734 |
public CharacterNodeDetailSection createCharacterNodeDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ |
|
1735 |
CharacterNodeDetailSection section = new CharacterNodeDetailSection(this, conversation, parentElement, selectionProvider, style); |
|
1736 |
addAndAdaptSection(parentElement, section); |
|
1737 |
return section; |
|
1738 |
} |
|
1739 |
|
|
1732 | 1740 |
public CharacterDetailSection createCharacterDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ |
1733 | 1741 |
CharacterDetailSection section = new CharacterDetailSection(this, conversation, parentElement, selectionProvider, style); |
1734 | 1742 |
addAndAdaptSection(parentElement, section); |
1735 | 1743 |
return section; |
1736 | 1744 |
} |
1737 | 1745 |
|
1746 |
public CharacterNodeDetailElement createCharacterNodeDetailElement(ICdmFormElement parentElement, int style){ |
|
1747 |
CharacterNodeDetailElement element = new CharacterNodeDetailElement(this, parentElement); |
|
1748 |
addAndAdaptElement(parentElement, element); |
|
1749 |
return element; |
|
1750 |
} |
|
1751 |
|
|
1738 | 1752 |
public CharacterDetailElement createCharacterDetailElement(ICdmFormElement parentElement, int style){ |
1739 | 1753 |
CharacterDetailElement element = new CharacterDetailElement(this, parentElement); |
1740 | 1754 |
addAndAdaptElement(parentElement, element); |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/CharacterDetailElement.java | ||
---|---|---|
12 | 12 |
|
13 | 13 |
import eu.etaxonomy.cdm.model.common.Language; |
14 | 14 |
import eu.etaxonomy.cdm.model.description.Character; |
15 |
import eu.etaxonomy.cdm.model.description.Feature; |
|
16 | 15 |
import eu.etaxonomy.cdm.model.term.DefinedTerm; |
17 | 16 |
import eu.etaxonomy.cdm.model.term.Representation; |
18 | 17 |
import eu.etaxonomy.cdm.model.term.TermNode; |
... | ... | |
68 | 67 |
@Override |
69 | 68 |
protected void createControls(ICdmFormElement formElement, Character entity, int style) { |
70 | 69 |
this.parentFormElement = formElement; |
71 |
element_Representation = formFactory.createTranslatableRepresentationElement(formElement, getEntity().getPreferredRepresentation(CdmStore.getDefaultLanguage()),getEntity(), 100, style, true);
|
|
70 |
element_Representation = formFactory.createTranslatableRepresentationElement(formElement, entity.getPreferredRepresentation(CdmStore.getDefaultLanguage()),entity, 100, style, true);
|
|
72 | 71 |
Label lblStructure = new Label(formElement.getLayoutComposite(), style); |
73 | 72 |
lblStructure.setText("Structure"); |
74 | 73 |
Label lblStructureText = new Label(formElement.getLayoutComposite(), style); |
... | ... | |
89 | 88 |
sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), |
90 | 89 |
parentFormElement, StoreUtil.getSectionStyle(StateVocabularyCollectionSection.class, entity.getClass().getCanonicalName(), true)); |
91 | 90 |
sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
92 |
sectionStateVocabularies.setEntity(getEntity());
|
|
91 |
sectionStateVocabularies.setEntity(entity);
|
|
93 | 92 |
} |
94 | 93 |
if (supportsQuantitativeData.getSelection()) { |
95 | 94 |
sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), |
96 | 95 |
parentFormElement, StoreUtil.getSectionStyle(MeasurementUnitCollectionSection.class, entity.getClass().getCanonicalName(), true)); |
97 | 96 |
sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
98 |
sectionMeasurementUnits.setEntity(getEntity());
|
|
97 |
sectionMeasurementUnits.setEntity(entity);
|
|
99 | 98 |
|
100 | 99 |
sectionStatisticalMeasures = formFactory.createStatisticalMeasureCollectionSection(getConversationHolder(), |
101 | 100 |
parentFormElement, StoreUtil.getSectionStyle(StatisticalMeasureCollectionSection.class, entity.getClass().getCanonicalName(), true)); |
102 | 101 |
sectionStatisticalMeasures.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
103 |
sectionStatisticalMeasures.setEntity(getEntity());
|
|
102 |
sectionStatisticalMeasures.setEntity(entity);
|
|
104 | 103 |
} |
105 | 104 |
if (supportsCategoricalData.getSelection() || supportsQuantitativeData.getSelection()) { |
106 | 105 |
sectionModifierVocabularies = formFactory.createRecommendedModifierVocabulariesCollectionSection( |
107 | 106 |
getConversationHolder(), parentFormElement, StoreUtil.getSectionStyle(RecommendedModifierVocabulariesCollectionSection.class, entity.getClass().getCanonicalName(), true)); |
108 | 107 |
sectionModifierVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
109 |
sectionModifierVocabularies.setEntity(getEntity());
|
|
108 |
sectionModifierVocabularies.setEntity(entity);
|
|
110 | 109 |
} |
110 |
|
|
111 | 111 |
} |
112 | 112 |
|
113 | 113 |
private String getPath(TermNode node){ |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/CharacterNodeDetailElement.java | ||
---|---|---|
1 |
/** |
|
2 |
* Copyright (C) 2009 EDIT |
|
3 |
* European Distributed Institute of Taxonomy |
|
4 |
* http://www.e-taxonomy.eu |
|
5 |
* |
|
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. |
|
8 |
*/ |
|
9 |
package eu.etaxonomy.taxeditor.ui.section.feature; |
|
10 |
|
|
11 |
import org.eclipse.swt.widgets.Label; |
|
12 |
|
|
13 |
import eu.etaxonomy.cdm.model.common.Language; |
|
14 |
import eu.etaxonomy.cdm.model.description.Character; |
|
15 |
import eu.etaxonomy.cdm.model.term.DefinedTerm; |
|
16 |
import eu.etaxonomy.cdm.model.term.Representation; |
|
17 |
import eu.etaxonomy.cdm.model.term.TermNode; |
|
18 |
import eu.etaxonomy.cdm.model.term.TermType; |
|
19 |
import eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester; |
|
20 |
import eu.etaxonomy.taxeditor.model.ColorResources; |
|
21 |
import eu.etaxonomy.taxeditor.preference.Resources; |
|
22 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
23 |
import eu.etaxonomy.taxeditor.store.StoreUtil; |
|
24 |
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; |
|
25 |
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; |
|
26 |
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement; |
|
27 |
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; |
|
28 |
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; |
|
29 |
import eu.etaxonomy.taxeditor.ui.element.RepresentationElement; |
|
30 |
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; |
|
31 |
import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionSection; |
|
32 |
import eu.etaxonomy.taxeditor.ui.section.vocabulary.RecommendedModifierVocabulariesCollectionSection; |
|
33 |
import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionSection; |
|
34 |
import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionSection; |
|
35 |
|
|
36 |
/** |
|
37 |
* |
|
38 |
* @author pplitzner |
|
39 |
* @since Aug 19, 2019 |
|
40 |
* |
|
41 |
*/ |
|
42 |
public class CharacterNodeDetailElement extends AbstractCdmDetailElement<TermNode<Character>> { |
|
43 |
|
|
44 |
private ICdmFormElement parentFormElement; |
|
45 |
|
|
46 |
protected RepresentationElement element_Representation; |
|
47 |
|
|
48 |
private TermComboElement<DefinedTerm> comboStructuralModifier; |
|
49 |
|
|
50 |
private CheckboxElement supportsQuantitativeData; |
|
51 |
|
|
52 |
private CheckboxElement supportsCategoricalData; |
|
53 |
|
|
54 |
private StateVocabularyCollectionSection sectionStateVocabularies; |
|
55 |
|
|
56 |
private MeasurementUnitCollectionSection sectionMeasurementUnits; |
|
57 |
|
|
58 |
private StatisticalMeasureCollectionSection sectionStatisticalMeasures; |
|
59 |
|
|
60 |
private RecommendedModifierVocabulariesCollectionSection sectionModifierVocabularies; |
|
61 |
|
|
62 |
private InapplicableIfEntityCollectionSection sectionInapplicableIf; |
|
63 |
private OnlyApplicableIfEntityCollectionSection sectionOnlyApplicableIf; |
|
64 |
|
|
65 |
public CharacterNodeDetailElement(CdmFormFactory formFactory, |
|
66 |
ICdmFormElement formElement) { |
|
67 |
super(formFactory, formElement); |
|
68 |
} |
|
69 |
|
|
70 |
@Override |
|
71 |
protected void createControls(ICdmFormElement formElement, TermNode<Character> entity, int style) { |
|
72 |
this.parentFormElement = formElement; |
|
73 |
element_Representation = formFactory.createTranslatableRepresentationElement(formElement, entity.getTerm().getPreferredRepresentation(CdmStore.getDefaultLanguage()),entity.getTerm(), 100, style, true); |
|
74 |
Label lblStructure = new Label(formElement.getLayoutComposite(), style); |
|
75 |
lblStructure.setText("Structure"); |
|
76 |
Label lblStructureText = new Label(formElement.getLayoutComposite(), style); |
|
77 |
lblStructureText.setText(getPath(entity.getTerm().getStructure())); |
|
78 |
lblStructureText.setForeground(ColorResources.getColor(Resources.BLACK)); |
|
79 |
Label lblProperty = new Label(formElement.getLayoutComposite(), style); |
|
80 |
lblProperty.setText("Property"); |
|
81 |
Label lblPropertyText = new Label(formElement.getLayoutComposite(), style); |
|
82 |
lblPropertyText.setForeground(ColorResources.getColor(Resources.BLACK)); |
|
83 |
lblPropertyText.setText(getPath(entity.getTerm().getProperty())); |
|
84 |
|
|
85 |
comboStructuralModifier = formFactory.createDefinedTermComboElement(TermType.StructureModifier, formElement, "Structural Modifier", entity.getTerm().getStructureModifier(), style); |
|
86 |
|
|
87 |
supportsQuantitativeData = formFactory.createCheckbox(formElement, "Supports Quantitative Data", entity.getTerm().isSupportsQuantitativeData(), style); |
|
88 |
supportsCategoricalData = formFactory.createCheckbox(formElement, "Supports Categorical Data", entity.getTerm().isSupportsCategoricalData(), style); |
|
89 |
|
|
90 |
if (supportsCategoricalData.getSelection()) { |
|
91 |
sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), |
|
92 |
parentFormElement, StoreUtil.getSectionStyle(StateVocabularyCollectionSection.class, entity.getClass().getCanonicalName(), true)); |
|
93 |
sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
94 |
sectionStateVocabularies.setEntity(entity.getTerm()); |
|
95 |
} |
|
96 |
if (supportsQuantitativeData.getSelection()) { |
|
97 |
sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), |
|
98 |
parentFormElement, StoreUtil.getSectionStyle(MeasurementUnitCollectionSection.class, entity.getClass().getCanonicalName(), true)); |
|
99 |
sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
100 |
sectionMeasurementUnits.setEntity(entity.getTerm()); |
|
101 |
|
|
102 |
sectionStatisticalMeasures = formFactory.createStatisticalMeasureCollectionSection(getConversationHolder(), |
|
103 |
parentFormElement, StoreUtil.getSectionStyle(StatisticalMeasureCollectionSection.class, entity.getClass().getCanonicalName(), true)); |
|
104 |
sectionStatisticalMeasures.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
105 |
sectionStatisticalMeasures.setEntity(entity.getTerm()); |
|
106 |
} |
|
107 |
if (supportsCategoricalData.getSelection() || supportsQuantitativeData.getSelection()) { |
|
108 |
sectionModifierVocabularies = formFactory.createRecommendedModifierVocabulariesCollectionSection( |
|
109 |
getConversationHolder(), parentFormElement, StoreUtil.getSectionStyle(RecommendedModifierVocabulariesCollectionSection.class, entity.getClass().getCanonicalName(), true)); |
|
110 |
sectionModifierVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
111 |
sectionModifierVocabularies.setEntity(entity.getTerm()); |
|
112 |
} |
|
113 |
|
|
114 |
// applicability |
|
115 |
sectionInapplicableIf = formFactory.createInapplicableIfEntityCollectionSection(getConversationHolder(), |
|
116 |
formElement, StoreUtil.getSectionStyle(InapplicableIfEntityCollectionSection.class, entity.getTerm().getClass().getCanonicalName())); |
|
117 |
sectionInapplicableIf.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
118 |
sectionInapplicableIf.setEntity(getEntity()); |
|
119 |
sectionOnlyApplicableIf = formFactory.createOnlyApplicableIfEntityCollectionSection(getConversationHolder(), |
|
120 |
formElement, StoreUtil.getSectionStyle(OnlyApplicableIfEntityCollectionSection.class, entity.getTerm().getClass().getCanonicalName())); |
|
121 |
sectionOnlyApplicableIf.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
122 |
sectionOnlyApplicableIf.setEntity(entity); |
|
123 |
} |
|
124 |
|
|
125 |
private String getPath(TermNode node){ |
|
126 |
String path = node.getTerm().getLabel(); |
|
127 |
TermNode parent = node.getParent(); |
|
128 |
while(parent != null && parent.getTerm()!=null){ |
|
129 |
path = parent.getTerm().getLabel() + "/" + path; |
|
130 |
parent = parent.getParent(); |
|
131 |
} |
|
132 |
return path; |
|
133 |
} |
|
134 |
|
|
135 |
@Override |
|
136 |
public void setEntity(TermNode<Character> entity) { |
|
137 |
super.setEntity(entity); |
|
138 |
setEnabled(TermBasePropertyTester.isModifiable(entity)); |
|
139 |
} |
|
140 |
|
|
141 |
@Override |
|
142 |
public void handleEvent(Object eventSource) { |
|
143 |
if(eventSource == comboStructuralModifier){ |
|
144 |
getEntity().getTerm().setStructureModifier(comboStructuralModifier.getSelection()); |
|
145 |
} |
|
146 |
if(eventSource == supportsQuantitativeData || eventSource == supportsCategoricalData){ |
|
147 |
//if any type is selected disable supportsTextData |
|
148 |
getEntity().getTerm().setSupportsTextData(false); |
|
149 |
} |
|
150 |
if(eventSource == supportsQuantitativeData){ |
|
151 |
getEntity().getTerm().setSupportsQuantitativeData(supportsQuantitativeData.getSelection()); |
|
152 |
if(supportsQuantitativeData.getSelection()){ |
|
153 |
activateQuantitativeWidgets(); |
|
154 |
} |
|
155 |
else{ |
|
156 |
removeQuantitativeWidgets(); |
|
157 |
} |
|
158 |
StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true); |
|
159 |
} |
|
160 |
else if(eventSource == supportsCategoricalData){ |
|
161 |
getEntity().getTerm().setSupportsCategoricalData(supportsCategoricalData.getSelection()); |
|
162 |
if (supportsCategoricalData.getSelection()) { |
|
163 |
activateCategoricalWidgets(); |
|
164 |
} |
|
165 |
else{ |
|
166 |
removeCategoricalWidgets(); |
|
167 |
} |
|
168 |
StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true); |
|
169 |
} |
|
170 |
else if (eventSource == element_Representation) { |
|
171 |
Representation selectedRepresentation = element_Representation.getSelectedRepresentation(); |
|
172 |
if(selectedRepresentation!=null){ |
|
173 |
Language representationLanguage = selectedRepresentation.getLanguage(); |
|
174 |
if(representationLanguage==null){ |
|
175 |
representationLanguage = Language.getDefaultLanguage(); |
|
176 |
} |
|
177 |
getEntity().getTerm().setLabel(selectedRepresentation.getLabel(), representationLanguage); |
|
178 |
getEntity().getTerm().getRepresentation(representationLanguage).setAbbreviatedLabel(selectedRepresentation.getAbbreviatedLabel()); |
|
179 |
getEntity().getTerm().getRepresentation(representationLanguage).setText(selectedRepresentation.getDescription()); |
|
180 |
} |
|
181 |
getEntity().getTerm().setTitleCache(null); |
|
182 |
} |
|
183 |
} |
|
184 |
|
|
185 |
private void activateQuantitativeWidgets(){ |
|
186 |
//disable categorical widgets |
|
187 |
supportsCategoricalData.setSelection(false); |
|
188 |
getEntity().getTerm().setSupportsCategoricalData(false); |
|
189 |
removeCategoricalWidgets(); |
|
190 |
|
|
191 |
//measurement units |
|
192 |
sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), |
|
193 |
parentFormElement, StoreUtil.getSectionStyle(MeasurementUnitCollectionSection.class, getEntity().getClass().getCanonicalName(), true)); |
|
194 |
sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
195 |
sectionMeasurementUnits.setEntity(getEntity().getTerm()); |
|
196 |
|
|
197 |
//statistical measures |
|
198 |
sectionStatisticalMeasures = formFactory.createStatisticalMeasureCollectionSection( |
|
199 |
getConversationHolder(), parentFormElement, StoreUtil.getSectionStyle(StatisticalMeasureCollectionSection.class, getEntity().getClass().getCanonicalName(), true)); |
|
200 |
sectionStatisticalMeasures.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
201 |
sectionStatisticalMeasures.setEntity(getEntity().getTerm()); |
|
202 |
|
|
203 |
//modifiers |
|
204 |
sectionModifierVocabularies = formFactory.createRecommendedModifierVocabulariesCollectionSection( |
|
205 |
getConversationHolder(), parentFormElement, StoreUtil.getSectionStyle(RecommendedModifierVocabulariesCollectionSection.class, getEntity().getClass().getCanonicalName(), true)); |
|
206 |
sectionModifierVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
207 |
sectionModifierVocabularies.setEntity(getEntity().getTerm()); |
|
208 |
} |
|
209 |
|
|
210 |
private void removeQuantitativeWidgets(){ |
|
211 |
if(sectionMeasurementUnits!=null){ |
|
212 |
removeElementsAndControls(sectionMeasurementUnits); |
|
213 |
removeElementsAndControls(sectionStatisticalMeasures); |
|
214 |
removeElementsAndControls(sectionModifierVocabularies); |
|
215 |
} |
|
216 |
} |
|
217 |
|
|
218 |
private void activateCategoricalWidgets(){ |
|
219 |
//disable quantitative widgeets |
|
220 |
supportsQuantitativeData.setSelection(false); |
|
221 |
getEntity().getTerm().setSupportsQuantitativeData(false); |
|
222 |
removeQuantitativeWidgets(); |
|
223 |
|
|
224 |
//states |
|
225 |
sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), |
|
226 |
parentFormElement, StoreUtil.getSectionStyle(StateVocabularyCollectionSection.class, getEntity().getClass().getCanonicalName(), true)); |
|
227 |
sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
228 |
sectionStateVocabularies.setEntity(getEntity().getTerm()); |
|
229 |
|
|
230 |
//modifiers |
|
231 |
sectionModifierVocabularies = formFactory.createRecommendedModifierVocabulariesCollectionSection( |
|
232 |
getConversationHolder(), parentFormElement, StoreUtil.getSectionStyle(RecommendedModifierVocabulariesCollectionSection.class, getEntity().getClass().getCanonicalName(), true)); |
|
233 |
sectionModifierVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); |
|
234 |
sectionModifierVocabularies.setEntity(getEntity().getTerm()); |
|
235 |
} |
|
236 |
|
|
237 |
private void removeCategoricalWidgets(){ |
|
238 |
if(sectionStateVocabularies!=null){ |
|
239 |
removeElementsAndControls(sectionStateVocabularies); |
|
240 |
removeElementsAndControls(sectionModifierVocabularies); |
|
241 |
} |
|
242 |
} |
|
243 |
|
|
244 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/CharacterNodeDetailSection.java | ||
---|---|---|
1 |
/** |
|
2 |
* Copyright (C) 2009 EDIT |
|
3 |
* European Distributed Institute of Taxonomy |
|
4 |
* http://www.e-taxonomy.eu |
|
5 |
* |
|
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. |
|
8 |
*/ |
|
9 |
package eu.etaxonomy.taxeditor.ui.section.feature; |
|
10 |
|
|
11 |
import org.eclipse.jface.viewers.ISelectionProvider; |
|
12 |
|
|
13 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
|
14 |
import eu.etaxonomy.cdm.model.description.Character; |
|
15 |
import eu.etaxonomy.cdm.model.term.TermNode; |
|
16 |
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; |
|
17 |
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; |
|
18 |
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; |
|
19 |
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; |
|
20 |
|
|
21 |
/** |
|
22 |
* |
|
23 |
* @author pplitzner |
|
24 |
* @since Aug 19, 2019 |
|
25 |
* |
|
26 |
*/ |
|
27 |
public class CharacterNodeDetailSection extends AbstractCdmDetailSection<TermNode<Character>> { |
|
28 |
|
|
29 |
public CharacterNodeDetailSection(CdmFormFactory formFactory, |
|
30 |
ConversationHolder conversation, ICdmFormElement parentElement, |
|
31 |
ISelectionProvider selectionProvider, int style) { |
|
32 |
super(formFactory, conversation, parentElement, selectionProvider, style); |
|
33 |
} |
|
34 |
|
|
35 |
@Override |
|
36 |
public String getHeading() { |
|
37 |
return "Character Node"; |
|
38 |
} |
|
39 |
|
|
40 |
/** |
|
41 |
* {@inheritDoc} |
|
42 |
*/ |
|
43 |
@Override |
|
44 |
protected AbstractCdmDetailElement<TermNode<Character>> createCdmDetailElement(AbstractCdmDetailSection<TermNode<Character>> parentElement, |
|
45 |
int style) { |
|
46 |
return formFactory.createCharacterNodeDetailElement(parentElement, style); |
|
47 |
} |
|
48 |
|
|
49 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/details/DetailsViewerE4.java | ||
---|---|---|
25 | 25 |
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; |
26 | 26 |
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException; |
27 | 27 |
import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifResponse; |
28 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
|
29 | 28 |
import eu.etaxonomy.cdm.model.agent.Person; |
30 | 29 |
import eu.etaxonomy.cdm.model.agent.Team; |
31 | 30 |
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; |
32 |
import eu.etaxonomy.cdm.model.permission.Group; |
|
33 | 31 |
import eu.etaxonomy.cdm.model.common.Marker; |
34 |
import eu.etaxonomy.cdm.model.permission.User; |
|
35 | 32 |
import eu.etaxonomy.cdm.model.description.CategoricalData; |
36 | 33 |
import eu.etaxonomy.cdm.model.description.Character; |
37 | 34 |
import eu.etaxonomy.cdm.model.description.DescriptionBase; |
... | ... | |
49 | 46 |
import eu.etaxonomy.cdm.model.occurrence.FieldUnit; |
50 | 47 |
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen; |
51 | 48 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; |
49 |
import eu.etaxonomy.cdm.model.permission.Group; |
|
50 |
import eu.etaxonomy.cdm.model.permission.User; |
|
52 | 51 |
import eu.etaxonomy.cdm.model.reference.Reference; |
53 | 52 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
54 | 53 |
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; |
55 | 54 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
56 | 55 |
import eu.etaxonomy.cdm.model.term.TermNode; |
57 | 56 |
import eu.etaxonomy.cdm.model.term.TermTree; |
57 |
import eu.etaxonomy.cdm.model.term.TermType; |
|
58 | 58 |
import eu.etaxonomy.cdm.model.term.TermVocabulary; |
59 | 59 |
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; |
60 | 60 |
import eu.etaxonomy.taxeditor.editor.IDistributionEditor; |
... | ... | |
83 | 83 |
import eu.etaxonomy.taxeditor.ui.section.description.NaturalLanguageSection; |
84 | 84 |
import eu.etaxonomy.taxeditor.ui.section.description.ScopeSection; |
85 | 85 |
import eu.etaxonomy.taxeditor.ui.section.feature.CharacterDetailSection; |
86 |
import eu.etaxonomy.taxeditor.ui.section.feature.CharacterNodeDetailSection; |
|
86 | 87 |
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailSection; |
87 | 88 |
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureNodeDetailSection; |
88 | 89 |
import eu.etaxonomy.taxeditor.ui.section.feature.FeatureTreeDetailSection; |
... | ... | |
177 | 178 |
if(input instanceof GbifResponse){ |
178 | 179 |
input = ((GbifResponse) input).getDerivedUnitFacade(); |
179 | 180 |
} |
180 |
if(input instanceof TermNode |
|
181 |
&& HibernateProxyHelper.isInstanceOf(((TermNode) input).getTerm(), Character.class)){ |
|
182 |
input = HibernateProxyHelper.deproxy(((TermNode) input).getTerm(), Character.class); |
|
183 |
} |
|
184 | 181 |
if (input !=null && input.getClass().equals(DerivedUnit.class)) { |
185 | 182 |
DerivedUnit derivedUnit = (DerivedUnit)input; |
186 | 183 |
try { |
... | ... | |
359 | 356 |
createFeatureDistributionSection(rootElement); |
360 | 357 |
|
361 | 358 |
} else if (input instanceof TermNode) { |
362 |
createFeatureNodeSection(rootElement); |
|
359 |
TermType type= ((TermNode) input).getTermType(); |
|
360 |
if(type.equals(TermType.Character)){ |
|
361 |
createCharacterNodeSection(rootElement); |
|
362 |
} |
|
363 |
else{ |
|
364 |
createFeatureNodeSection(rootElement); |
|
365 |
} |
|
363 | 366 |
|
364 | 367 |
} else if (input instanceof TermTree) { |
365 | 368 |
createFeatureTreeSection(rootElement); |
... | ... | |
779 | 782 |
addPart(featureDistributionSection); |
780 | 783 |
} |
781 | 784 |
|
785 |
private void createCharacterNodeSection(RootElement parent) { |
|
786 |
CharacterNodeDetailSection featureDistributionSection = formFactory.createCharacterNodeDetailSection(getConversationHolder(), parent, this, StoreUtil.getSectionStyle(CharacterDetailSection.class, getInput().getClass().getCanonicalName(), true)); |
|
787 |
addPart(featureDistributionSection); |
|
788 |
} |
|
789 |
|
|
782 | 790 |
private void createCharacterSection(RootElement parent) { |
783 | 791 |
CharacterDetailSection featureDistributionSection = formFactory.createCharacterDetailSection(getConversationHolder(), parent, this, StoreUtil.getSectionStyle(CharacterDetailSection.class, getInput().getClass().getCanonicalName(), true)); |
784 |
|
|
785 | 792 |
addPart(featureDistributionSection); |
786 | 793 |
} |
787 | 794 |
|
Also available in: Unified diff
ref #8475 Add applicability detail element to character details view