Project

General

Profile

Download (3.62 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.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.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;
23

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

    
33
	private ToggleableTextElement toggleable_cache;
34

    
35
	private ToggleableTextElement toggleable_nomenclaturalTitleCache;
36

    
37
	private TeamMemberSection section_teamMembers;
38
	
39
	/**
40
	 * <p>Constructor for TeamDetailElement.</p>
41
	 *
42
	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
43
	 * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
44
	 * @param style a int.
45
	 */
46
	public TeamDetailElement(CdmFormFactory cdmFormFactory,
47
			ICdmFormElement formElement, int style) {
48
		super(cdmFormFactory, formElement);
49
	}
50
	
51

    
52
	/** {@inheritDoc} */
53
	@Override
54
	protected void createControls(
55
			ICdmFormElement formElement,
56
			Team entity, int style) {
57
		
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));
62
	}
63
	
64
	/** {@inheritDoc} */
65
	@Override
66
	protected void updateContent() {
67
		super.updateContent();
68
		
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}));
72
		
73
		section_teamMembers.setEntity(getEntity());
74
		
75
	}
76
	
77
	/** {@inheritDoc} */
78
	@Override
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());
91
		}
92
	}
93
}
(4-4/9)