Hatena::ブログ(Diary)

Fly me to the Juno! このページをアンテナに追加 RSSフィード

2009-11-29

不要なメニューの隠し方

こんな感じでWorkbenchWindowAdvisor#postWindowOpen()で削除しちゃえば消えちゃった。

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
        super(configurer);
    }

    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
        return new ApplicationActionBarAdvisor(configurer);
    }
    
    public void preWindowOpen() {
        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
//        configurer.setInitialSize(new Point(400, 300));
        configurer.setShowCoolBar(true);
        configurer.setShowPerspectiveBar(true);
		configurer.setShowProgressIndicator(true);
		configurer.setShowStatusLine(true);
    }
    
    @Override
    public void createWindowContents(Shell shell) {
    	Image image = Activator.getDefault().getImageRegistry().get(ImageConstants.WINDOW_TITLE_IMAGE.toString());
		shell.setImage(image);
    	super.createWindowContents(shell);
    }
    
    @Override
    public void postWindowOpen() {
    	ApplicationWindow window = (ApplicationWindow)getWindowConfigurer().getWindow();
    	MenuManager menuBarManager = window.getMenuBarManager();
		System.out.println(menuBarManager.findUsingPath("help/additions"));
		System.out.println(menuBarManager.remove("org.eclipse.ui.run"));
		System.out.println(menuBarManager.remove("org.eclipse.ui.run"));
		menuBarManager.update(true);
    }
    
}

2007-11-08

Eclipseの起動オプション

Eclipse3.3の起動オプションのヘルプへのリンクを貼っておく。こういうのっていざというときに見つからなくて困るんですよねー。

Eclipse 起動オプション

起動オプションのうち、一番よく使うのがproductとapplication。Pluginを開発するとき、起動構成のお世話になることが多いけれど、productとapplicationって何が違うの?って思っておりました。productとapplicationの違いはapplicationは起動ポイントのみだけれど、productはスプラッシュ画面など、製品情報を付属している点。(前に書いたかもしれないけれど。)

なので、ひとつのproductの中に複数applicationがあってもいいわけですな。(てかEclipseはそうだしね。)EclipsePlatformをベースにしたツールを作る人は参考にしてください。

あと、別トピックにすべきかもわかりませんが、一応メモを。

「-noExit」を指定すると、Eclipseを終了後もOSGiフレームワークVMを停止しないでおくことができるようですが、これと「-console port」を組み合わせると、OSGiフレームワーク上で必要なときにサービスを起動する遠隔アプリケーションをつくれそーな予感。たとえば遠隔操作でDBサーバー(Derbyとか)を立ち上げるような、OSGiコンソールのセキュリティが強化されたら面白そうなものをつくれそうです。