Project

General

Profile

Download (3.64 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
 * Copyright (C) 2007 EDIT
4
 * European Distributed Institute of Taxonomy 
5
 * http://www.e-taxonomy.eu
6
 * 
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.
9
 */
10

    
11
package eu.etaxonomy.taxeditor.ui.section.agent;
12

    
13
import java.util.Arrays;
14

    
15
import org.eclipse.ui.forms.widgets.Section;
16

    
17
import eu.etaxonomy.cdm.model.agent.Team;
18
import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
19
import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.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.AbstractIdentifiableEntityDetailElement;
24

    
25
/**
26
 * <p>
27
 * TeamDetailElement class.
28
 * </p>
29
 * 
30
 * @author n.hoffmann
31
 * @created Apr 26, 2010
32
 * @version 1.0
33
 */
34
public class TeamDetailElement extends AbstractIdentifiableEntityDetailElement<Team> {
35

    
36
	private ToggleableTextElement toggleable_nomenclaturalTitleCache;
37

    
38
	private TeamMemberSection section_teamMembers;
39

    
40
	/**
41
	 * <p>
42
	 * Constructor for TeamDetailElement.
43
	 * </p>
44
	 * 
45
	 * @param cdmFormFactory
46
	 *            a {@link eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade}
47
	 *            object.
48
	 * @param formElement
49
	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement}
50
	 *            object.
51
	 * @param style
52
	 *            a int.
53
	 */
54
	public TeamDetailElement(CdmFormFactoryFacade cdmFormFactory,
55
			ICdmFormElement formElement, int style) {
56
		super(cdmFormFactory, formElement);
57
	}
58

    
59
	/** {@inheritDoc} */
60
	@Override
61
	protected void createControls(ICdmFormElement formElement, Team entity,
62
			int style) {
63

    
64
		toggleable_cache = formFactory.createToggleableTextField(formElement,
65
				"Title Cache", entity.getTitleCache(),
66
				entity.isProtectedTitleCache(), style);
67
		toggleable_nomenclaturalTitleCache = formFactory
68
				.createToggleableTextField(formElement, "Abbrev. Title",
69
						entity.getNomenclaturalTitle(),
70
						entity.isProtectedNomenclaturalTitleCache(), style);
71
		section_teamMembers = (TeamMemberSection) formFactory
72
				.createEntityDetailSection(EntityDetailType.TEAMMEMBER,
73
						getConversationHolder(), formElement, Section.EXPANDED);
74
		section_teamMembers.setLayoutData(CdmFormFactoryFacade
75
				.FILL_HORIZONTALLY(2, 1));
76
	}
77

    
78
	/** {@inheritDoc} */
79
	@Override
80
	protected void updateContent() {
81
		super.updateContent();
82

    
83
		toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
84
		toggleable_nomenclaturalTitleCache.setEnabled(getEntity()
85
				.isProtectedNomenclaturalTitleCache());
86
		setIrrelevant(
87
				toggleable_cache.getState(),
88
				Arrays.asList(new Object[] { toggleable_cache,
89
						toggleable_nomenclaturalTitleCache }));
90

    
91
		section_teamMembers.setEntity(getEntity());
92

    
93
	}
94

    
95
	/** {@inheritDoc} */
96
	@Override
97
	public void handleEvent(Object eventSource) {
98
		if (eventSource == toggleable_cache) {
99
			handleToggleableCacheField();
100
		} else if (eventSource == toggleable_nomenclaturalTitleCache) {
101
			getEntity().setNomenclaturalTitle(
102
					toggleable_nomenclaturalTitleCache.getText(),
103
					toggleable_nomenclaturalTitleCache.getState());
104
			setIrrelevant(
105
					toggleable_nomenclaturalTitleCache.getState(),
106
					Arrays.asList(new Object[] { toggleable_nomenclaturalTitleCache }));
107
		} else if (eventSource == section_teamMembers) {
108
			toggleable_cache.setText(getEntity().getTitleCache());
109
			toggleable_nomenclaturalTitleCache.setText(getEntity()
110
					.getNomenclaturalTitle());
111
		}
112

    
113
		firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
114
	}
115
}
(7-7/12)