/** * <p>Copyright: Copyright (c) 2009</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.ui.newwizard; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IWorkbench; import com.hundsun.ares.studio.core.IARESElement; import com.hundsun.ares.studio.ui.AresResourceCategoryFilter; import com.hundsun.ares.studio.ui.AresResourceFilter; import com.hundsun.ares.studio.ui.LibFilter; /** * �½���Դ��ҳ��Ļ��ࡣ * @author lvgao */ public class ARESResourceNewWizardPage extends ElementSelectionWizardPageWithNameInputEX{ private static final Logger logger = Logger.getLogger(ARESResourceNewWizardPage.class.getName()); public static final String CONTEXT_KEY_RES_TYPE = "��Դ����"; public static final String CONTEXT_KEY_CNAME = "��Դ��������"; public static final String CONTEXT_KEY_GROUP = "group"; protected Text txt_CName; protected Text txtGroup; protected String newCName = ""; protected String group; protected ModifyListener modifyCNameListener = new ModifyListener() { public void modifyText(ModifyEvent e) { newCName = txt_CName.getText(); updateComplete(); } }; // ���ҳ�洴������Դ������ protected String resType; public ARESResourceNewWizardPage(String pageName, IWorkbench workbench, IARESElement selection, String resType) { super(pageName, workbench, selection); this.resType = resType; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.ui.wizards.pages.ElementSelectionWizardPageWithNameInputEX#addValidators(java.util.List) */ @Override protected void addValidators(List<IWizardPageValidator> validators) { super.addValidators(validators); validators.add(new ReourceNameModuleDuplicateValidator()); validators.add(new GroupNameValidator()); } /* (non-Javadoc) * @see com.hundsun.ares.devtool.v2.ui.ARESElementSelectionWizardPage#getType() */ public String getType() { return resType; } /* (non-Javadoc) * @see com.hundsun.ares.studio.ui.CommonElementSelectionPage#addFilter() * ����ģ������͹�����Դ * */ @Override protected void addFilter() { if(viewer != null){ viewer.addFilter(new NotAresresourceFilter()); viewer.addFilter(new RestypeViewerFilter(resType)); viewer.addFilter(new LibFilter()); viewer.addFilter(new AresResourceCategoryFilter()); viewer.addFilter(new AresResourceFilter()); if(null != selection && selection instanceof IARESElement){ viewer.addFilter(new NotCurrentProjectFilter(((IARESElement)selection).getARESProject())); } } } /* (non-Javadoc) * @see com.hundsun.ares.studio.ui.newwizard.ElementSelectionWizardPageWithNameInputEX#createText(org.eclipse.swt.widgets.Composite) */ @Override protected void createText(Composite composite) { super.createText(composite); Label moduleNameLabel = new Label(composite, SWT.NONE); moduleNameLabel.setText("������:"); GridData gd = new GridData(); moduleNameLabel.setLayoutData(gd); txt_CName = new Text(composite, SWT.BORDER); gd = new GridData(GridData.FILL_HORIZONTAL); txt_CName.setLayoutData(gd); txt_CName.addModifyListener(modifyCNameListener); txt_Name.setText(newCName); txt_Name.setSelection(newCName.length()); Label lbGroup = new Label(composite, SWT.NONE); lbGroup.setText("����"); GridDataFactory.fillDefaults().applyTo(lbGroup); txtGroup = new Text(composite, SWT.BORDER); txtGroup.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { group = txtGroup.getText(); updateComplete(); } }); GridDataFactory.fillDefaults().grab(true, false).applyTo(txtGroup); } @Override public void setContext(Map<Object, Object> context) { super.setContext(context); context.put(CONTEXT_KEY_RES_TYPE, resType); if(null != txt_CName){ context.put(CONTEXT_KEY_CNAME, txt_CName.getText()); } if (txtGroup != null) { context.put(CONTEXT_KEY_GROUP, group); } } }