/**
* <p>Copyright: Copyright (c) 2009</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.ui.editor.blocks;
import java.util.EventObject;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
import com.hundsun.ares.studio.core.model.Constants;
import com.hundsun.ares.studio.core.model.CorePackage;
import com.hundsun.ares.studio.core.model.ExtensibleModel;
import com.hundsun.ares.studio.core.model.ModuleExtensibleModel;
import com.hundsun.ares.studio.core.model.ModuleProperty;
import com.hundsun.ares.studio.ui.editor.extend.ExtensibleModelComposite;
import com.hundsun.ares.studio.ui.editor.extend.ExtensibleModelUtils;
/**
* ģ�����Ե���չҳ��
* @author liaogc
*/
public class ExtensibledModulePropertyPage extends EMFESSFormPageWithValidate<ModuleProperty>{
/**
* @param editor
* @param id
* @param title
*/
public ExtensibledModulePropertyPage(FormEditor editor, String id,
String title) {
super(editor, id, title);
}
private ExtensibleModelComposite emc;
@Override
protected ModuleExtensibleModel getModel() {
return (ModuleExtensibleModel) super.getModel();
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.ui.page.ExtendSectionScrolledFormPage#createSections(org.eclipse.ui.forms.IManagedForm)
*/
@Override
protected void createSections(IManagedForm managedForm) {
FormToolkit toolkit = managedForm.getToolkit();
Section section = createSectionWithTitle(managedForm.getForm().getBody(), toolkit, "��չ��Ϣ", true);
emc = new ExtensibleModelComposite(section, toolkit);
emc.setProblemPool(getProblemPool());
emc.setInput(getResource(), getModel());
section.setClient(emc);
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.jres.ui.pages.EMFExtendSectionScrolledFormPage#processModelOnCreate(org.eclipse.emf.ecore.EObject)
*/
@Override
protected void processModelOnCreate(EObject model) {
super.processModelOnCreate(model);
ExtensibleModelUtils.extend(getResource(), (ExtensibleModel) model, false);
}
@Override
public void commandStackChanged(EventObject event) {
super.commandStackChanged(event);
emc.refresh();
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.ui.page.ExtendPageWithMyDirtySystem#shouldLoad()
*/
@Override
public boolean shouldLoad() {
return true;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.jres.ui.pages.EMFExtendSectionScrolledFormPage#getEClass()
*/
@Override
protected EClass getEClass() {
return CorePackage.Literals.MODULE_EXTENSIBLE_MODEL;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.jres.ui.pages.EMFExtendSectionScrolledFormPage#getMapKey()
*/
@Override
protected String getMapKey() {
return Constants.MODULE_EXTENSIBLEMODEL_KEY;
}
}