Eclipse-RCPのプラグインで作業しています。 TreeViewerを持つ別のプラグインがあり、プラグインからアイテムを選択したいのですが。私はそれにアクセスする方法を知らない、これも可能ですか?別のプラグインからRCPのTreeViewerを取得
私は正しいビューを得ることができると思う:
IViewReference home;
IViewReference [] viewRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
for (int i = 0; i < viewRefs.length; i++) {
if(viewRefs[i].getId()==myid){
home = viewRefs[i];
break;
}
}
しかし、家はTreeViewerではないと私はそれをキャスト傾けます。 TreeViewerはどのように入手できますか?
home.getTreeViewer() //Doesn't work cause of casting issues
私はrcpの初心者ですから、いくつかの説明にはいいと思います。
私はpage.findView(ID)を作る場合、私はお返しにnullを取得しますが、私はそれをデバッグし、ページに表示されることを見ました正しいIDを持つ – Ludy
実際にはビューは実際に開いていますか?開いていなければ、 'showView'を代わりに使う必要があります - 更新された答えを見てください。そのIDを持つビューが開いている場合、findViewは確実に機能します。 –
plugin.xmlのビューの 'org.eclipse.ui.views'宣言と' findView'で使用しているidを教えてください。 –