3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.ui
.section
.agent
;
13 import java
.util
.Arrays
;
15 import org
.eclipse
.ui
.forms
.widgets
.Section
;
17 import eu
.etaxonomy
.cdm
.model
.agent
.Team
;
18 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
;
19 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
.EntityDetailType
;
20 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmPropertyChangeEvent
;
21 import eu
.etaxonomy
.taxeditor
.ui
.forms
.ICdmFormElement
;
22 import eu
.etaxonomy
.taxeditor
.ui
.forms
.ToggleableTextElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
27 * TeamDetailElement class.
31 * @created Apr 26, 2010
34 public class TeamDetailElement
extends AbstractCdmDetailElement
<Team
> {
36 private ToggleableTextElement toggleable_cache
;
38 private ToggleableTextElement toggleable_nomenclaturalTitleCache
;
40 private TeamMemberSection section_teamMembers
;
44 * Constructor for TeamDetailElement.
47 * @param cdmFormFactory
48 * a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
51 * a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
56 public TeamDetailElement(CdmFormFactory cdmFormFactory
,
57 ICdmFormElement formElement
, int style
) {
58 super(cdmFormFactory
, formElement
);
63 protected void createControls(ICdmFormElement formElement
, Team entity
,
66 toggleable_cache
= formFactory
.createToggleableTextField(formElement
,
67 "Title Cache", entity
.getTitleCache(),
68 entity
.isProtectedTitleCache(), style
);
69 toggleable_nomenclaturalTitleCache
= formFactory
70 .createToggleableTextField(formElement
, "Nom. Title",
71 entity
.getNomenclaturalTitle(),
72 entity
.isProtectedNomenclaturalTitleCache(), style
);
73 section_teamMembers
= (TeamMemberSection
) formFactory
74 .createEntityDetailSection(EntityDetailType
.TEAMMEMBER
,
75 getConversationHolder(), formElement
, Section
.EXPANDED
);
76 section_teamMembers
.setLayoutData(CdmFormFactory
77 .FILL_HORIZONTALLY(2, 1));
82 protected void updateContent() {
83 super.updateContent();
85 toggleable_cache
.setEnabled(getEntity().isProtectedTitleCache());
86 toggleable_nomenclaturalTitleCache
.setEnabled(getEntity()
87 .isProtectedNomenclaturalTitleCache());
89 toggleable_cache
.getState(),
90 Arrays
.asList(new Object
[] { toggleable_cache
,
91 toggleable_nomenclaturalTitleCache
}));
93 section_teamMembers
.setEntity(getEntity());
99 public void handleEvent(Object eventSource
) {
100 if (eventSource
== toggleable_cache
) {
101 getEntity().setTitleCache(toggleable_cache
.getText(),
102 toggleable_cache
.getState());
103 // setEnabled(! toggleable_cache.getState(), Arrays.asList(new
104 // Object[]{toggleable_cache}));
105 setIrrelevant(toggleable_cache
.getState(),
106 Arrays
.asList(new Object
[] { toggleable_cache
}));
107 } else if (eventSource
== toggleable_nomenclaturalTitleCache
) {
108 getEntity().setNomenclaturalTitle(
109 toggleable_nomenclaturalTitleCache
.getText(),
110 toggleable_nomenclaturalTitleCache
.getState());
111 // setEnabled(! toggleable_nomenclaturalTitleCache.getState(),
112 // Arrays.asList(new Object[]{toggleable_nomenclaturalTitleCache}));
114 toggleable_nomenclaturalTitleCache
.getState(),
115 Arrays
.asList(new Object
[] { toggleable_nomenclaturalTitleCache
}));
116 } else if (eventSource
== section_teamMembers
) {
117 toggleable_cache
.setText(getEntity().getTitleCache());
118 toggleable_nomenclaturalTitleCache
.setText(getEntity()
119 .getNomenclaturalTitle());
122 firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));