我正在編輯基於GEF(圖形編輯框架)並使用Eclipse屬性視圖。我的問題是,當我在此視圖中更改屬性時,編輯器不知道此更改,並且不建議我保存。 我該如何解決這個問題?GEF編輯器和選項卡式屬性視圖
0
A
回答
0
當您在編輯器的命令堆棧外執行編輯時,通常會發生這種情況。實際上,髒標誌(您提到的保存建議)由綁定到它自己的GEF圖形編輯器的org.eclipse.gef.commands.CommandStack
控制。
假設你是通過擴展AdvancedPropertySection
實現屬性表編輯器,你必須得到來自IWorkbenchPart
的CommandStack
適配器,並將其保存以備後用:
public class GEFAdvancedPropertySection extends AdvancedPropertySection {
public void setInput(IWorkbenchPart part, ISelection selection) {
CommandStack commandStack = (CommandStack) part.getAdapter(CommandStack.class);
if (cs != null)
page.setRootEntry(new GEFPropertySheetEntry(commandStack));
super.setInput(part, selection);
}
}
在你PropertySheetEntry
實現(實際上是在GEFPropertySheetEntry
上面的例子)你必須通過org.eclipse.gef.commands.Command
正在執行模型更改CommandStack
:
public class GEFPropertySheetEntry extends PropertySheetEntry {
protected CommandStack commandStack;
public GEFPropertySheetEntry(CommandStack commandStack) {
this.commandStack = commandStack;
}
protected void valueChanged(PropertySheetEntry entry) {
GEFCommand command = new GEFCommand();
// here you have to configure the command
// such that it can perform
// the expected model modifications
commandStack.execute(command);
}
}
這個技巧是通過使用特定的GEFCommand
完成的,它通過CommandStack
執行模型修改,該模型修改綁定到原始編輯器並將其標記爲污點。
+0
非常感謝! –
+0
不客氣!如果您發現答案有用,您能否將其標記爲正確? –
相關問題
- 1. 從視圖拖放到GEF編輯器
- 2. MATLAB編輯器選項卡
- 3. 產品編輯器中屬性集選項卡的Magento模板?
- 4. 佈局資源編輯器中沒有屬性選項卡
- 5. 屬性文件編輯器中沒有更多選項卡
- 6. 選項卡式視圖中的Android選項卡式視圖
- 7. 如何以編程方式訪問Eclipse中的選項卡式屬性視圖?
- 8. Eclipse GEF圖形編輯器無標題
- 9. 從GEF編輯器創建縮略大綱視圖
- 10. Episerver dojo setter頁面編輯vs所有屬性選項卡
- 11. 編輯器選項卡的eclipse設置
- 12. Eclipse編輯器選項卡纏繞
- 13. 初始視圖控制器和選項卡視圖控制器
- 14. 編輯選項卡HTML/jQuery
- 15. 以編程方式更新/編輯Magento中的屬性選項
- 16. 編輯SharePoint 2010中的視圖屬性
- 17. CKEditor圖像屬性選項卡消失
- 18. 禁用列編輯datatables.js內聯編輯器選項卡列
- 19. 選項卡和圖像視圖按鈕
- 20. 選項卡,列表視圖和意圖
- 21. 編輯離子選項卡圖標樣式
- 22. NativeScript選項卡視圖屬性綁定tabItem錯誤
- 23. 如何顯示gef編輯器?
- 24. 基於Eclipse 4的GEF編輯器
- 25. GEF編輯器功能查看
- 26. 編輯視圖中的不可編輯的ViewModel屬性
- 27. 編輯項目的選項卡顏色
- 28. 如何編輯所選列表視圖項目的字體屬性
- 29. 的Java屬性編輯器 - 如何強制我創建了一個屬性編輯器屬性編輯器
- 30. 訪問選項卡控制器視圖?
你可以使用其他編輯器手動編輯文件嗎?檢查權限以查看是否可以編輯該文件並使用其他編輯器保存該文件。這可能是一個權限問題。 –
實際上,當我在屬性視圖中編輯屬性時,我的模型知道這個變化。例如,組件的名稱可以被編輯,但編輯器並不建議我保存。 –
你真的編碼了編輯器嗎? 編輯器是否允許您在更改不屬於屬性視圖時保存? – user1125516