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
.ExpandableComposite
;
17 import eu
.etaxonomy
.cdm
.model
.agent
.Team
;
18 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
19 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmPropertyChangeEvent
;
20 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
21 import eu
.etaxonomy
.taxeditor
.ui
.element
.LayoutConstants
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.ToggleableTextElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractIdentifiableEntityDetailElement
;
27 * TeamDetailElement class.
31 * @created Apr 26, 2010
34 public class TeamDetailElement
extends AbstractIdentifiableEntityDetailElement
<Team
> {
36 private ToggleableTextElement toggleable_nomenclaturalTitleCache
;
38 private TeamMemberSection section_teamMembers
;
42 * Constructor for TeamDetailElement.
45 * @param cdmFormFactory
46 * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
49 * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
54 public TeamDetailElement(CdmFormFactory cdmFormFactory
,
55 ICdmFormElement formElement
, int style
) {
56 super(cdmFormFactory
, formElement
);
61 protected void createControls(ICdmFormElement formElement
, Team entity
, int style
) {
63 toggleable_cache
= formFactory
.createToggleableTextField(formElement
, "Title Cache", entity
.getTitleCache(), entity
.isProtectedTitleCache(), style
);
64 toggleable_nomenclaturalTitleCache
= formFactory
.createToggleableTextField(formElement
, "Abbrev. Title", entity
.getNomenclaturalTitle(), entity
.isProtectedNomenclaturalTitleCache(), style
);
65 section_teamMembers
= formFactory
.createTeamMemberSection(getConversationHolder(), formElement
, ExpandableComposite
.EXPANDED
);
66 section_teamMembers
.setLayoutData(LayoutConstants
.FILL_HORIZONTALLY(2, 1));
71 protected void updateContent() {
72 super.updateContent();
74 toggleable_cache
.setEnabled(getEntity().isProtectedTitleCache());
75 toggleable_nomenclaturalTitleCache
.setEnabled(getEntity()
76 .isProtectedNomenclaturalTitleCache());
78 toggleable_cache
.getState(),
79 Arrays
.asList(new Object
[] { toggleable_cache
,
80 toggleable_nomenclaturalTitleCache
}));
82 section_teamMembers
.setEntity(getEntity());
88 public void handleEvent(Object eventSource
) {
89 if (eventSource
== toggleable_cache
) {
90 handleToggleableCacheField();
91 } else if (eventSource
== toggleable_nomenclaturalTitleCache
) {
92 getEntity().setNomenclaturalTitle(
93 toggleable_nomenclaturalTitleCache
.getText(),
94 toggleable_nomenclaturalTitleCache
.getState());
96 toggleable_nomenclaturalTitleCache
.getState(),
97 Arrays
.asList(new Object
[] { toggleable_nomenclaturalTitleCache
}));
98 } else if (eventSource
== section_teamMembers
) {
99 toggleable_cache
.setText(getEntity().getTitleCache());
100 toggleable_nomenclaturalTitleCache
.setText(getEntity()
101 .getNomenclaturalTitle());
104 firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));