package org.eclipse.dltk.xotcl.internal.ui.wizards; import org.eclipse.dltk.tcl.internal.ui.TclImages; import org.eclipse.dltk.ui.DLTKUIPlugin; import org.eclipse.dltk.ui.wizards.NewSourceModulePage; import org.eclipse.dltk.ui.wizards.NewSourceModuleWizard; public class XOTclNewClassWizard extends NewSourceModuleWizard { public static final String WIZARD_ID = "org.eclipse.dltk.xotcl.wizards.newclass"; public XOTclNewClassWizard() { setDefaultPageImageDescriptor(TclImages.DESC_WIZBAN_FILE_CREATION); setDialogSettings(DLTKUIPlugin.getDefault().getDialogSettings()); setWindowTitle(XOTclWizardMessages.NewClassWizard_title); } protected NewSourceModulePage createNewSourceModulePage() { return new XOTclNewFilePage() { protected String getPageTitle() { return XOTclWizardMessages.NewClassPage_title; } protected String getPageDescription() { return XOTclWizardMessages.NewClassPage_description; } protected String getFileName() { final String fileText = getFileText(); String[] extensions = new String[]{"xotcl", "tcl"}; for (int i = 0; i < extensions.length; ++i) { String extension = extensions[i]; if (extension.length() > 0 && fileText.endsWith("." + extension)) { return fileText; } } return fileText + "." + extensions[0]; } protected String getFileContent() { String text = getFileText(); String className = Character.toUpperCase(text.charAt(0)) + text.substring(1); return XOTclWizardMessages.XOTcl_module_prefix + "xotcl::Class " + className + "\n"; } }; } }