/**
* Դ�������ƣ�StandardFieldListPage.java
* �������Ȩ���������ӹɷ�����˾ ��Ȩ����
* ϵͳ���ƣ�JRES Studio
* ģ�����ƣ�com.hundsun.ares.studio.jres.metadata.ui
* ����˵����Ԫ�����û��༭��UIչ����ع���
* ����ĵ���
* ���ߣ�
*/
package com.hundsun.ares.studio.jres.basicdata.ui.editor.pages;
import org.apache.log4j.Logger;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.widgets.FormToolkit;
import com.hundsun.ares.studio.jres.basicdata.constant.IBasicDataEpacakgeConstant;
import com.hundsun.ares.studio.jres.basicdata.core.basicdata.StandardFieldModelAndData;
import com.hundsun.ares.studio.jres.basicdata.core.basicdata.validate.util.BasicDataValidateUnit;
import com.hundsun.ares.studio.jres.basicdata.ui.editor.blocks.STDModelAndDataListViewerBlock;
import com.hundsun.ares.studio.jres.metadata.ui.editors.AbstractMetadataFormPage;
import com.hundsun.ares.studio.jres.model.metadata.MetadataResourceData;
import com.hundsun.ares.studio.ui.editor.EMFFormEditor;
import com.hundsun.ares.studio.ui.editor.blocks.ColumnViewerBlock;
import com.hundsun.ares.studio.validate.ValidateUtil;
public class STDModelAndDataPage extends AbstractMetadataFormPage {
private static Logger logger = Logger.getLogger(STDModelAndDataPage.class);
STDModelAndDataListViewerBlock standardFieldViewBlock;
String className;
/**
* ���ֶ��б����
* @param editor
* @param id
* @param title
*/
public STDModelAndDataPage(EMFFormEditor editor,
String id,
String title,
String className) {
super(editor, id, title);
this.className = className;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.jres.ui.pages.ColumnViewerListPage#configureValidateControl()
*/
@Override
protected void configureValidateControl() {
getValidateControl().addValidateUnit(new BasicDataValidateUnit(getInfo(),IBasicDataEpacakgeConstant.Attr_Master_Items));
getValidateControl().setContext(ValidateUtil.getValidateContext(getEditor().getARESResource()));
}
// /**
// * @return the standardFieldViewBlock
// */
public STDModelAndDataListViewerBlock getStandardFieldViewBlock() {
return standardFieldViewBlock;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.jres.metadata.ui.editors.AbstractMetadataFormPage#getInfo()
*/
@Override
protected MetadataResourceData<?> getInfo() {
return ((StandardFieldModelAndData)getEditor().getInfo()).getData();
}
@Override
protected void createMetadataComposite(Composite composite,FormToolkit toolkit){
standardFieldViewBlock = new STDModelAndDataListViewerBlock(this, getEditingDomain(),
getSite(), getEditor().getARESResource(),
getProblemPool(),
className);
//�趨ģ�Ͷ���
EPackage epackage = getInfo().eClass().getEPackage();
standardFieldViewBlock.setEpackage(epackage);
standardFieldViewBlock.setEditableControl(getEditableControl());
standardFieldViewBlock.createControl(composite, toolkit);
getEditor().getActionBarContributor().addGlobalActionHandlerProvider(standardFieldViewBlock);
addPropertyListener(standardFieldViewBlock);
getEditingDomain().getCommandStack().addCommandStackListener(standardFieldViewBlock);
}
@Override
public void infoChange() {
standardFieldViewBlock.setInput(getInfo());
super.infoChange();
}
@Override
public void dispose() {
removePropertyListener(standardFieldViewBlock);
getEditingDomain().getCommandStack().removeCommandStackListener(standardFieldViewBlock);
super.dispose();
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.jres.metadata.ui.editors.AbstractMetadataFormPage#getViewerBlock()
*/
@Override
protected ColumnViewerBlock getViewerBlock() {
return standardFieldViewBlock;
}
/**
* ���´�����
*/
public void recreateViewerBlock(){
EPackage epackage = getInfo().eClass().getEPackage();
standardFieldViewBlock.setEpackage(epackage);
standardFieldViewBlock.recreateColumns();
standardFieldViewBlock.setInput(getInfo());
}
}