Merged refactoring from development branch.
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / ui / selection / ReferenceSelectionElement.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.ui.selection;
5
6 import org.eclipse.swt.events.SelectionEvent;
7
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;
15
16 /**
17 * <p>ReferenceSelectionElement class.</p>
18 *
19 * @author n.hofmann
20 * @version $Id: $
21 */
22 public class ReferenceSelectionElement extends AbstractSelectionElement<Reference>{
23
24 /**
25 * <p>Constructor for ReferenceSelectionElement.</p>
26 *
27 * @param labelString a {@link java.lang.String} object.
28 * @param selection a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
29 * @param style a int.
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.
33 */
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);
37 }
38
39 /* (non-Javadoc)
40 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
41 */
42 /** {@inheritDoc} */
43 public void widgetSelected(SelectionEvent e) {
44 Reference newSelection = ReferenceSelectionDialog.select(getShell(), getConversationHolder(), entity);
45
46 Reference freshlyLoadedSelection = null;
47 if(newSelection != null)
48 freshlyLoadedSelection = CdmStore.getService(IReferenceService.class).load(newSelection.getUuid());
49
50 setSelectionInternal(freshlyLoadedSelection);
51 }
52 }