4 package eu
.etaxonomy
.taxeditor
.forms
;
6 import org
.eclipse
.jface
.util
.IPropertyChangeListener
;
7 import org
.eclipse
.jface
.util
.PropertyChangeEvent
;
8 import org
.eclipse
.swt
.SWT
;
9 import org
.eclipse
.swt
.events
.ModifyEvent
;
10 import org
.eclipse
.swt
.events
.ModifyListener
;
11 import org
.eclipse
.swt
.widgets
.Composite
;
13 import eu
.etaxonomy
.cdm
.model
.common
.DescriptionElementSource
;
18 public class DescriptionElementSourceComposite
extends AbstractFormComposite
implements IPropertyChangeListener
{
20 private DescriptionElementSource source
;
22 private ReferenceSelectionComposite citationSelection
;
23 private TextWithLabelComposite microCitation
;
24 private NameSelectionComposite nameSelection
;
26 protected DescriptionElementSourceComposite(Composite parent
, DescriptionElementSource source
, int style
){
30 citationSelection
= new ReferenceSelectionComposite(this, "Citation", source
.getCitation(), SWT
.NULL
);
31 citationSelection
.addPropertyChangeListener(this);
33 microCitation
= new TextWithLabelComposite(this, "Citation Detail", source
.getCitationMicroReference(), SWT
.NULL
);
34 microCitation
.addPropertyChangeListener(this);
36 nameSelection
= new NameSelectionComposite(this, "Name in Source", source
.getNameUsedInSource(), SWT
.NULL
);
37 nameSelection
.addPropertyChangeListener(this);
44 public DescriptionElementSource
getSource() {
49 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
51 public void propertyChange(PropertyChangeEvent event
) {
52 source
.setCitation(citationSelection
.getSelection());
53 source
.setCitationMicroReference(microCitation
.getText());
54 source
.setNameUsedInSource(nameSelection
.getSelection());
55 firePropertyChangeEvent(event
);