Project

General

Profile

Download (3.53 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.ExpandableComposite;
16

    
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;
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.ui.element.CdmFormFactory}
47
	 *            object.
48
	 * @param formElement
49
	 *            a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
50
	 *            object.
51
	 * @param style
52
	 *            a int.
53
	 */
54
	public TeamDetailElement(CdmFormFactory cdmFormFactory,
55
			ICdmFormElement formElement, int style) {
56
		super(cdmFormFactory, formElement);
57
	}
58

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

    
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));
67
    }
68

    
69
	/** {@inheritDoc} */
70
	@Override
71
	protected void updateContent() {
72
		super.updateContent();
73

    
74
		toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
75
		toggleable_nomenclaturalTitleCache.setEnabled(getEntity()
76
				.isProtectedNomenclaturalTitleCache());
77
		setIrrelevant(
78
				toggleable_cache.getState(),
79
				Arrays.asList(new Object[] { toggleable_cache,
80
						toggleable_nomenclaturalTitleCache }));
81

    
82
		section_teamMembers.setEntity(getEntity());
83

    
84
	}
85

    
86
	/** {@inheritDoc} */
87
	@Override
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());
95
			setIrrelevant(
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());
102
		}
103

    
104
		firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
105
	}
106
}
(7-7/12)