including changes from cdmlib-print
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / section / description / DescriptionElementSourceElement.java
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.description;
12
13 import org.apache.log4j.Logger;
14 import org.eclipse.jface.util.PropertyChangeEvent;
15 import org.eclipse.swt.SWT;
16 import org.eclipse.swt.events.SelectionListener;
17
18 import eu.etaxonomy.cdm.model.common.DescriptionElementSource;
19 import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
20 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
21 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
22 import eu.etaxonomy.taxeditor.forms.IEntityElement;
23 import eu.etaxonomy.taxeditor.forms.SelectionArbitrator;
24 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
25 import eu.etaxonomy.taxeditor.forms.selection.NameSelectionElement;
26 import eu.etaxonomy.taxeditor.section.supplemental.AbstractOriginalSourceElement;
27
28 /**
29 * <p>DescriptionElementSourceElement class.</p>
30 *
31 * @author n.hoffmann
32 * @created Nov 16, 2009
33 * @version 1.0
34 * @param <T>
35 */
36 public class DescriptionElementSourceElement extends AbstractOriginalSourceElement<DescriptionElementSource> implements IEntityElement<DescriptionElementSource>{
37
38 private static final Logger logger = Logger
39 .getLogger(DescriptionElementSourceElement.class);
40
41
42 private SelectionArbitrator selectionArbitrator;
43
44 private NameSelectionElement selection_name;
45
46
47 /**
48 * <p>Constructor for DescriptionElementSourceElement.</p>
49 *
50 * @param formElement a {@link eu.etaxonomy.taxeditor.forms.AbstractFormSection} object.
51 * @param element a {@link eu.etaxonomy.cdm.model.common.DescriptionElementSource} object.
52 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
53 * @param style a int.
54 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
55 */
56 public DescriptionElementSourceElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement,
57 DescriptionElementSource element, SelectionListener removeListener, int style) {
58 super(cdmFormFactory, formElement, element, removeListener, style);
59 selectionArbitrator = formFactory.createSelectionArbitrator(this);
60 }
61
62 /* (non-Javadoc)
63 * @see eu.etaxonomy.taxeditor.forms.entitysections.OriginalSourceComposite#createControls(org.eclipse.swt.widgets.Composite, int)
64 */
65 /** {@inheritDoc} */
66 @Override
67 public void createControls(ICdmFormElement formElement, int style) {
68 super.createControls(formElement, style);
69 selection_name = (NameSelectionElement) formFactory.createSelectionElement(SelectionType.NAME, getConversationHolder(), formElement, "Name in Source", null, SWT.NULL);
70 }
71
72 /*
73 * (non-Javadoc)
74 * @see eu.etaxonomy.taxeditor.forms.section.cdmdetail.AbstractOriginalSourceElement#setElement(eu.etaxonomy.cdm.model.common.OriginalSourceBase)
75 */
76 /** {@inheritDoc} */
77 @Override
78 public void setEntity(DescriptionElementSource entity) {
79 super.setEntity(entity);
80 text_idInSource.setText(entity.getIdInSource());
81 text_idNamespace.setText(entity.getIdNamespace());
82
83 selection_reference.setEntity(entity.getCitation());
84 text_referenceDetail.setText(entity.getCitationMicroReference());
85 text_originaleNameString.setText(entity.getOriginalNameString());
86 selection_name.setEntity(entity.getNameUsedInSource());
87 }
88
89
90 /** {@inheritDoc} */
91 public void setSelected(boolean selected) {
92 // TODO Auto-generated method stub
93
94 }
95
96 /*
97 * (non-Javadoc)
98 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
99 */
100 /** {@inheritDoc} */
101 @Override
102 public void handleEvent(Object eventSource) {
103 if(eventSource == text_idInSource){
104 getEntity().setIdInSource(text_idInSource.getText());
105 }
106 else if(eventSource == text_idNamespace){
107 getEntity().setIdNamespace(text_idNamespace.getText());
108 }
109 else if(eventSource == selection_reference){
110 getEntity().setCitation(selection_reference.getSelection());
111 }
112 else if(eventSource == text_referenceDetail){
113 getEntity().setCitationMicroReference(text_referenceDetail.getText());
114 }
115 else if(eventSource == text_originaleNameString){
116 getEntity().setOriginalNameString(text_originaleNameString.getText());
117 }
118 else if(eventSource == selection_name){
119 getEntity().setNameUsedInSource(selection_name.getSelection());
120 }
121 }
122
123 }