SelectionListener / SelectionProvider Problem

krazun

Bekanntes Mitglied
Tag zusammen,

ich habe in meinem Eclipse RCP Programm 2 Views. In einer View ist ein CommonViewer und in der anderen View möchte ich auf die ausgewählten Objekte des CommonViewer zugreifen. Wenn ich wie in folgendem Beispiel, alles in einer View mache funktioniert es wunderbar.

Java:
	@Override
	public void createPartControl(Composite parent) {
		super.createPartControl(parent);	
		
		CommonViewer viewer = getCommonViewer();
		getSite().setSelectionProvider(viewer);
		getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this);
		
	}

	@Override
	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
		System.out.println(selection);
	}
}

Wenn aber eine andere View ISelectionListener implementiert und sich mit getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this); als Listener anmeldet, kommen keine Events mehr an.

Hat jemand eine Idee woran dies liegen könnte?

mfg,
krazun
 
Hi,

ich hab den Spaß auch schon hinter mir.
Ich hab das auch so gemacht, dass ich im Editor, der das forwarden soll den Provider in createPartControl() angemeldet habe
Code:
getSite().setSelectionProvider(selectionProvider);
und im View den Listener in init() registriert habe.
Code:
getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(selectionListener);

Überprüfe, an welchen Stellen du den Provider und den Listener registriert hast. Das ist mein einziger Tipp den ich dir auf die schnelle geben kann.

Daniel
 

Neue Themen


Zurück
Oben