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
.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
.forms
.CdmFormFactory
;
19 import eu
.etaxonomy
.taxeditor
.forms
.CdmFormFactory
.EntityDetailType
;
20 import eu
.etaxonomy
.taxeditor
.forms
.ICdmFormElement
;
21 import eu
.etaxonomy
.taxeditor
.forms
.ToggleableTextElement
;
22 import eu
.etaxonomy
.taxeditor
.section
.AbstractCdmDetailElement
;
25 * <p>TeamDetailElement class.</p>
28 * @created Apr 26, 2010
31 public class TeamDetailElement
extends AbstractCdmDetailElement
<Team
> {
33 private ToggleableTextElement toggleable_cache
;
35 private ToggleableTextElement toggleable_nomenclaturalTitleCache
;
37 private TeamMemberSection section_teamMembers
;
40 * <p>Constructor for TeamDetailElement.</p>
42 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
43 * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
46 public TeamDetailElement(CdmFormFactory cdmFormFactory
,
47 ICdmFormElement formElement
, int style
) {
48 super(cdmFormFactory
, formElement
);
54 protected void createControls(
55 ICdmFormElement formElement
,
56 Team entity
, int style
) {
58 toggleable_cache
= formFactory
.createToggleableTextField(formElement
, "Title Cache", entity
.getTitleCache(), entity
.isProtectedTitleCache(), style
);
59 toggleable_nomenclaturalTitleCache
= formFactory
.createToggleableTextField(formElement
, "Nom. Title", entity
.getNomenclaturalTitle(), entity
.isProtectedNomenclaturalTitleCache(), style
);
60 section_teamMembers
= (TeamMemberSection
) formFactory
.createEntityDetailSection(EntityDetailType
.TEAMMEMBER
, getConversationHolder(), formElement
, Section
.EXPANDED
);
61 section_teamMembers
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY(2, 1));
66 protected void updateContent() {
67 super.updateContent();
69 toggleable_cache
.setEnabled(getEntity().isProtectedTitleCache());
70 toggleable_nomenclaturalTitleCache
.setEnabled(getEntity().isProtectedNomenclaturalTitleCache());
71 setIrrelevant(toggleable_cache
.getState(), Arrays
.asList(new Object
[]{toggleable_cache
, toggleable_nomenclaturalTitleCache
}));
73 section_teamMembers
.setEntity(getEntity());
79 public void handleEvent(Object eventSource
) {
80 if(eventSource
== toggleable_cache
){
81 getEntity().setTitleCache(toggleable_cache
.getText(), toggleable_cache
.getState());
82 // setEnabled(! toggleable_cache.getState(), Arrays.asList(new Object[]{toggleable_cache}));
83 setIrrelevant(toggleable_cache
.getState(), Arrays
.asList(new Object
[]{toggleable_cache
}));
84 }else if(eventSource
== toggleable_nomenclaturalTitleCache
){
85 getEntity().setNomenclaturalTitle(toggleable_nomenclaturalTitleCache
.getText(), toggleable_nomenclaturalTitleCache
.getState());
86 // setEnabled(! toggleable_nomenclaturalTitleCache.getState(), Arrays.asList(new Object[]{toggleable_nomenclaturalTitleCache}));
87 setIrrelevant(toggleable_nomenclaturalTitleCache
.getState(), Arrays
.asList(new Object
[]{toggleable_nomenclaturalTitleCache
}));
88 }else if(eventSource
== section_teamMembers
){
89 toggleable_cache
.setText(getEntity().getTitleCache());
90 toggleable_nomenclaturalTitleCache
.setText(getEntity().getNomenclaturalTitle());