2 * Copyright (C) 2011 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.
10 package eu
.etaxonomy
.taxeditor
.view
.e4
.details
;
12 import java
.util
.HashSet
;
15 import org
.eclipse
.jface
.viewers
.ISelection
;
16 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
17 import org
.eclipse
.jface
.viewers
.SelectionChangedEvent
;
18 import org
.eclipse
.jface
.viewers
.TreeNode
;
19 import org
.eclipse
.swt
.SWT
;
20 import org
.eclipse
.ui
.forms
.widgets
.ExpandableComposite
;
22 import eu
.etaxonomy
.cdm
.api
.facade
.DerivedUnitFacade
;
23 import eu
.etaxonomy
.cdm
.api
.facade
.DerivedUnitFacadeNotSupportedException
;
24 import eu
.etaxonomy
.cdm
.ext
.occurrence
.gbif
.GbifResponse
;
25 import eu
.etaxonomy
.cdm
.hibernate
.HibernateProxyHelper
;
26 import eu
.etaxonomy
.cdm
.model
.agent
.Person
;
27 import eu
.etaxonomy
.cdm
.model
.agent
.Team
;
28 import eu
.etaxonomy
.cdm
.model
.agent
.TeamOrPersonBase
;
29 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTermBase
;
30 import eu
.etaxonomy
.cdm
.model
.common
.Group
;
31 import eu
.etaxonomy
.cdm
.model
.common
.Marker
;
32 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
33 import eu
.etaxonomy
.cdm
.model
.common
.User
;
34 import eu
.etaxonomy
.cdm
.model
.description
.CategoricalData
;
35 import eu
.etaxonomy
.cdm
.model
.description
.Character
;
36 import eu
.etaxonomy
.cdm
.model
.description
.DescriptionBase
;
37 import eu
.etaxonomy
.cdm
.model
.description
.DescriptionElementBase
;
38 import eu
.etaxonomy
.cdm
.model
.description
.Distribution
;
39 import eu
.etaxonomy
.cdm
.model
.description
.FeatureNode
;
40 import eu
.etaxonomy
.cdm
.model
.description
.PolytomousKeyNode
;
41 import eu
.etaxonomy
.cdm
.model
.description
.SpecimenDescription
;
42 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
43 import eu
.etaxonomy
.cdm
.model
.molecular
.DnaSample
;
44 import eu
.etaxonomy
.cdm
.model
.molecular
.Sequence
;
45 import eu
.etaxonomy
.cdm
.model
.molecular
.SingleRead
;
46 import eu
.etaxonomy
.cdm
.model
.name
.TaxonName
;
47 import eu
.etaxonomy
.cdm
.model
.occurrence
.DerivedUnit
;
48 import eu
.etaxonomy
.cdm
.model
.occurrence
.FieldUnit
;
49 import eu
.etaxonomy
.cdm
.model
.occurrence
.MediaSpecimen
;
50 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationType
;
51 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
52 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
53 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationship
;
54 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationshipType
;
55 import eu
.etaxonomy
.cdm
.persistence
.hibernate
.CdmDataChangeMap
;
56 import eu
.etaxonomy
.taxeditor
.editor
.IDistributionEditor
;
57 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
58 import eu
.etaxonomy
.taxeditor
.model
.FeatureNodeContainer
;
59 import eu
.etaxonomy
.taxeditor
.model
.IDerivedUnitFacadePart
;
60 import eu
.etaxonomy
.taxeditor
.model
.MessagingUtils
;
61 import eu
.etaxonomy
.taxeditor
.model
.PolytomousKeyRelationship
;
62 import eu
.etaxonomy
.taxeditor
.preference
.IPreferenceKeys
;
63 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
64 import eu
.etaxonomy
.taxeditor
.store
.UsageTermCollection
;
65 import eu
.etaxonomy
.taxeditor
.ui
.element
.AbstractFormSection
;
66 import eu
.etaxonomy
.taxeditor
.ui
.element
.RootElement
;
67 import eu
.etaxonomy
.taxeditor
.ui
.section
.agent
.PersonDetailSection
;
68 import eu
.etaxonomy
.taxeditor
.ui
.section
.agent
.TeamDetailSection
;
69 import eu
.etaxonomy
.taxeditor
.ui
.section
.agent
.TeamOrPersonBaseDetailSection
;
70 import eu
.etaxonomy
.taxeditor
.ui
.section
.common
.ReferencedEntityDetailSection
;
71 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.DescriptionDetailSection
;
72 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.DescriptionElementDetailSection
;
73 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.DescriptionElementMediaSection
;
74 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.DescriptionElementSourceSection
;
75 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.DescriptionSourceSection
;
76 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.MediaDetailsSection
;
77 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.NaturalLanguageSection
;
78 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.ScopeSection
;
79 import eu
.etaxonomy
.taxeditor
.ui
.section
.feature
.CharacterDetailSection
;
80 import eu
.etaxonomy
.taxeditor
.ui
.section
.feature
.FeatureDistributionDetailSection
;
81 import eu
.etaxonomy
.taxeditor
.ui
.section
.grantedAuthority
.GrantedAuthorityDetailSection
;
82 import eu
.etaxonomy
.taxeditor
.ui
.section
.group
.GroupDetailSection
;
83 import eu
.etaxonomy
.taxeditor
.ui
.section
.group
.MemberDetailSection
;
84 import eu
.etaxonomy
.taxeditor
.ui
.section
.key
.PolytomousKeyDetailSection
;
85 import eu
.etaxonomy
.taxeditor
.ui
.section
.key
.PolytomousKeyNodeDetailSection
;
86 import eu
.etaxonomy
.taxeditor
.ui
.section
.name
.NameRelationshipDetailSection
;
87 import eu
.etaxonomy
.taxeditor
.ui
.section
.name
.NomenclaturalStatusSection
;
88 import eu
.etaxonomy
.taxeditor
.ui
.section
.name
.NonViralNameDetailSection
;
89 import eu
.etaxonomy
.taxeditor
.ui
.section
.name
.ProtologueSection
;
90 import eu
.etaxonomy
.taxeditor
.ui
.section
.name
.TypeDesignationSection
;
91 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.DerivedUnitBaseDetailSection
;
92 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.DerivedUnitGeneralDetailSection
;
93 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.DeterminationDetailSection
;
94 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.FieldUnitDetailSection
;
95 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.FieldUnitGeneralDetailSection
;
96 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.GatheringEventDetailSection
;
97 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.association
.DerivedUnitTypeDesignationSection
;
98 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.association
.TaxonAssociationDetailSection
;
99 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.DnaQualityDetailSection
;
100 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.DnaSampleGeneralDetailSection
;
101 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.DnaSamplePreparationPreservationSection
;
102 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.SampleDesignationDetailSection
;
103 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.SequenceContigFileCollectionDetailSection
;
104 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.SequenceGeneralDetailSection
;
105 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.SequenceReferenceCollectionDetailSection
;
106 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.SingleReadGeneralDetailSection
;
107 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.SingleReadPherogramCollectionDetailSection
;
108 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
.TissueSampleGeneralDetailSection
;
109 import eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.media
.MediaSpecimenGeneralDetailSection
;
110 import eu
.etaxonomy
.taxeditor
.ui
.section
.reference
.NomenclaturalReferenceDetailSection
;
111 import eu
.etaxonomy
.taxeditor
.ui
.section
.reference
.ReferenceDetailSection
;
112 import eu
.etaxonomy
.taxeditor
.ui
.section
.supplemental
.RightsSection
;
113 import eu
.etaxonomy
.taxeditor
.ui
.section
.supplemental
.identifier
.DerivedUnitFacadeIdentifierSection
;
114 import eu
.etaxonomy
.taxeditor
.ui
.section
.taxon
.ParsingMessagesSection
;
115 import eu
.etaxonomy
.taxeditor
.ui
.section
.taxon
.TaxonBaseDetailSection
;
116 import eu
.etaxonomy
.taxeditor
.ui
.section
.taxon
.TaxonRelationshipDetailSection
;
117 import eu
.etaxonomy
.taxeditor
.ui
.section
.user
.GroupsByUserDetailSection
;
118 import eu
.etaxonomy
.taxeditor
.ui
.section
.user
.UserDetailSection
;
119 import eu
.etaxonomy
.taxeditor
.ui
.section
.userecords
.UseRecordDetailSection
;
120 import eu
.etaxonomy
.taxeditor
.ui
.section
.vocabulary
.TermVocabularyDetailSection
;
121 import eu
.etaxonomy
.taxeditor
.view
.detail
.DetailsViewPart
;
122 import eu
.etaxonomy
.taxeditor
.view
.e4
.AbstractCdmDataViewerE4
;
126 * The DetailsViewer handles the content of the details view (
127 * {@link DetailsViewPart}).<br>
128 * Depending on the type of the selected element the section of the details view
135 public class DetailsViewerE4
extends AbstractCdmDataViewerE4
{
137 private ISelection selection
;
138 private boolean detailsEnabled
= true;
140 public void setInput(Object input
, Object activePart
) {
141 if (activePart
instanceof IDistributionEditor
){
142 detailsEnabled
= false;
144 detailsEnabled
= true;
148 detailsEnabled
= true;
150 // START HACK TO MAKE THE DERIVED UNIT FACADE WORK
151 // since we are getting implementations of DerivedUnitBase from the bulk
153 // and not derived unit facade objects,
156 public void setInput(Object input
) {
158 if(input
instanceof TreeNode
){
159 input
= ((TreeNode
) input
).getValue();
161 if(input
instanceof GbifResponse
){
162 input
= ((GbifResponse
) input
).getDerivedUnitFacade();
164 if(input
instanceof FeatureNode
165 && HibernateProxyHelper
.isInstanceOf(((FeatureNode
) input
).getFeature(), Character
.class)){
166 input
= HibernateProxyHelper
.deproxy(((FeatureNode
) input
).getFeature(), Character
.class);
168 if (input
!=null && input
.getClass().equals(DerivedUnit
.class)) {
169 DerivedUnit derivedUnit
= (DerivedUnit
)input
;
171 input
= DerivedUnitFacade
.NewInstance(derivedUnit
,
172 PreferencesUtil
.getDerivedUnitConfigurator());
173 } catch (DerivedUnitFacadeNotSupportedException e
) {
174 // MessagingUtils.error(getClass(), e); //nothing should happen, later on the Details View will show an according information that it is not possible to open this data
177 else if(input
instanceof FieldUnit
){
178 input
= DerivedUnitFacade
.NewInstance(SpecimenOrObservationType
.FieldUnit
, (FieldUnit
) input
);
180 super.setInput(input
);
184 protected void markViewPartDirty() {
185 if (getInput() instanceof DerivedUnitFacade
) {
186 DerivedUnitFacade facade
= (DerivedUnitFacade
) getInput();
187 if(facade
.innerDerivedUnit()!=null){
188 part
.changed(facade
.innerDerivedUnit());
190 else if(facade
.innerFieldUnit()!=null){
191 part
.changed(facade
.innerFieldUnit());
195 super.markViewPartDirty();
201 protected void showParts() {
202 // FIXME (CM) : Need to clean out this code.
203 // Too much type checking to decide which detail view to display.
204 // Need to build in a mechanism where navigators / editors are 'aware'
205 // of the corresponding detail viewer.
207 Object input
= getInput();
210 if (input
instanceof TaxonBase
) {
211 if(((TaxonBase
) input
).getName()==null){
212 createEmptySection(rootElement
);
215 createTaxonSections(rootElement
);
218 } else if (input
instanceof TaxonName
) {
219 createNameSections(rootElement
);
221 } else if (input
instanceof Reference
) {
222 createReferenceSections(rootElement
);
224 } else if (input
instanceof Team
) {
225 createTeamDetailSection(rootElement
);
227 } else if (input
instanceof Person
) {
228 createPersonDetailSection(rootElement
);
230 } else if (input
instanceof TeamOrPersonBase
) {
231 createTeamOrPersonBaseDetailSection(rootElement
);
233 } else if (input
instanceof DescriptionBase
) {
234 if(input
instanceof SpecimenDescription
){
235 //TODO: add more sections to DetailsView for SpecimenDescription
236 createSpecimenDescriptionSection(rootElement
);
239 Set
<Marker
> descriptionMarkers
= ((DescriptionBase
<?
>) input
).getMarkers();
241 Boolean isUseDescription
= false;
242 for (Marker marker
: descriptionMarkers
) {
243 if (marker
.getMarkerType()!= null && marker
.getMarkerType().getUuid().equals(UsageTermCollection
.uuidUseMarkerType
)) {
244 isUseDescription
= true;
247 if (((DescriptionBase
<?
>) input
).isImageGallery()) {
248 createImageGallerySection(rootElement
);
250 } else if (isUseDescription
) {
251 createUseDescriptionSection(rootElement
);
253 createDescriptionSection(rootElement
);
257 } else if (input
instanceof DescriptionElementBase
){
258 Set
<Marker
> descriptionMarkers
= new HashSet
<>();
259 if(((DescriptionElementBase
) input
).getInDescription()!=null) {
260 descriptionMarkers
= ((DescriptionElementBase
) input
).getInDescription().getMarkers();
263 Boolean isUseDescription
= false;
264 for (Marker marker
: descriptionMarkers
) {
265 if (marker
.getMarkerType()!= null && marker
.getMarkerType().getUuid().equals(UsageTermCollection
.uuidUseMarkerType
)) {
266 isUseDescription
= true;
270 if (isUseDescription
== true && input
instanceof CategoricalData
) {
271 createUseRecordSection(rootElement
);
273 createDescriptionElementSection(rootElement
);
276 } else if (input
instanceof Media
) {
277 createMediaElementSection(rootElement
);
279 } else if (input
instanceof DerivedUnitFacade
) {
280 if(((DerivedUnitFacade
) input
).getType()==SpecimenOrObservationType
.FieldUnit
){
281 if(((DerivedUnitFacade
) input
).innerFieldUnit()==null){
282 MessagingUtils
.error(DetailsViewerE4
.class, "FieldUnit of facade is null", null);
285 createFieldUnitSection(rootElement
);
288 else if(((DerivedUnitFacade
) input
).getType()==SpecimenOrObservationType
.PreservedSpecimen
){
289 if(((DerivedUnitFacade
) input
).innerDerivedUnit()==null){
290 MessagingUtils
.error(DetailsViewerE4
.class, "DerivedUnit of facade is null", null);
293 createDerivedUnitBaseElementSection(rootElement
);
296 else if(((DerivedUnitFacade
) input
).getType()==SpecimenOrObservationType
.TissueSample
){
297 //TissueSample should only be created by using it's own class
298 //in future using only one class with different SpecimenOrObservationTypes is desired
299 createTissueSampleSection(rootElement
);
302 createDerivedUnitBaseElementSection(rootElement
);
304 } else if (input
instanceof DnaSample
){
305 DnaSample dnaSample
= (DnaSample
)input
;
306 if(dnaSample
.getRecordBasis()==SpecimenOrObservationType
.TissueSample
){
307 createTissueSampleSection(rootElement
);
309 else if(dnaSample
.getRecordBasis()==SpecimenOrObservationType
.DnaSample
){
310 createDnaSampleSection(rootElement
);
312 } else if (input
instanceof MediaSpecimen
){
313 createMediaSpecimenSection(rootElement
);
315 else if(input
instanceof Sequence
){
316 createSequenceSection(rootElement
);
318 else if(input
instanceof SingleRead
){
319 createSingleReadSection(rootElement
);
321 else if (input
instanceof FeatureNodeContainer
) {
322 createFeatureDistributionSection(rootElement
);
324 }else if (input
instanceof Character
) {
325 createCharacterSection(rootElement
);
327 }else if ((input
instanceof PolytomousKeyNode
) || (input
instanceof PolytomousKeyRelationship
)) {
328 createPolytomousKeyNodeSection(rootElement
);
329 } else if (input
instanceof User
) {
330 createUserSection(rootElement
);
331 } else if (input
instanceof Group
) {
332 createGroupSection(rootElement
);
333 } else if (input
instanceof TaxonRelationship
&& ((TaxonRelationship
)input
).getType()!=null
334 && ((TaxonRelationship
)input
).getType().equals(TaxonRelationshipType
.MISAPPLIED_NAME_FOR())) {
335 createMisappliedNameSection(rootElement
);
336 }else if (input
instanceof TaxonRelationship
) {
337 createTaxonRelationshipSection(rootElement
);
338 } else if (input
instanceof TermVocabulary
) {
339 createTermVocabularySection(rootElement
);
340 } else if (input
instanceof DefinedTermBase
) {
341 createDefinedTermSection(rootElement
);
343 } else if (input
instanceof SelectionChangedEvent
) {
344 IStructuredSelection sel
=(IStructuredSelection
) ((SelectionChangedEvent
)input
).getSelection();
345 if (sel
.getFirstElement()instanceof Distribution
){
346 createDescriptionElementSection(rootElement
);
349 // createDescriptionElementSection(rootElement);
352 createEmptySection(rootElement
);
358 private void createGroupSection(RootElement parent
) {
361 GroupDetailSection groupDetailSection
= formFactory
.createGroupDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
362 MemberDetailSection memberDetailSection
= formFactory
.createMemberDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
363 GrantedAuthorityDetailSection grantedAuthorityDetailSection
= formFactory
.createGrantedAuthorityDetailSection(getConversationHolder(), parent
,ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
365 addPart(groupDetailSection
);
366 addPart(memberDetailSection
);
367 addPart(grantedAuthorityDetailSection
);
372 public ISelection
getSelection() {
378 public void setSelection(ISelection selection
, boolean reveal
) {
380 this.selection
= selection
;
382 if(this.selection
!=null){
383 SelectionChangedEvent selectionChangedEvent
= new SelectionChangedEvent(this, selection
);
384 fireSelectionChanged(selectionChangedEvent
);
389 private void createTaxonSections(RootElement parent
) {
392 ParsingMessagesSection parsingMessagesSection
= formFactory
.createParsingMessagesSection(getConversationHolder(), parent
, this,
393 ExpandableComposite
.EXPANDED
| ExpandableComposite
.EXPANDED
);
394 if (!PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
)){
395 TaxonBaseDetailSection taxonBaseDetailSection
= formFactory
.createTaxonBaseDetailSection(getConversationHolder(), parent
, this,
396 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
397 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
398 addPart(taxonBaseDetailSection
);
400 if (PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_TAXON
)){
401 TaxonBaseDetailSection taxonBaseDetailSection
= formFactory
.createTaxonBaseDetailSection(getConversationHolder(), parent
, this,
402 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
403 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
405 addPart(taxonBaseDetailSection
);
408 NonViralNameDetailSection nonViralNameSection
= formFactory
409 .createNonViralNameDetailSection(getConversationHolder(), parent
, this, true,
410 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
411 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
412 if (!PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) || (PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) && PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_REFERENCE
))){
413 NomenclaturalReferenceDetailSection referenceDetailSection
= formFactory
.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent
, this,
414 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
415 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
416 addPart(referenceDetailSection
);
419 if ( !PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) || (PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) && PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NOMENCLATURAL_STATUS
))){
420 NomenclaturalStatusSection nomenclaturalStatusSection
= formFactory
.createNomenclaturalStatusSection(getConversationHolder(), parent
,
421 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
422 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
423 addPart(nomenclaturalStatusSection
);
426 if (!PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) || (PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) && PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_PROTOLOGUE
))){
427 ProtologueSection protologSection
= formFactory
.createProtologueSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
428 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
429 addPart(protologSection
);
432 if (!PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) || (PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) && PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION
))){
433 TypeDesignationSection typeDesignationSection
= formFactory
.createTypeDesignationSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
434 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
435 addPart(typeDesignationSection
);
438 if (!PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) || (PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_SIMPLE_NAME_DETAILS_SECTION
) && PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.SHOW_NAME_DETAILS_SECTION_NAME_RELATIONSHIP
))){
439 NameRelationshipDetailSection nameRelationshipSection
= formFactory
.createNameRelationshipDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
440 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
441 addPart(nameRelationshipSection
);
445 addPart(parsingMessagesSection
);
447 addPart(nonViralNameSection
);
451 private void createNameSections(RootElement parent
) {
453 NonViralNameDetailSection nonViralNameSection
= formFactory
.createNonViralNameDetailSection(
454 getConversationHolder(), parent
, this, false, ExpandableComposite
.TWISTIE
455 | ExpandableComposite
.EXPANDED
);
457 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
459 NomenclaturalReferenceDetailSection referenceDetailSection
= formFactory
.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent
, this,
460 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
461 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
463 NomenclaturalStatusSection nomenclaturalStatusSection
= formFactory
.createNomenclaturalStatusSection(getConversationHolder(), parent
,
464 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
465 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
467 addPart(nonViralNameSection
);
468 addPart(nomenclaturalStatusSection
);
469 addPart(referenceDetailSection
);
471 ProtologueSection protologSection
= formFactory
.createProtologueSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
472 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
474 TypeDesignationSection typeDesignationSection
= formFactory
.createTypeDesignationSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
475 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
477 NameRelationshipDetailSection nameRelationshipSection
= formFactory
.createNameRelationshipDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
478 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
479 addPart(protologSection
);
480 addPart(typeDesignationSection
);
481 addPart(nameRelationshipSection
);
485 private void createReferenceSections(RootElement parent
) {
488 ReferenceDetailSection referenceDetailSection
= formFactory
.createReferenceDetailSection(getConversationHolder(), parent
, this,
489 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
491 addPart(referenceDetailSection
);
494 private void createTeamOrPersonBaseDetailSection(RootElement parent
) {
496 TeamOrPersonBaseDetailSection teamOrPersonBaseDetailSection
= formFactory
.createTeamOrPersonBaseDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
498 addPart(teamOrPersonBaseDetailSection
);
501 private void createTeamDetailSection(RootElement parent
) {
503 TeamDetailSection teamDetailSection
= formFactory
.createTeamDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
505 addPart(teamDetailSection
);
508 private void createPersonDetailSection(RootElement parent
) {
510 PersonDetailSection personDetailSection
= formFactory
.createPersonDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
511 addPart(personDetailSection
);
514 private void createDescriptionElementSection(RootElement parent
) {
517 DescriptionElementDetailSection descriptionElementDetailSection
= formFactory
.createDescriptionElementDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
518 descriptionElementDetailSection
.setEnabled(this.detailsEnabled
);
520 // IntextReferenceSection intextReferenceSection = formFactory.createIntextReferenceSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
522 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
524 DescriptionElementSourceSection descriptionElementSourceSection
= formFactory
.createDescriptionElementSourceSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
526 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
528 DescriptionElementMediaSection descriptionElementMediaSection
= formFactory
.createDescriptionElementMediaSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
530 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
532 addPart(descriptionElementDetailSection
);
533 addPart(descriptionElementSourceSection
);
534 addPart(descriptionElementMediaSection
);
537 private void createDescriptionSection(RootElement parent
) {
539 DescriptionDetailSection descriptionDetailSection
= formFactory
.createDescriptionDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
541 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
543 NaturalLanguageSection naturalLanguageSection
= formFactory
.createNaturalLanguageSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
545 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
547 // DescribedSpecimenSection describedSpecimenSection = formFactory.createDescribedSpecimenSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
549 // formFactory.createHorizontalSeparator(parent, SWT.BORDER);
551 // DescriptionSourceSection descriptionSourceSection = (DescriptionSourceSection) formFactory
552 // .createEntityDetailSection(EntityDetailType.DESCRIPTIONSOURCE,
553 // getConversationHolder(), parent, Section.TWISTIE);
555 // formFactory.createHorizontalSeparator(parent, SWT.BORDER);
557 ScopeSection scopeSection
= formFactory
.createScopeSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
559 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
561 addPart(descriptionDetailSection
);
562 addPart(naturalLanguageSection
);
563 // addPart(describedSpecimenSection);
564 // addPart(descriptionSourceSection);
565 addPart(scopeSection
);
568 private void createSpecimenDescriptionSection(RootElement parent
) {
570 DescriptionDetailSection descriptionDetailSection
= formFactory
.createDescriptionDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
571 addPart(descriptionDetailSection
);
574 private void createUseDescriptionSection(RootElement parent
) {
576 DescriptionDetailSection descriptionDetailSection
= formFactory
.createDescriptionDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
578 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
580 DescriptionSourceSection descriptionSourceSection
= formFactory
.createDescriptionSourceSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
582 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
584 addPart(descriptionDetailSection
);
585 addPart(descriptionSourceSection
);
589 private void createImageGallerySection(RootElement parent
) {
591 DescriptionDetailSection descriptionDetailSection
= formFactory
.createDescriptionDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
593 addPart(descriptionDetailSection
);
596 private void createMediaElementSection(RootElement parent
) {
599 MediaDetailsSection mediaDetailSection
= formFactory
.createMediaDetailsSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
601 addPart(mediaDetailSection
);
604 private void createDerivedUnitBaseElementSection(RootElement parent
) {
607 DerivedUnitGeneralDetailSection derivedUnitGeneralDetailSection
= formFactory
.createDerivedUnitGeneralDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
608 //TODO for DerivateEditor do not use facade anymore to avoid this special case handling #4539
609 if(!(AbstractUtility
.getActivePart() instanceof IDerivedUnitFacadePart
)){
610 derivedUnitGeneralDetailSection
.setShowOnlyDerivedUnitData(true);
612 addPart(derivedUnitGeneralDetailSection
);
614 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
616 DerivedUnitBaseDetailSection derivedUnitBaseDetailSection
= formFactory
.createDerivedUnitBaseDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
617 addPart(derivedUnitBaseDetailSection
);
619 //for editors working with facades
620 if(AbstractUtility
.getActivePart() instanceof IDerivedUnitFacadePart
){
621 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
622 GatheringEventDetailSection gatheringEventDetailSection
= formFactory
.createGatheringEventDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
);
623 addPart(gatheringEventDetailSection
);
625 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
626 FieldUnitDetailSection fieldUnitDetailSection
= formFactory
.createFieldUnitDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
);
627 addPart(fieldUnitDetailSection
);
631 if(PreferencesUtil
.isShowTaxonAssociations()){
632 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
633 TaxonAssociationDetailSection taxonAssociationDetailSection
= formFactory
.createTaxonAssociationDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
634 addPart(taxonAssociationDetailSection
);
636 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
637 DerivedUnitFacadeIdentifierSection identifierDetailSection
= formFactory
.createDerivedUnitFacadeIdentifierSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
638 addPart(identifierDetailSection
);
640 if(!PreferencesUtil
.isDeterminationOnlyForFieldUnits()){
641 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
642 DeterminationDetailSection determinationDetailSection
= formFactory
.createDeterminationDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
);
643 addPart(determinationDetailSection
);
646 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
647 DerivedUnitTypeDesignationSection derivedUnitTypeDesignationSection
= formFactory
.createDerivedUnitTypeDesignationSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
);
648 addPart(derivedUnitTypeDesignationSection
);
652 private void createFieldUnitSection(RootElement parent
) {
655 FieldUnitGeneralDetailSection fielUnitGeneralDetailSection
= formFactory
.createFieldUnitGeneralDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
657 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
659 GatheringEventDetailSection gatheringEventDetailSection
= formFactory
.createGatheringEventDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
);
661 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
663 FieldUnitDetailSection fieldUnitDetailSection
= formFactory
.createFieldUnitDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
);
665 addPart(fielUnitGeneralDetailSection
);
666 addPart(gatheringEventDetailSection
);
667 addPart(fieldUnitDetailSection
);
669 if(PreferencesUtil
.isDeterminationOnlyForFieldUnits()){
670 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
671 DeterminationDetailSection determinationDetailSection
= formFactory
.createDeterminationDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
);
672 addPart(determinationDetailSection
);
676 private void createTissueSampleSection(RootElement parent
) {
679 TissueSampleGeneralDetailSection section
= formFactory
.createTissueSampleGeneralDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
681 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
683 SampleDesignationDetailSection sampleDesignationDetailSection
= formFactory
.createSampleDesignationDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
686 addPart(sampleDesignationDetailSection
);
689 private void createDnaSampleSection(RootElement parent
) {
692 DnaSampleGeneralDetailSection section
= formFactory
.createDnaSampleGeneralDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
694 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
696 DnaSamplePreparationPreservationSection preparationPreservationSection
= formFactory
.createDnaSamplePreparationPreservationSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
698 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
700 DnaQualityDetailSection qualitySection
= formFactory
.createDnaQualityDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
702 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
704 SampleDesignationDetailSection sampleDesignationDetailSection
= formFactory
.createSampleDesignationDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
707 addPart(preparationPreservationSection
);
708 addPart(qualitySection
);
709 addPart(sampleDesignationDetailSection
);
712 private void createSequenceSection(RootElement parent
) {
715 SequenceGeneralDetailSection section
= formFactory
.createSequenceGeneralDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
717 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
719 SequenceReferenceCollectionDetailSection referenceSection
= formFactory
.createSequenceReferenceCollectionDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
721 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
723 SequenceContigFileCollectionDetailSection contigFileSection
= formFactory
.createSequenceContigFileCollectionDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
727 addPart(referenceSection
);
728 addPart(contigFileSection
);
731 private void createSingleReadSection(RootElement parent
) {
734 SingleReadGeneralDetailSection section
= formFactory
.createSingleReadGeneralDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
737 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
739 SingleReadPherogramCollectionDetailSection pherogramSection
= formFactory
.createSingleReadPherogramCollectionDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
740 addPart(pherogramSection
);
744 private void createMediaSpecimenSection(RootElement parent
) {
747 MediaSpecimenGeneralDetailSection generalSection
= formFactory
.createMediaSpecimenGeneralDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
748 addPart(generalSection
);
750 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
752 RightsSection rightsSection
= formFactory
.createRightsSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
753 addPart(rightsSection
);
757 private void createFeatureDistributionSection(RootElement parent
) {
760 FeatureDistributionDetailSection featureDistributionSection
= formFactory
.createFeatureDistributionDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
762 addPart(featureDistributionSection
);
765 private void createCharacterSection(RootElement parent
) {
768 CharacterDetailSection featureDistributionSection
= formFactory
.createCharacterDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
770 addPart(featureDistributionSection
);
773 private void createPolytomousKeyNodeSection(RootElement parent
) {
776 PolytomousKeyDetailSection polytomousKeyDetailSection
= formFactory
.createPolytomousKeyDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
);
778 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
780 PolytomousKeyNodeDetailSection polytomousKeyNodeDetailSection
= formFactory
.createPolytomousKeyNodeDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
782 addPart(polytomousKeyDetailSection
);
783 addPart(polytomousKeyNodeDetailSection
);
787 private void createUseRecordSection(RootElement parent
) {
790 UseRecordDetailSection descriptionUseRecordSection
= formFactory
.createUseRecordDetailSection(getConversationHolder(), parent
, this,ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
792 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
794 addPart(descriptionUseRecordSection
);
799 private void createUserSection(RootElement parent
) {
802 UserDetailSection userDetailSection
= formFactory
.createUserDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
804 GroupsByUserDetailSection groupByUserDetailSection
= formFactory
.createGroupsByUserDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
806 addPart(userDetailSection
);
807 addPart(groupByUserDetailSection
);
810 private void createMisappliedNameSection(RootElement parent
) {
813 TaxonRelationshipDetailSection taxonRelationshipDetailSection
= formFactory
.createTaxonRelationshipDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
815 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
817 addPart(taxonRelationshipDetailSection
);
819 NonViralNameDetailSection nonViralNameSection
= formFactory
820 .createNonViralNameDetailSection(getConversationHolder(), parent
, this, true,
821 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
822 addPart(nonViralNameSection
);
824 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
826 NomenclaturalReferenceDetailSection referenceDetailSection
= formFactory
.createNomenclaturalReferenceDetailSection(getConversationHolder(), parent
, this,
827 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
828 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
829 addPart(referenceDetailSection
);
832 NomenclaturalStatusSection nomenclaturalStatusSection
= formFactory
.createNomenclaturalStatusSection(getConversationHolder(), parent
,
833 ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
834 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
835 addPart(nomenclaturalStatusSection
);
837 ProtologueSection protologSection
= formFactory
.createProtologueSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
838 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
839 addPart(protologSection
);
841 TypeDesignationSection typeDesignationSection
= formFactory
.createTypeDesignationSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
842 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
843 addPart(typeDesignationSection
);
845 NameRelationshipDetailSection nameRelationshipSection
= formFactory
.createNameRelationshipDetailSection(getConversationHolder(), parent
, ExpandableComposite
.TWISTIE
);
846 formFactory
.createHorizontalSeparator(parent
, SWT
.BORDER
);
847 addPart(nameRelationshipSection
);
851 private void createTaxonRelationshipSection(RootElement parent
) {
854 TaxonRelationshipDetailSection taxonRelationshipDetailSection
= formFactory
.createTaxonRelationshipDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
856 ReferencedEntityDetailSection referencedEntityBaseDetailSection
= formFactory
.createReferencedEntityDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
857 addPart(taxonRelationshipDetailSection
);
858 addPart(referencedEntityBaseDetailSection
);
860 private void createTermVocabularySection(RootElement parent
) {
863 TermVocabularyDetailSection termVocabularyDetailSection
= formFactory
.createTermVocabularyDetailSection(getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
864 addPart(termVocabularyDetailSection
);
867 private void createDefinedTermSection(RootElement parent
) {
870 AbstractFormSection
<?
> definedTermDetailSection
= formFactory
.createDefinedTermDetailSection(getInput().getClass(), getConversationHolder(), parent
, this, ExpandableComposite
.TWISTIE
| ExpandableComposite
.EXPANDED
);
871 addPart(definedTermDetailSection
);
875 public void update(CdmDataChangeMap arg0
) {