/** * Դ�������ƣ�TriggerEditor.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.trigger.ui * ����˵�����������༭��UIչ����ع��� * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.jres.database.oracle.ui.editors; import org.eclipse.core.resources.IMarker; import org.eclipse.core.runtime.CoreException; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.ide.IGotoMarker; import com.hundsun.ares.studio.core.model.RevisionHistory; import com.hundsun.ares.studio.jres.database.ui.editors.DBSQLPreviewPage; import com.hundsun.ares.studio.jres.database.ui.editors.DBSQLPreviewUpdater; import com.hundsun.ares.studio.jres.database.ui.editors.DatabaseEMFFormEditor; import com.hundsun.ares.studio.jres.model.database.oracle.OraclePackage; import com.hundsun.ares.studio.ui.editor.blocks.RevisionHistoryListPage; import com.hundsun.ares.studio.ui.editor.text.TextEditorInput; /** * @author wangxh * */ public class TriggerEditor extends DatabaseEMFFormEditor { TriggerBasicPage basicPage; RevisionHistoryListPage historyPage; public TriggerEditor() { } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.ui.form.EMFFormEditor#getInfoClass() */ @Override protected EClass getInfoClass() { return OraclePackage.Literals.TRIGGER_RESOURCE_DATA; } /* (non-Javadoc) * @see org.eclipse.ui.forms.editor.FormEditor#addPages() */ @Override protected void addPages() { try { basicPage = new TriggerBasicPage(this, "������Ϣ", "������Ϣ"); addPage(basicPage); addPage(new DBSQLPreviewPage(this, "preview", "SQLԤ��"), new TextEditorInput()); historyPage = new RevisionHistoryListPage(this, "histroy", "�޶���Ϣ"); addPage(historyPage); // ���SQLԤ����֧�� addPageChangedListener(new DBSQLPreviewUpdater()); } catch (Exception e) { e.printStackTrace(); } } /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class) */ @Override public Object getAdapter(Class adapter) { if (adapter == IGotoMarker.class) { return new IGotoMarker() { @Override public void gotoMarker(IMarker marker) { String uri; try { uri = (String) marker.getAttribute(IMarker.LOCATION); EObject obj = getInfo().eResource().getEObject(uri); if(obj instanceof RevisionHistory) { historyPage.getEditor().setActivePage(historyPage.getId()); historyPage.getColumnViewer().setSelection(new StructuredSelection(obj), true); } else { basicPage.getEditor().setActivePage(basicPage.getId()); } } catch (CoreException e) { e.printStackTrace(); } } }; } return super.getAdapter(adapter); } }