[uruma-dev:121] アプリケーションの初期化メソッド

杉上洋平 [E-MAIL ADDRESS DELETED]
2008年 3月 21日 (金) 15:22:31 JST


杉上です。

trunkに以下の対応を行いました。
・ URUMA-141: Workbench に対応する初期化を行えるようにする
・ URUMA-140: IWorkbench をアクションへ DI できるようにする
・ URUMA-151: 一度クローズしたビューを再度オープンできるようにする

この3点を使用したサンプルをtunkのRSSにコミットしています。
サンプルの内容は、初期化時にメニューに「ビュー一覧」を追加しています。
ビューをクローズしても、メニューから再度ビューを表示することができます。

WorkbenchWindowAction のソースコード。
configメソッドの設定は、「タブスタイルをEclipse 3.0のようにかっこよくする」のみ
反映されるみたいです。

public class WorkbenchWindowAction {

    /* INJECT */
    public IWorkbenchConfigurer workbenchConfigurer;

    public IActionBarConfigurer actionBarConfigurer;

    public IWorkbenchWindowConfigurer workbenchWindowConfigurer;

    @InitializeMethod
    public void initialize() {
        config();
        createViewMenu();
        createPerspectiveMenu();
    }

    private void config() {
        // ウィンドウの位置・サイズを保存する
        workbenchConfigurer.setSaveAndRestore(true);

        // perspective を切り替える perspective bar を表示
        workbenchWindowConfigurer.setShowPerspectiveBar(true);

        // Eclipse標準の「保存」を使う
//        ActionFactory.SAVE.create( window );

        // Coolbarとperspectivebarを同じ行に配置する
        PlatformUI.getPreferenceStore().setValue(
IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR , "top" );

        // タブスタイルをEclipse 3.0のようにかっこよくする
        PlatformUI.getPreferenceStore().setValue(
IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS , false );
    }

    /**
     *  ビュー メニューを追加する。
     *
     */
    private void createViewMenu() {
        IWorkbenchWindow workbenchWindow =
workbenchWindowConfigurer.getWindow();
        MenuManager showViewMenu = new MenuManager("ビューの表示(&V)");
        showViewMenu.add(ContributionItemFactory.VIEWS_SHORTLIST.create
(workbenchWindow));
        actionBarConfigurer.getMenuManager().add(showViewMenu);
        // 複数のウィンドウが開かれている場合にのみ表示され、
        // ウィンドウの切り替えを行うアクション
        actionBarConfigurer.getMenuManager().add(
ContributionItemFactory.OPEN_WINDOWS.create(workbenchWindow));
    }

    /**
     * パースペクティブ メニューを追加する.
     *
     */
    private void createPerspectiveMenu() {
        IWorkbenchWindow workbenchWindow =
workbenchWindowConfigurer.getWindow();
        IContributionItem perspectivesMenu =
ContributionItemFactory.PERSPECTIVES_SHORTLIST.create(workbenchWindow);
        MenuManager layoutMenu = new MenuManager("パースペクティブの表示(&P)",
"layoutId");
        actionBarConfigurer.getMenuManager().add(layoutMenu);
        layoutMenu.add(perspectivesMenu);
    }
}
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/uruma-dev/attachments/20080321/0e173f0e/attachment.html 


uruma-dev メーリングリストの案内