/**
*
*/
package com.hundsun.ares.studio.jres.obj.ui.editor;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
import com.hundsun.ares.studio.biz.core.BizUtil;
import com.hundsun.ares.studio.biz.ui.action.IBizActionIDConstants;
import com.hundsun.ares.studio.biz.ui.block.ObjectPropertyBlock;
import com.hundsun.ares.studio.core.IARESProject;
import com.hundsun.ares.studio.core.IARESResource;
import com.hundsun.ares.studio.ui.editor.EMFFormEditor;
import com.hundsun.ares.studio.ui.editor.EMFFormPage;
import com.hundsun.ares.studio.ui.editor.blocks.FormWidgetUtils;
/**
* @author yanwj06282
*
*/
public class ObjectParameterPage extends EMFFormPage {
private ObjectPropertyBlock columns;
//SashForm sash;
public ObjectParameterPage(EMFFormEditor editor, String id, String title) {
super(editor, id, title);
}
@Override
protected void doCreateFormContent(IManagedForm managedForm) {
Composite composite = managedForm.getForm().getBody();
FormToolkit toolkit = managedForm.getToolkit();
managedForm.getForm().setText(getTitle());
toolkit.decorateFormHeading(managedForm.getForm().getForm());
GridDataFactory.fillDefaults().grab(true, true).applyTo(composite);
GridLayoutFactory.fillDefaults().applyTo(composite);
createColumnSection(composite,toolkit);
}
@Override
public void infoChange() {
columns.setInput(getInfo());
super.infoChange();
}
private Section createColumnSection(Composite parent,FormToolkit toolkit) {
Composite plCom = toolkit.createComposite(parent,SWT.BORDER);
GridLayoutFactory.fillDefaults().applyTo(plCom);
GridDataFactory.fillDefaults().grab(true, true).applyTo(plCom);
Section section = toolkit.createSection(plCom, FormWidgetUtils.getDefaultSectionStyles());
GridDataFactory.fillDefaults().grab(true, true).applyTo(section);
section.setText("�����б�");
columns = new ObjectPropertyBlock(getEditingDomain(), getEditor().getARESResource(), getProblemPool());
// 2013-8-19 sundl ��CRES nature������£�����༭������ӡ������顱��ť
IARESResource res = getEditor().getARESResource();
if (res != null) {
IARESProject project = res.getARESProject();
if (BizUtil.hasCRESNature(project.getProject())) {
columns.setAddActionIds(new String[] {IBizActionIDConstants.CV_ADD,
IBizActionIDConstants.ADD_NON_STD_FIELD_PARME,
IBizActionIDConstants.ADD_OBJECT_PARAM,
IBizActionIDConstants.ADD_PARAM_GROUP});
}
}
columns.setEditableControl(getEditableControl());
columns.createControl(section, toolkit);
getEditor().getActionBarContributor().addGlobalActionHandlerProvider(columns);
addPropertyListener(columns);
getEditingDomain().getCommandStack().addCommandStackListener(columns);
section.setClient(columns.getControl());
return section;
}
}