4 package eu
.etaxonomy
.taxeditor
.ui
.selection
;
6 import org
.eclipse
.swt
.events
.SelectionEvent
;
8 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
9 import eu
.etaxonomy
.cdm
.api
.service
.IReferenceService
;
10 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
11 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
12 import eu
.etaxonomy
.taxeditor
.ui
.dialogs
.filteredSelection
.ReferenceSelectionDialog
;
13 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
;
14 import eu
.etaxonomy
.taxeditor
.ui
.forms
.ICdmFormElement
;
17 * <p>ReferenceSelectionElement class.</p>
22 public class ReferenceSelectionElement
extends AbstractSelectionElement
<Reference
>{
25 * <p>Constructor for ReferenceSelectionElement.</p>
27 * @param labelString a {@link java.lang.String} object.
28 * @param selection a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
30 * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
31 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
32 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
34 public ReferenceSelectionElement(CdmFormFactory toolkit
, ConversationHolder conversation
, ICdmFormElement parentElement
, String labelString
,
35 Reference selection
, int style
) {
36 super(toolkit
, conversation
, parentElement
, labelString
, selection
, true, true, true, style
);
40 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
43 public void widgetSelected(SelectionEvent e
) {
44 Reference newSelection
= ReferenceSelectionDialog
.select(getShell(), getConversationHolder(), entity
);
46 Reference freshlyLoadedSelection
= null;
47 if(newSelection
!= null)
48 freshlyLoadedSelection
= CdmStore
.getService(IReferenceService
.class).load(newSelection
.getUuid());
50 setSelectionInternal(freshlyLoadedSelection
);