Revision f77fd7f6
Added by Patrick Plitzner almost 7 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java | ||
---|---|---|
31 | 31 |
import org.eclipse.jface.viewers.ISelection; |
32 | 32 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
33 | 33 |
import org.eclipse.jface.viewers.IStructuredSelection; |
34 |
import org.eclipse.jface.viewers.SelectionChangedEvent; |
|
35 | 34 |
import org.eclipse.jface.viewers.StructuredSelection; |
36 | 35 |
import org.eclipse.jface.viewers.TreeNode; |
37 | 36 |
import org.eclipse.jface.viewers.TreeSelection; |
... | ... | |
43 | 42 |
import org.eclipse.swt.layout.GridLayout; |
44 | 43 |
import org.eclipse.swt.widgets.Composite; |
45 | 44 |
import org.eclipse.swt.widgets.Tree; |
46 |
import org.eclipse.ui.IEditorPart; |
|
47 | 45 |
import org.eclipse.ui.IMemento; |
48 | 46 |
|
49 | 47 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
... | ... | |
61 | 59 |
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor; |
62 | 60 |
import eu.etaxonomy.taxeditor.editor.l10n.Messages; |
63 | 61 |
import eu.etaxonomy.taxeditor.editor.view.derivate.searchFilter.DerivateSearchCompositeController; |
62 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
|
64 | 63 |
import eu.etaxonomy.taxeditor.model.IContextListener; |
65 | 64 |
import eu.etaxonomy.taxeditor.model.IDirtyMarkable; |
66 | 65 |
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails; |
... | ... | |
215 | 214 |
viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); |
216 | 215 |
viewer.getTree().setEnabled(CdmStore.isActive()); |
217 | 216 |
|
218 |
selectionChangedListener = new ISelectionChangedListener() { |
|
219 |
@Override |
|
220 |
public void selectionChanged(SelectionChangedEvent event) { |
|
221 |
IStructuredSelection isel = (IStructuredSelection) event.getSelection(); |
|
222 |
selService.setSelection((isel.size() == 1 ? isel.getFirstElement() : isel.toArray())); |
|
223 |
} |
|
224 |
}; |
|
217 |
//propagate selection |
|
218 |
selectionChangedListener = (event -> selService.setSelection(AbstractUtility.getElementsFromSelectionChangedEvent(event))); |
|
225 | 219 |
viewer.addSelectionChangedListener(selectionChangedListener); |
226 | 220 |
|
227 | 221 |
//create context menu |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java | ||
---|---|---|
48 | 48 |
import eu.etaxonomy.cdm.model.description.FeatureNode; |
49 | 49 |
import eu.etaxonomy.cdm.model.description.FeatureTree; |
50 | 50 |
import eu.etaxonomy.taxeditor.featuretree.AvailableFeaturesWizard; |
51 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
|
51 | 52 |
import eu.etaxonomy.taxeditor.session.ICdmEntitySession; |
52 | 53 |
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled; |
53 | 54 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
... | ... | |
140 | 141 |
composite.getButton_add().setEnabled(selection.size() <= 1); |
141 | 142 |
composite.getButton_remove().setEnabled(selection.size() > 0); |
142 | 143 |
//propagate selection |
143 |
IStructuredSelection isel = (IStructuredSelection) event.getSelection(); |
|
144 |
selService.setSelection((isel.size() == 1 ? isel.getFirstElement() : isel.toArray())); |
|
144 |
selService.setSelection(AbstractUtility.getElementsFromSelectionChangedEvent(event)); |
|
145 | 145 |
} |
146 | 146 |
|
147 | 147 |
@Focus |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java | ||
---|---|---|
40 | 40 |
import org.eclipse.jface.operation.IRunnableWithProgress; |
41 | 41 |
import org.eclipse.jface.resource.ColorRegistry; |
42 | 42 |
import org.eclipse.jface.resource.FontRegistry; |
43 |
import org.eclipse.jface.viewers.IStructuredSelection; |
|
44 |
import org.eclipse.jface.viewers.SelectionChangedEvent; |
|
43 | 45 |
import org.eclipse.swt.graphics.Color; |
44 | 46 |
import org.eclipse.swt.graphics.Font; |
45 | 47 |
import org.eclipse.swt.widgets.Display; |
... | ... | |
779 | 781 |
} |
780 | 782 |
} |
781 | 783 |
} |
784 |
|
|
785 |
/** |
|
786 |
* @param event |
|
787 |
* @return |
|
788 |
*/ |
|
789 |
public static Object getElementsFromSelectionChangedEvent(SelectionChangedEvent event) { |
|
790 |
IStructuredSelection selection = (IStructuredSelection) event.getSelection(); |
|
791 |
Object selectionToSet; |
|
792 |
if(selection.size() == 1){ |
|
793 |
selectionToSet = selection.getFirstElement(); |
|
794 |
} |
|
795 |
else if(!selection.isEmpty()){ |
|
796 |
selectionToSet = selection.toArray(); |
|
797 |
} |
|
798 |
else{ |
|
799 |
selectionToSet = selection; |
|
800 |
} |
|
801 |
return selectionToSet; |
|
802 |
} |
|
782 | 803 |
} |
Also available in: Unified diff
Fix potential class cast exception during selection handling