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
.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
.element
.CdmFormFactory
.EntityDetailType
;
24 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractIdentifiableEntityDetailElement
;
28 * TeamDetailElement class.
32 * @created Apr 26, 2010
35 public class TeamDetailElement
extends AbstractIdentifiableEntityDetailElement
<Team
> {
37 private ToggleableTextElement toggleable_nomenclaturalTitleCache
;
39 private TeamMemberSection section_teamMembers
;
43 * Constructor for TeamDetailElement.
46 * @param cdmFormFactory
47 * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
50 * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
55 public TeamDetailElement(CdmFormFactory cdmFormFactory
,
56 ICdmFormElement formElement
, int style
) {
57 super(cdmFormFactory
, formElement
);
62 protected void createControls(ICdmFormElement formElement
, Team entity
,
65 toggleable_cache
= formFactory
.createToggleableTextField(formElement
,
66 "Title Cache", entity
.getTitleCache(),
67 entity
.isProtectedTitleCache(), style
);
68 toggleable_nomenclaturalTitleCache
= formFactory
69 .createToggleableTextField(formElement
, "Abbrev. Title",
70 entity
.getNomenclaturalTitle(),
71 entity
.isProtectedNomenclaturalTitleCache(), style
);
72 section_teamMembers
= (TeamMemberSection
) formFactory
73 .createEntityDetailSection(EntityDetailType
.TEAMMEMBER
,
74 getConversationHolder(), formElement
, Section
.EXPANDED
);
75 section_teamMembers
.setLayoutData(LayoutConstants
76 .FILL_HORIZONTALLY(2, 1));
81 protected void updateContent() {
82 super.updateContent();
84 toggleable_cache
.setEnabled(getEntity().isProtectedTitleCache());
85 toggleable_nomenclaturalTitleCache
.setEnabled(getEntity()
86 .isProtectedNomenclaturalTitleCache());
88 toggleable_cache
.getState(),
89 Arrays
.asList(new Object
[] { toggleable_cache
,
90 toggleable_nomenclaturalTitleCache
}));
92 section_teamMembers
.setEntity(getEntity());
98 public void handleEvent(Object eventSource
) {
99 if (eventSource
== toggleable_cache
) {
100 handleToggleableCacheField();
101 } else if (eventSource
== toggleable_nomenclaturalTitleCache
) {
102 getEntity().setNomenclaturalTitle(
103 toggleable_nomenclaturalTitleCache
.getText(),
104 toggleable_nomenclaturalTitleCache
.getState());
106 toggleable_nomenclaturalTitleCache
.getState(),
107 Arrays
.asList(new Object
[] { toggleable_nomenclaturalTitleCache
}));
108 } else if (eventSource
== section_teamMembers
) {
109 toggleable_cache
.setText(getEntity().getTitleCache());
110 toggleable_nomenclaturalTitleCache
.setText(getEntity()
111 .getNomenclaturalTitle());
114 firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));