在我主編的「保存」菜單項,我有以下函數來設置編輯器髒每當我做編輯器中的文本控件的一些變化,「中的firePropertyChange(IEditorPart.PROP_DIRTY)」不能讓積極
private void setDirty(boolean b){
isDirty = b;
firePropertyChange(IEditorPart.PROP_DIRTY);
}
問題是,當調用setDirty(...)時,我可以看到編輯器標題顯示一個符號「*」進入髒狀態,但我看到「Save」菜單項仍然是灰色的(見下面的快照)。
「保存」菜單項時plugin.xml中定義如下,
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:org.eclipse.ui.main.menu">
<menu
id="myProject.file"
label="File">
<command
commandId="org.eclipse.ui.file.save"
label="Save"
style="push">
</command>
</menu>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar
id="myProject.toolbar1">
<command
commandId="org.eclipse.ui.file.save"
label="Save"
style="push">
</command>
</toolbar>
</menuContribution>
</extension>
誰能幫忙看看這個問題?我的實施出了什麼問題?
是的,我像你的代碼一樣忽略了isDirty()。 – Hua