/** * Դ�������ƣ�JresTextEditingSupportWithContentAssist.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.ui * ����˵����JRES Studio�Ľ���չ�ֻ�����ܺͱ༭��ع��� * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.ui.editor.editingsupport; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.jface.fieldassist.IContentProposalProvider; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ColumnViewer; import org.eclipse.swt.widgets.Composite; import com.hundsun.ares.studio.ui.cellEditor.AresContentProposalProvider; import com.hundsun.ares.studio.ui.cellEditor.TextCellEditorWithContentAssist; import com.hundsun.ares.studio.ui.editor.viewers.IEStructuralFeatureProvider; public class JresTextEditingSupportWithContentAssist extends TextEditingSupport{ private ColumnViewer columnViewer; private IContentProposalProvider proposalProvider; public JresTextEditingSupportWithContentAssist(ColumnViewer viewer, EStructuralFeature feature, IContentProposalProvider proposalProvider) { super(viewer, feature); this.columnViewer = viewer; this.proposalProvider = proposalProvider; } public JresTextEditingSupportWithContentAssist(ColumnViewer viewer, IEStructuralFeatureProvider featureProvider, AresContentProposalProvider proposalProvider) { super(viewer, featureProvider); this.columnViewer = viewer; this.proposalProvider = proposalProvider; } @Override protected CellEditor createCellEditor() { return new TextCellEditorWithContentAssist((Composite) columnViewer.getControl()) { @Override public IContentProposalProvider getProposalProvider() { return proposalProvider; } }; } @Override protected CellEditor doGetCellEditor(Object element) { TextCellEditorWithContentAssist celleditor = (TextCellEditorWithContentAssist) super.doGetCellEditor(element); if (celleditor.getProposalProvider() instanceof AresContentProposalProvider) { AresContentProposalProvider proposalProvider = (AresContentProposalProvider) celleditor.getProposalProvider(); proposalProvider.updateContent(element); } return celleditor; } }