2011-06-28 6 views
2

Eclipseパースペクティブを作成し、plugin.xmlと宣言的定義を使用してビューパースペクティブを追加できます。ビューを使用してEclipse Perspectiveを動的に作成

しかし、私はプログラム的視点を作成する必要があり、その名前/タイトルを設定し、分割ビュー(左と右の上の他の1 viewpart)で、それには2つのviewpartsを追加します。

私はネットを検索し、文書の多くを読んでこれを行う方法を見つけ出すことはできませんしています。誰かがこれの小さな例を持っていますか?たぶん何を検索するのか分かっていますか?

答えて

0

あなたはIPerspectiveRegistry.clonePerspective(String id, String label, IPerspectiveDescriptor desc)経由で新しい視点を作成する必要があります。元のパースペクティブdescはnullでもかまいませんが、新しいパースペクティブのイメージを設定する方法は見つかりませんでした。

あなたがIWorkbenchPage.showView(...)経由で必要なビューを追加することができますが、

+0

こんにちは...視点での新しいビューをレイアウトする方法を考え出したことがありません! ありがとうございます。私はplugin.xmlに "com.acme.browser.perspectives.BrowserPerspective"というIDを持つパースペクティブ定義を持っています。プログラム的には、しかし、それは動作しません。私が試したことは次のとおりです。 – KimH

+0

'code'IWorkbenchWindow window = getSite()。getWorkbenchWindow()。getWorkbench()。getActiveWorkbenchWindow(); IPerspectiveRegistry perspectiveRegistry = PlatformUI.getWorkbench()。getPerspectiveRegistry(); IPerspectiveDescriptor記述子= perspectiveRegistry.findPerspectiveWithId( "browser.perspectives.BrowserPerspective"); IPerspectiveDescriptor perspective = perspectiveRegistry.clonePerspective( "browser.perspectives.BrowserPerspective.id2"、 "My new perspective title"、ディスクリプタ); PlatformUI.getWorkbench()。showPerspective( "browser.perspectives.BrowserPerspective.id2"、window); – KimH

+0

私が取得エラー:browser.views.MyView $ 1.widgetSelectedで org.eclipse.ui.internal.registry.PerspectiveRegistry.clonePerspectiveで 'code'java.lang.IllegalArgumentException \t(PerspectiveRegistry.java:656) \t (SidebarView.java:58)org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)で \t org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)で \t \t at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176) \t at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3493) org.eclipse.swt.widgets.Display.readAndDispatchでcloneP 'から(Display.java:3112) – KimH

関連する問題