如何更新GEF編輯器,如果文件重命名?如何更新GEF編輯器,如果文件重命名?
這適用於文本編輯器。例如在Eclipse中轉到Navigator,在編輯器中打開文件HelloWorld.java,將HelloWorld.java重命名爲Navigator中的HelloWorld2.java。請注意,編輯器現在已更新,標題爲「HelloWorld2.java」。
要做到這一點Eclipse將創建監聽器,並把它添加到ITextEditor: IElementStateListener fElementStateListener= new ElementStateListener() (handles elementMoved and calles setInput((IEditorInput) movedElement)) ITextEditor.getDocumentProvider().addElementStateListener(fElementStateListener);
我想我需要做同樣的事情在org.eclipse.gef.ui.parts.GraphicalEditor,但我不知道如何導致graphicalEditor,沒有documentProvider。
UPD:
有設置有GEF三個例子。其中之一是邏輯 示例: http://wiki.eclipse.org/GEF_Developer_FAQ#How_do_I_Run_the_Logic_Example.3F
在LogicEditor類中,有一個內部類ResourceTracker,它是關鍵。
我不確定它應該這樣做。在resourcelistener中,我沒有參考編輯器,所以我需要掃描打開的編輯器,我也會在resourceListener中通知資源更改的後期... – javapowered
您可以讓每個編輯器監聽事件(即添加監聽器在單元方法中,並在編輯器處理時刪除)。 – Eugene
最後的建議聽起來很「醜」。我想做的事情就像他們爲ITextEditor所做的一樣簡單(請參閱描述) – javapowered