/** * Դ�������ƣ�AddColumnComposite1.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.ui * ����˵����$desc * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.jres.clearinghouse.composite; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; import org.eclipse.emf.edit.domain.EditingDomain; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.widgets.FormToolkit; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.jres.clearinghouse.ui.page.RevisionHistoryColumnsViewerBlock; import com.hundsun.ares.studio.jres.database.ui.actions.AddNonStdFiledColumnAction; import com.hundsun.ares.studio.jres.model.chouse.AddTableColumnModification; import com.hundsun.ares.studio.jres.model.chouse.ChouseFactory; import com.hundsun.ares.studio.jres.model.chouse.ChousePackage; import com.hundsun.ares.studio.jres.model.chouse.HisTableColumn; import com.hundsun.ares.studio.jres.model.chouse.Modification; import com.hundsun.ares.studio.jres.model.database.TableResourceData; import com.hundsun.ares.studio.ui.editor.actions.ColumnViewerAddAction; import com.hundsun.ares.studio.ui.editor.editable.ActionEditableUnit; /** * @author wangxh * */ public class AddColumnComposite extends ModifyActionColumnComposite<HisTableColumn> { /** * ���ӱ��ֶ� * @param parent * @param resource * @param action */ public AddColumnComposite(Composite parent, TableResourceData tableData, IARESResource resource, Modification action) { super(parent, tableData, resource, action); EditingDomain domain = AdapterFactoryEditingDomain.getEditingDomainFor(tableData); RevisionHistoryColumnsViewerBlock block = new RevisionHistoryColumnsViewerBlock(domain, resource) { protected EReference getEReference() { return ChousePackage.Literals.ADD_TABLE_COLUMN_MODIFICATION__COLUMNS; } protected void createAddAction() { addAction = new ColumnViewerAddAction( getColumnViewer(), getEditingDomain(), null, getEReference(), ChousePackage.Literals.HIS_TABLE_COLUMN); addAction.setText("���ӱ�׼�ֶ�"); getActionRegistry().registerAction(addAction); getSelectionActions().add(addAction.getId()); } /** * �½��DZ�׼�ֶε�Action */ protected void createAddNonStdAction() { addNonStdAction = new AddNonStdFiledColumnAction( getColumnViewer(), getEditingDomain(), null, getEReference(), ChousePackage.Literals.HIS_TABLE_COLUMN); getActionRegistry().registerAction(addNonStdAction); getSelectionActions().add(addNonStdAction.getId()); //ֻ������ // 2012-05-15 sundl �༭����ʹ�õ�ʱ�򣬿�����null if (getEditableControl() != null) { getEditableControl().addEditableUnit(new ActionEditableUnit(addNonStdAction)); } } }; block.createControl(this, new FormToolkit(getDisplay())); GridDataFactory.fillDefaults().grab(true, true).applyTo(block.getControl()); domain.getCommandStack().addCommandStackListener(block); block.setInput(this.action); } /** * ������ϸ���� * @param parent * @param resource */ @Override protected void creatDetailComposite(Composite parent, IARESResource resource) { } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.ui.editors.history.component.ModifyActionColumnComposite#creatBlankItem() */ @Override protected HisTableColumn creatBlankItem() { return ChouseFactory.eINSTANCE.createHisTableColumn(); } @Override protected EList<HisTableColumn> getActionItems(Modification action) { if(action instanceof AddTableColumnModification){ return ((AddTableColumnModification)action).getColumns(); } return new BasicEList<HisTableColumn>(); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.ui.editors.history.component.ModifyActionComposite#initAction(com.hundsun.ares.studio.jres.model.database.Modification) */ @Override protected void initAction(Modification modification) { if(modification != null && modification instanceof AddTableColumnModification){ action = (AddTableColumnModification) modification; } else { action = ChouseFactory.eINSTANCE.createAddTableColumnModification(); } } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.ui.editors.history.component.ModifyActionColumnComposite#getEReference() */ @Override protected EReference getEReference() { return ChousePackage.Literals.ADD_TABLE_COLUMN_MODIFICATION__COLUMNS; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.clearinghouse.composite.ModifyActionColumnComposite#creatColumnComposite(org.eclipse.jface.viewers.TreeViewer, com.hundsun.ares.studio.core.IARESResource) */ @Override protected void creatColumnComposite(TreeViewer treeViewer, IARESResource resource) { } @Override public Modification getAction() { return action; } }