/** * 刷新一个对象的显示。 * * @param obj 编辑器对象 */ public void refresh(EditorObject obj) { TypeInfo[] infos = CrossGateEditor.getEditorPool().toArray(); for (int i = 0; i < infos.length; i++) { if (infos[i].isMine(obj.getClass())) { dataTreeViewers[i].refresh(obj); break; } } }
/** * 打开一个数据对象的编辑器。 * * @param 基础对象的衍生类 * @param obj 被编辑的对象 */ public void editObject(EditorObject obj) { TypeInfo typeInfo = obj.getTypeInfo(); try { getSite() .getWorkbenchWindow() .getActivePage() .openEditor(new DataObjectInput(obj), typeInfo.getEditorId()); } catch (Exception e) { CrossGateEditor.getLog() .error(getClass().getName() + "::editObject() : editorID = " + typeInfo.getEditorId(), e); // CrossGateEditor.catchException(e, false); MessageDialog.openError(getSite().getShell(), "错误", "打开编辑器失败,原因:\n" + e.toString()); } }