package com.hundsun.ares.studio.jres.basicdata.ui.wizard; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.IWizardPage; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.plugin.AbstractUIPlugin; import com.hundsun.ares.studio.core.IARESProject; import com.hundsun.ares.studio.jres.basicdata.constant.IBasicDataRestypes; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.BasicDataBaseModel; import com.hundsun.ares.studio.jres.basicdata.ui.BasicDataUI; import com.hundsun.ares.studio.ui.wizard.ARESResourceWizard; /** * @author lvgao * */ public class NewBasicDataWizard extends ARESResourceWizard { public static final int MODE_SINGLE = 0; // ��ά��ģʽ public static final int MODE_MASTERSLAVE = 1; // ���ӱ�ģʽ public static final int MODE_MASTERSLAVELINK = 2; // ���ӹ�����ģʽ public ModeDefine modeDfine = new ModeDefine(); public NewBasicDataModelSelectWizardPage definePage; @Override public void init(IWorkbench workbench, IStructuredSelection selection) { super.init(workbench, selection); setWindowTitle("�½���������"); } @Override protected String getResType() { switch (modeDfine.mode) { case MODE_SINGLE: return IBasicDataRestypes.singleTable; case MODE_MASTERSLAVE: return IBasicDataRestypes.MasterSlaveTable; case MODE_MASTERSLAVELINK: return IBasicDataRestypes.MasterSlaveLinkTable; default: break; } return null; } @Override public void addPages() { definePage = new NewBasicDataModelSelectWizardPage( "vvv"); page = new NewBasicDataWizardPage("����һ����������", workbench, selectedElement, getResType()){ @Override protected void initNewResourceInfo(Object info) { super.initNewResourceInfo(info); ((BasicDataBaseModel)info).setName(getNewName()); ((BasicDataBaseModel)info).setFile(getNewName() + ".sql"); } }; page.setNewName(initText_Name); getShell().setImage(AbstractUIPlugin.imageDescriptorFromPlugin(BasicDataUI.PLUGIN_ID, "icons/full/obj16/BaiscData.png").createImage()); addPage(page); addPage(definePage); } public IARESProject getProject() { return ((NewBasicDataWizardPage) page).getProject(); } @Override public boolean canFinish() { if(definePage != this.getContainer().getCurrentPage()){ return false; }else{ if(!definePage.isPageComplete()){ return false; } try { ((NewBasicDataWizardPage)page).createBasicDataInfo(""); } catch (Exception e) { definePage.setErrorMessage(e.getMessage()); return false; } } return super.canFinish(); } @Override public IWizardPage getNextPage(IWizardPage tpage) { if(tpage == page){ definePage.update(); } return super.getNextPage(page); } } class ModeDefine { public int mode = NewBasicDataWizard.MODE_SINGLE; public String inputType= ""; public String single_masterTable = ""; public String MS_masterTable = ""; public String MS_slaveTable= ""; public String MSL_masterTable = ""; public String MSL_slaveTable= ""; public String MSL_linkTable= ""; }