package com.hundsun.ares.studio.ui.editor.blocks; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.layout.GridLayoutFactory; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.editor.FormEditor; import org.eclipse.ui.forms.widgets.FormToolkit; import com.hundsun.ares.studio.core.IARESElement; import com.hundsun.ares.studio.core.model.Constants; import com.hundsun.ares.studio.core.model.CorePackage; import com.hundsun.ares.studio.internal.core.ARESProjectProperty; import com.hundsun.ares.studio.ui.editor.ProjectPropertyEditor; import com.hundsun.ares.studio.ui.editor.validate.EMFAllValidateUnit; /** * ��Ŀ���Ե��޸ļ�¼ҳ�� * @author sundl * */ public class ProjectRevisionHistoryPage extends EMFESSFormPageWithValidate<ARESProjectProperty> { public ProjectRevisionHistoryPage(FormEditor editor, String id, String title) { super(editor, id, title); } @Override public boolean shouldLoad() { return true; } @Override protected EObject createModel() { EObject model = super.createModel(); ProjectPropertyEditor editor = (ProjectPropertyEditor) getEditor(); IARESElement element = editor.getARESElement(); model.eResource().setURI(URI.createPlatformResourceURI(element.getResource().getFullPath().toString(), true)); return model; } @Override protected EClass getEClass() { return CorePackage.Literals.PROJECT_REVISION_HISTORY_PROPERTY; } @Override protected void configureValidateControl() { getValidateControl().addValidateUnit(new EMFAllValidateUnit(getModel())); // getValidateControl().setContext(ValidateUtil.getValidateContext(getResource())); } @Override protected String getMapKey() { return Constants.RevisionHistory.PROJECT_REVISION_EXT_KEY; } @Override protected void createSections(IManagedForm managedForm) { Composite composite = managedForm.getForm().getBody(); FormToolkit toolkit = managedForm.getToolkit(); ProjectRevisionHistoryListViewerBlock block = new ProjectRevisionHistoryListViewerBlock(this, getEditingDomain(),getProblemPool()); block.createControl(composite, toolkit); block.setInput(getModel()); addPropertyListener(block); getEditingDomain().getCommandStack().addCommandStackListener(block); GridLayoutFactory.swtDefaults().applyTo(composite); GridDataFactory.fillDefaults().grab(true, true).applyTo(block.getControl()); } }