關(guān)于MultiPageEditorActionBarContributor
MultiPageEditorActionBarContributor是MultiPageEditor的actions,當(dāng)切換Editor 和Page的時(shí)候要自己更新toolbar,menu,statusbar等action或狀態(tài)的.由于我在單獨(dú)的Editor測(cè)試這些地方(toolbar,menu,statusbar等)都沒(méi)有問(wèn)題.當(dāng)時(shí)將這些單獨(dú)的Editor放到MultiPageEditor中這些地方就很不正常.
一方面我不想改變單獨(dú)editor的各自的Contributor;另一方面切換這些Editor 和Page的時(shí)候要到當(dāng)前Editor的toolbar,menu.
初始化和dispose.
public MultiEditorContributor() {
super();
designContributor=new DesignEditorContributor();
sourceContributor=new SourceEditorContributor();
otherContributor=new OtherEditorContributor ();
}
protected DesignEditorContributor designContributor=null;
protected SourceEditorContributor sourceContributor=null;
protected OtherEditorContributor otherContributor=null;
protected MultiEditorPart multiPageEditor=null;
public void init(IActionBars bars) {
if(bars != null)
{
if(designContributor!=null)
designContributor.init(bars,getPage());
if(sourceContributor!=null)
sourceContributor.init(bars,getPage());
}
if(otherContributor!=null)
otherContributor.init(bars,getPage());
}
}
public void dispose(){
super.dispose();
if(designContributor!=null)
designContributor.dispose();
if(sourceContributor!=null)
sourceContributor.dispose();
}
if(otherContributor!=null)
otherContributor.dispose();
}
記錄當(dāng)前editor,如果相同返回/否則刷新
private IEditorPart currentEditorPart=null;
public void setActivePage(IEditorPart activeEditor) {
......
}
posted on 2005-10-20 11:08 jame 閱讀(1024) 評(píng)論(0) 編輯 收藏 所屬分類: Eclipse plugin Extension points擴(kuò)展點(diǎn)