/** @since 4.0 */ public ImportTextWizard() { super(TextImportPlugin.getDefault(), TITLE, IMAGE); importers = TextImportContributionManager.getTextImporters(); }
/** * @see * org.teiid.designer.ui.common.AbstractUiPlugin#getActionService(org.eclipse.ui.IWorkbenchPage) * @since 4.0 */ @Override public ActionService getActionService(IWorkbenchPage page) { return TextImportPlugin.getDefault().getActionService(page); }
/** @since 8.0 */ public class ImportTextWizard extends AbstractWizard implements PluginConstants.Images, IImportWizard, CoreStringUtil.Constants, UiConstants { private static final String I18N_PREFIX = I18nUtil.getPropertyPrefix(ImportTextWizard.class); private static final String WIDTH = "width"; // $NON-NLS-1$ private static final String HEIGHT = "height"; // $NON-NLS-1$ private static final String TITLE = getString("title"); // $NON-NLS-1$ private static final ImageDescriptor IMAGE = TextImportPlugin.getDefault().getImageDescriptor(IMPORT_PROJECT_ICON); private static final String NOT_LICENSED_MSG = getString("notLicensedMessage"); // $NON-NLS-1$ // Set Licensed to true. Leave licencing code in, just in case we decide // to license in the future... private static boolean importLicensed = true; /** @since 4.0 */ private static String getString(final String id) { return Util.getString(I18N_PREFIX + id); } private ImportTextMainPage importTextMainPage; private static ITextImportMainPage[] importers; /** @since 4.0 */ public ImportTextWizard() { super(TextImportPlugin.getDefault(), TITLE, IMAGE); importers = TextImportContributionManager.getTextImporters(); } Composite createEmptyPageControl(final Composite parent) { return new Composite(parent, SWT.NONE); } /** @see org.eclipse.jface.wizard.IWizard#createPageControls(org.eclipse.swt.widgets.Composite) */ @Override public void createPageControls(Composite pageContainer) { if (importLicensed) { // If no dialog size settings, then use default of 500X500 IDialogSettings settings = getDialogSettings(); // Try to get height and width settings try { settings.getInt(WIDTH); settings.getInt(HEIGHT); // If height or width not found, set 500x500 default } catch (NumberFormatException e) { settings.put(WIDTH, 500); settings.put(HEIGHT, 500); } super.createPageControls(pageContainer); } } /** * @see org.eclipse.jface.wizard.IWizard#performFinish() * @since 4.0 */ @Override public boolean finish() { boolean result = true; String importType = this.importTextMainPage.getImportType(); for (int i = 0; i < importers.length; i++) { if (importers[i].getType().equals(importType)) { importers[i].finish(); break; } } return result; } /** * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, * org.eclipse.jface.viewers.IStructuredSelection) * @since 4.0 */ @Override public void init(final IWorkbench workbench, final IStructuredSelection selection) { IStructuredSelection finalSelection = selection; if (!ModelerUiViewUtils.workspaceHasOpenModelProjects()) { IProject newProject = ModelerUiViewUtils.queryUserToCreateModelProject(); if (newProject != null) { finalSelection = new StructuredSelection(newProject); } } if (importLicensed) { importTextMainPage = new ImportTextMainPage(finalSelection); addPage(importTextMainPage); // for (int i = 0; i < importers.length; i++) { addPage((IWizardPage) importers[i]); } } else { // Create empty page WizardPage page = new WizardPage(ImportTextWizard.class.getSimpleName(), TITLE, null) { @Override public void createControl(final Composite parent) { setControl(createEmptyPageControl(parent)); } }; page.setMessage(NOT_LICENSED_MSG, IMessageProvider.ERROR); page.setPageComplete(false); addPage(page); } } /** @see org.eclipse.jface.wizard.IWizard#getNextPage(org.eclipse.jface.wizard.IWizardPage) */ @Override public IWizardPage getNextPage(final IWizardPage thePage) { /*---------------------------------------- Pages: A. importTypeSelectionPage B. importPage ------------------------------------------*/ IWizardPage result = null; // only need to define logic for those pages where the next page is dynamic. // the call to super will handle everything else. if (thePage == this.importTextMainPage) { String importType = this.importTextMainPage.getImportType(); for (int i = 0; i < importers.length; i++) { if (importers[i].getType().equals(importType)) { result = (IWizardPage) importers[i]; break; } } this.importTextMainPage.saveWidgetValues(); } else { boolean isContributed = false; // be sure thePage is contributed // for( int i=0; i<importers.length; i++ ) { for (int i = 0; i < importers.length; i++) { if (thePage.equals(importers[i])) { isContributed = true; break; } } if (!isContributed) CoreArgCheck.isTrue(false, "Unexpected TextImport Wizard Page:" + thePage); // $NON-NLS-1$ } return result; } /** @see org.eclipse.jface.wizard.IWizard#getPreviousPage(org.eclipse.jface.wizard.IWizardPage) */ @Override public IWizardPage getPreviousPage(IWizardPage thePage) { IWizardPage pPage = super.getPreviousPage(thePage); pPage.setVisible(true); return pPage; } /** * @see org.eclipse.jface.wizard.Wizard#canFinish() * @since 4.0 */ @Override public boolean canFinish() { boolean canFinish = false; IWizardPage[] pages = this.getPages(); // Can finish if all pages are complete IWizardPage page1 = pages[0]; if (page1.isPageComplete()) { IWizardPage page2 = null; String importType = this.importTextMainPage.getImportType(); for (int i = 0; i < importers.length; i++) { if (importers[i].getType().equals(importType)) { page2 = (IWizardPage) importers[i]; break; } } if (page2 != null && page2.isPageComplete()) { canFinish = true; } } return canFinish; } /** * @see org.eclipse.jface.wizard.IWizard#dispose() * @since 4.0 */ @Override public void dispose() { super.dispose(); } }