2014-10-30 43 views
0

假設我有三個視圖A,B,C。我如何確保他們將始終按照給定的順序打開。此刻我有一個問題,如果B,C是開放的,A是封閉的,打開A之後它會被追加到最後。所以我有B,C,A可見。Eclipse RCP打開某個位置的視圖

打開我用一個新的觀點如下方法:

IWorkbenchPage.showView(viewId, secondardId, IWorkbenchPage.VIEW_ACTIVATE); 

看來,對於這些觀點存在的佔位符被忽略。

回答

0

簡短的回答是:而不是可能的。

將Eclipse工作臺的背景作爲IDE,可以控制哪個部分顯示如何以及在哪裏以用戶爲主,並且不會完全程序化控制工作臺部件。儘管我認爲這個策略非常適合IDE,但一些RCP應用程序可能有理由對其用戶構成更嚴格的限制。

但是,您可能會受到黑客攻擊並首先關閉所有有問題的視圖(如果它們已打開),然後以所需順序打開它們。但是這可能會導致閃爍,並且您也可能在打開的視圖中鬆開狀態(取決於它們保存和恢復其狀態的完整程度)。

一個相當激進的方法 - 但它可能會從技術的POV工作 - 被fixed views and/or perspectives

如果有特定的順序這些觀點是很重要的,你爲什麼不把它們合併成一個?

+0

是的,但日食IDE本身不知道怎麼做?例如,在左側面板中,「包資源管理器」視圖始終位於「JUnit」視圖之前的「類型層次結構」之前,等等。此外,即使您移動標籤,訂單也會被記住。所以我認爲這是一個默認的Eclipse行爲,我可以在Eclipse RCP應用程序中輕鬆實現? – 2014-11-05 08:09:26

+0

您所描述的是通過[定義整個視角](https://www.eclipse.org/articles/using-perspectives/PerspectiveArticle.html)或[對現有視角的貢獻]來實現的(http://help.eclipse .ORG/luna的/ index.jsp的?主題=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension點%2Forg_eclipse_ui_perspectiveExtensions.html)。我以爲這就是你已經做的。但無論如何,這能解決你的問題嗎? – 2014-11-05 10:01:54

+0

我有自己的觀點,我定義佔位符等,但無法找到確保IFolderLayout內的視圖順序的方式。關閉和開口將解決它,但它不是我所需要的。 – 2014-11-05 12:48:18