/**
* <p>Copyright: Copyright (c) 2013</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.procedure.ui.editor.page.block;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.TreeViewerColumn;
import org.eclipse.swt.SWT;
import com.hundsun.ares.studio.biz.BizPackage;
import com.hundsun.ares.studio.biz.ui.block.ParameterDefineEditingSupportDecorator;
import com.hundsun.ares.studio.biz.ui.block.ParameterViewerBlock;
import com.hundsun.ares.studio.core.IARESProject;
import com.hundsun.ares.studio.core.IARESResource;
import com.hundsun.ares.studio.jres.metadata.constant.IMetadataRefType;
import com.hundsun.ares.studio.jres.metadata.ui.editors.editingsupport.MetadataContentProposalHelperWipeOffRepeatStd;
import com.hundsun.ares.studio.jres.metadata.ui.editors.editingsupport.MetadataContentProposalProvider;
import com.hundsun.ares.studio.procdure.ProcdurePackage;
import com.hundsun.ares.studio.ui.ColumnViewerHoverToolTip;
import com.hundsun.ares.studio.ui.editor.IDiagnosticProvider;
import com.hundsun.ares.studio.ui.editor.editingsupport.JresTextEditingSupportWithContentAssist;
import com.hundsun.ares.studio.ui.editor.viewers.EObjectColumnLabelProvider;
import com.hundsun.ares.studio.ui.validate.IProblemPool;
/**
* @author qinyuan
*
*/
public class InternalVarParameterBlock extends ParameterViewerBlock{
/**
* @param reference
* @param editingDomain
* @param resource
* @param problemPool
*/
public InternalVarParameterBlock(EditingDomain editingDomain, IARESResource resource,
IProblemPool problemPool) {
super(ProcdurePackage.Literals.PROCEDURE__INTERNAL_VARIABLES, editingDomain, resource, problemPool);
}
@Override
protected void addToolTipSupport(TreeViewer viewer) {
ColumnViewerHoverToolTip.enableFor(viewer);
}
protected EClass getParameterEClass(){
return ProcdurePackage.Literals.INTERNAL_PARAM;
}
@Override
protected void createColumnDefaultValue(IARESProject project,
TreeViewer viewer, IDiagnosticProvider problemView) {
// ����������
EAttribute attribute = BizPackage.Literals.PARAMETER__DEFAULT_VALUE;
// ���������
TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.LEFT);
column.getColumn().setText("Ĭ��ֵ");
column.getColumn().setWidth(100);
column.getColumn().setMoveable(true);
// ���ñ�ǩ�ṩ��
EObjectColumnLabelProvider provider = new ProcedureInterfaceParameterColLabProvider(resource,attribute);
provider.setDiagnosticProvider(problemView);
column.setLabelProvider(provider);
// ���ñ༭֧��
MetadataContentProposalHelperWipeOffRepeatStd helper = new MetadataContentProposalHelperWipeOffRepeatStd(resource.getARESProject());
MetadataContentProposalProvider proposalProvider = new MetadataContentProposalProvider(helper, IMetadataRefType.DefValue, resource.getARESProject());
JresTextEditingSupportWithContentAssist es = new JresTextEditingSupportWithContentAssist(
viewer,
attribute,
proposalProvider);
es.setDecorator(new ParameterDefineEditingSupportDecorator(project, attribute));
column.setEditingSupport(es);
}
}