public class Perspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {
String er = layout.getEditorArea();
layout.setEditorAreaVisible(false);
layout.addView(FileTransfersView.DownloadID,IPageLayout.TOP , 0.25f, er);
layout.addView(FileTransfersView.UploadID,IPageLayout.BOTTOM , 0.25f, er);
}
}
比如有以上代碼,那么我如何獲得被加到layout的viewer實(shí)例呢?我發(fā)現(xiàn)本更無法獲得viewer實(shí)例的引用了。
plugin.xml文件的片斷
<extension
point="org.eclipse.ui.views">
<view
class="com.mt.ui.FileTransfersView"
id="com.mt.ui.FileTransfersView.Upload"
name="test1"/>
<view
class="com.mt.ui.FileTransfersView"
id="com.mt.ui.FileTransfersView.Download"
name="test2"/>
</extension>
很明顯兩個view的class是一個,因?yàn)槲乙赜眠@個view,它們只是有些屬性和背后的數(shù)據(jù)不一樣!我需要在初始化時將這些不一樣設(shè)定。
如果我的機(jī)會只有在這里
public void createPartControl(Composite parent) {
}
那么難道不同的View就要都通過繼承,然后重寫上面這個方法來做,這樣的話是不是過于呆板了!
還請熟悉eclipse RCP的指點(diǎn)。