4 package eu
.etaxonomy
.taxeditor
.forms
.selection
;
6 import org
.eclipse
.swt
.events
.SelectionEvent
;
8 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
9 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceBase
;
10 import eu
.etaxonomy
.taxeditor
.dialogs
.filteredSelection
.FilteredReferenceSelectionDialog
;
11 import eu
.etaxonomy
.taxeditor
.forms
.CdmFormFactory
;
12 import eu
.etaxonomy
.taxeditor
.forms
.ICdmFormElement
;
13 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
16 * <p>ReferenceSelectionElement class.</p>
21 public class ReferenceSelectionElement
extends AbstractSelectionElement
<ReferenceBase
>{
24 * <p>Constructor for ReferenceSelectionElement.</p>
26 * @param labelString a {@link java.lang.String} object.
27 * @param selection a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
29 * @param toolkit a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
30 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
31 * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
33 public ReferenceSelectionElement(CdmFormFactory toolkit
, ConversationHolder conversation
, ICdmFormElement parentElement
, String labelString
,
34 ReferenceBase selection
, int style
) {
35 super(toolkit
, conversation
, parentElement
, labelString
, selection
, true, true, true, style
);
39 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
42 public void widgetSelected(SelectionEvent e
) {
43 ReferenceBase newSelection
= FilteredReferenceSelectionDialog
.select(getShell(), getConversationHolder(), entity
);
45 ReferenceBase freshlyLoadedSelection
= null;
46 if(newSelection
!= null)
47 freshlyLoadedSelection
= CdmStore
.getReferenceService().load(newSelection
.getUuid());
49 setSelectionInternal(freshlyLoadedSelection
);