public class UiCommonModule extends AbstractGenericModule {
private final AbstractUIPlugin plugin;
public UiCommonModule(AbstractUIPlugin plugin) {
this.plugin = plugin;
}
@Override
public void configure(Binder binder) {
super.configure(binder);
binder.bind(AbstractUIPlugin.class).toInstance(plugin);
binder.bind(IDialogSettings.class).toInstance(plugin.getDialogSettings());
}
public Class<? extends IProjectCreator> bindIProjectCreator() {
return CommonProjectCreator.class;
}
public java.lang.ClassLoader bindClassLoaderToInstance() {
return getClass().getClassLoader();
}
public Class<? extends IImageHelper> bindIImageHelper() {
return PluginImageHelper.class;
}
public void configureFileExtensions(Binder binder) {
binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("any");
}
}
public class NewProjectWizard extends XtextNewProjectWizard implements
INewWizard {
private WizardNewProjectCreationPage mainPage;
@Inject
public NewProjectWizard(IProjectCreator projectCreator) {
super(projectCreator);
setWindowTitle("New Project");
}
public void addPages() {
mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");
mainPage.setTitle("My Project");
addPage(mainPage);
}
@Override
protected IProjectInfo getProjectInfo() {
MainProjectInfo projectInfo = new MainProjectInfo();
projectInfo.setProjectName(mainPage.getProjectName());
return projectInfo;
}
}