2010-03-12 51 views
3

有沒有辦法強制RCP產品每次顯示RCP時都顯示歡迎頁面? (默認情況下,歡迎頁面僅顯示爲第一次RCP是看呆了。)在每次啓動時顯示Eclipse RCP的歡迎頁面

我的plugin_customization.ini試過org.eclipse.ui/SHOW_INTRO=true,但它並沒有這樣的伎倆......

謝謝, 弗蘭克

回答

1

在您的介紹XML,你可以有類似

<contentProvider id="awc" class="org.eclipse.ui.intro.contentproviders.AlwaysWelcomeCheckbox" pluginId="org.eclipse.ui.intro"> 
    <text></text> 
</contentProvider> 

,它允許用戶選擇是否每次顯示介紹頁面。無論你放置在哪裏,它都會顯示一個小複選框。不知道是否有可能默認啓用它。

如果你不想要這個,你可能會在workbench.xml中以某種方式定義它,並在你恢復RCP會話時明確加載介紹屏幕。

+0

謝謝你,大衛。事情是,我正在使用一個HTML歡迎頁面,它通過introContent元素在intro.xml中設置。將您的contentProvider添加到XML確實沒有任何影響。有沒有辦法在HTML頁面中添加提供程序? – 2010-03-12 16:04:13

+1

根據Eclipse RCP幫助(http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/ua_intro_xhtml.htm),這是使用XHTML。因此,無論是切換到XHTML還是您必須找到另一種方式來始終顯示我認爲的歡迎屏幕。 – 2010-03-12 17:25:30

+0

由於幫助內容是HTML,我決定使用一種解決方法,並通過標準的ActionFactory.INTRO操作在幫助菜單中顯示一個介紹條目。再次感謝! – 2010-03-13 11:54:35

4

或者,您可以通過程序設置,例如,在您的WorkbenchAdvisor的初始化方法中。

PrefUtil.getAPIPreferenceStore().setValue(
      IWorkbenchPreferenceConstants.SHOW_INTRO, true); 
PrefUtil.saveAPIPrefs(); 

但由於PrefUtil是一個內部類這一點,如果你不能設置在XML這個屬性只是建議(例如,您有不基於標準簡介頁面上的介紹)

PS :您遇到的問題是,隨着介紹的出現,您通過plugin.customization設置的首選項屬性設置爲false,並且plugin_customization只設置首選項存儲默認值,只要任何組件設置該值,默認值就會變爲過時。使用這兩行代碼,您可以在每次啓動時將此首選項設置爲true,並且會顯示介紹。

+0

感謝您的建議,它做到了! – 2010-03-15 08:27:11

+3

在我的RCP應用程序中爲我工作的非內部選項是使用PlatformUI.getPreferenceStore()而不是PrefUtil。 – thoni56 2012-07-26 06:41:36