1 package eu
.etaxonomy
.taxeditor
.editor
.view
.derivate
.contextMenu
;
3 import org
.eclipse
.jface
.action
.ContributionItem
;
4 import org
.eclipse
.jface
.action
.IContributionItem
;
5 import org
.eclipse
.swt
.SWT
;
6 import org
.eclipse
.swt
.events
.SelectionAdapter
;
7 import org
.eclipse
.swt
.events
.SelectionEvent
;
8 import org
.eclipse
.swt
.widgets
.Menu
;
9 import org
.eclipse
.swt
.widgets
.MenuItem
;
10 import org
.eclipse
.ui
.IWorkbenchPart
;
11 import org
.eclipse
.ui
.IWorkbenchWindow
;
12 import org
.eclipse
.ui
.PlatformUI
;
13 import org
.eclipse
.ui
.actions
.CompoundContributionItem
;
15 import eu
.etaxonomy
.taxeditor
.editor
.l10n
.Messages
;
16 import eu
.etaxonomy
.taxeditor
.editor
.view
.derivate
.DerivateView
;
17 import eu
.etaxonomy
.taxeditor
.model
.ImageResources
;
20 * Context menu for the SingleReads in the derivate hierarchy.
23 public class ListenToSelectionChangeContextMenu
extends CompoundContributionItem
{
26 protected IContributionItem
[] getContributionItems() {
27 IContributionItem
[] contributionItems
= new IContributionItem
[] {
28 new ContributionItem() {
30 public void fill(Menu menu
, int index
) {
31 final IWorkbenchWindow window
= PlatformUI
.getWorkbench().getActiveWorkbenchWindow();
32 IWorkbenchPart activePart
= window
.getActivePage().getActivePart();
33 if(activePart
instanceof DerivateView
){
34 final DerivateView derivateView
= (DerivateView
) activePart
;
35 MenuItem item
= new MenuItem(menu
, SWT
.NONE
);
36 if(derivateView
.isListenToSelectionChange()){
37 item
.setText(Messages
.ListenToSelectionChangeContextMenu_UNLINK
);
40 item
.setText(Messages
.ListenToSelectionChangeContextMenu_LINK
);
42 item
.setImage(ImageResources
.getImage(ImageResources
.SYNCED
));
43 item
.addSelectionListener(new SelectionAdapterExtension(derivateView
));
48 return contributionItems
;
51 private final class SelectionAdapterExtension
extends SelectionAdapter
{
53 private final DerivateView derivateView
;
55 private SelectionAdapterExtension(DerivateView derivateView
) {
56 this.derivateView
= derivateView
;
60 public void widgetSelected(SelectionEvent e
) {
61 derivateView
.toggleListenToSelectionChange();