2012-05-06 12 views
0

Eclipse RCPアプリケーションをプログラミングしています。 私は左にビューを、右にエディタを持っています。ビューはメニューです。メニューのボタンをクリックすると、エディタが開き、ビューが変更されます。クリック後にエディタが開きますが、ビューは変更されません。Eclipse RCPのアクション後のビューの更新

メニュービューを閉じて新しいビューを開く必要がありますか?はいの場合、どうですか?

page.openEditor(..)の前にpage.showView(ID_of_my_view_class.ID)を書き込むと、表示されたコンソールの横にログが表示されます。

現在のコード:

public Object execute(ExecutionEvent event) throws ExecutionException { 
    this.log.info(this.getClass().getSimpleName() + " called"); 
    IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); 
    IWorkbenchPage page = window.getActivePage(); 
    KuenstlerEditorInput input = new KuenstlerEditorInput(new Kuenstler()); 
    try { 
     page.openEditor(input, KuenstlerEditor.ID); 
    } catch (PartInitException e) { 
     MessageDialog.openError(window.getShell(), "Error", 
       "Editor f¸r K¸nstler konnte nicht geˆffnet werden: " 
         + e.getMessage()); 
     this.log.error(e); 
    } 
    return null; 
} 

私はプログラムを起動すると、それは次のようになります。http://i.imgur.com/KXHAe.png 私はpage.showView(the_ID.ID)コマンドを実行すると、それは次のようになります。http://i.imgur.com/BZ8y1.png

すべてのボタンを含むメニューではなく、ビューが左側に表示されます。

+0

使用している視点は何ですか?独自のパースペクティブがある場合は、パースペクティブが設定されているときにビューの位置を設定できる必要があります。それ以外の場合は、あなたのビューのレイアウト情報をアクティブなパースペクティブに追加できるはずです。 –

+0

あなたの答えをありがとう。コードの下に私の質問を編集しました。 – Baloo

答えて

1

org.eclipse.ui.perspectives拡張ポイントを使用してパースペクティブを作成し、次に作成した名前付きビューの場所を定義できるIPerspectiveFactoryの実装を提供します。

0

プロジェクトのオブジェクトを作成または取得してから、これを実行します。 (ナビゲータビューでのみ動作します) project.refreshLocal(IResource.DEPTH_INFINITE、null);

+0

ビューを閉じて再度開く必要はありません。 – shreyu108

関連する問題