import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TreeNode;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IMemento;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.editor.view.derivate.searchFilter.DerivateSearchCompositeController;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.IContextListener;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
viewer.getTree().setEnabled(CdmStore.isActive());
- selectionChangedListener = new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection isel = (IStructuredSelection) event.getSelection();
- selService.setSelection((isel.size() == 1 ? isel.getFirstElement() : isel.toArray()));
- }
- };
+ //propagate selection
+ selectionChangedListener = (event -> selService.setSelection(AbstractUtility.getElementsFromSelectionChangedEvent(event)));
viewer.addSelectionChangedListener(selectionChangedListener);
//create context menu
import eu.etaxonomy.cdm.model.description.FeatureNode;
import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.taxeditor.featuretree.AvailableFeaturesWizard;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
composite.getButton_add().setEnabled(selection.size() <= 1);
composite.getButton_remove().setEnabled(selection.size() > 0);
//propagate selection
- IStructuredSelection isel = (IStructuredSelection) event.getSelection();
- selService.setSelection((isel.size() == 1 ? isel.getFirstElement() : isel.toArray()));
+ selService.setSelection(AbstractUtility.getElementsFromSelectionChangedEvent(event));
}
@Focus
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.FontRegistry;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Display;
}
}
}
+
+ /**
+ * @param event
+ * @return
+ */
+ public static Object getElementsFromSelectionChangedEvent(SelectionChangedEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ Object selectionToSet;
+ if(selection.size() == 1){
+ selectionToSet = selection.getFirstElement();
+ }
+ else if(!selection.isEmpty()){
+ selectionToSet = selection.toArray();
+ }
+ else{
+ selectionToSet = selection;
+ }
+ return selectionToSet;
+ }
}