TreeViewer setSelectionProvider funcționează doar pentru un singur control

Încerc să creez un plugin Eclipse care are un compus cu două TreeViewer unul lângă altul. Am folosit setSelectionProvider() pentru a le înregistra cu Workbench pentru a afișa proprietatea pentru nodul selectat al Treeviewer în vizualizarea proprietății eclipse. Problema cu care mă confrunt este că, la un moment dat, doar 1 TreeViewer poate fi înregistrat pe bancul de lucru. Cum pot rezolva această problemă? Mulțumesc, Tor


person tor    schedule 10.05.2012    source sursă


Răspunsuri (1)


Puteți rezolva acest lucru implementând singur ISelectionProvider și delegând evenimentele de selecție a ambilor arbori ascultătorilor înregistrați. getSelection() ar putea returna ultima selecție care a fost făcută în oricare dintre arborii dvs. Totuși, nu sunt sigur cum setSelection(ISelection selection) ar putea fi implementat într-un mod rezonabil. Probabil l-aș lăsa să arunce un UnsupportedOperationException dacă nu ești sigur că această metodă este de fapt necesară în acest context.

person p12t    schedule 11.05.2012
comment
Bună. Am creat o nouă clasă care implementează interfața ISelectionProvider. Acum, cum să utilizați acest lucru pentru adăugarea componentei furnizorului setselection treeviewer? multumesc, Tor - person tor; 15.05.2012
comment
Îmi pare rău, dar nu am înțeles ce încerci să faci acum. - person p12t; 15.05.2012