project wizard extensions
diff --git a/core/plugins/org.eclipse.dltk.ui/plugin.xml b/core/plugins/org.eclipse.dltk.ui/plugin.xml
index de9401f..7955cfe 100644
--- a/core/plugins/org.eclipse.dltk.ui/plugin.xml
+++ b/core/plugins/org.eclipse.dltk.ui/plugin.xml
@@ -16,6 +16,7 @@
<extension-point id="modelLabelProvider" name="modelLabelProvider" schema="schema/modelLabelProvider.exsd"/>
<extension-point id="modelCompareProvider" name="modelCompareProvider" schema="schema/modelCompareProvider.exsd"/>
<extension-point id="projectTemplate" name="Project Template" schema="schema/projectTemplate.exsd"/>
+ <extension-point id="projectWizardExtension" name="Project Wizard Extension" schema="schema/projectWizardExtension.exsd"/>
<extension
id="DLTKSearchResultPage"
point="org.eclipse.search.searchResultViewPages">
diff --git a/core/plugins/org.eclipse.dltk.ui/schema/projectWizardExtension.exsd b/core/plugins/org.eclipse.dltk.ui/schema/projectWizardExtension.exsd
new file mode 100644
index 0000000..f548911
--- /dev/null
+++ b/core/plugins/org.eclipse.dltk.ui/schema/projectWizardExtension.exsd
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.dltk.ui" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.dltk.ui" id="projectWizardExtension" name="Project Wizard Extension"/>
+ </appInfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="projectWizardExtension" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="projectWizardExtension">
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.dltk.ui.dialogs.IProjectWizardOption"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="nature" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/wizards/IProjectWizardExtension.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/wizards/IProjectWizardExtension.java
new file mode 100644
index 0000000..5bf2f33
--- /dev/null
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/wizards/IProjectWizardExtension.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 xored software, Inc.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * xored software, Inc. - initial API and Implementation (Alex Panchenko)
+ *******************************************************************************/
+package org.eclipse.dltk.ui.wizards;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+
+/**
+ * @since 2.0
+ */
+public interface IProjectWizardExtension {
+
+ void createControls(IProjectWizardExtensionContext context);
+
+ /**
+ * @param project
+ * @param monitor
+ * @throws CoreException
+ */
+ void postConfigure(IProject project, IProgressMonitor monitor)
+ throws CoreException;
+
+}
diff --git a/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/wizards/IProjectWizardExtensionContext.java b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/wizards/IProjectWizardExtensionContext.java
new file mode 100644
index 0000000..0edabea
--- /dev/null
+++ b/core/plugins/org.eclipse.dltk.ui/src/org/eclipse/dltk/ui/wizards/IProjectWizardExtensionContext.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2009 xored software, Inc.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * xored software, Inc. - initial API and Implementation (Alex Panchenko)
+ *******************************************************************************/
+package org.eclipse.dltk.ui.wizards;
+
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * @since 2.0
+ */
+public interface IProjectWizardExtensionContext {
+
+ Composite getControl();
+
+ GridLayout initGridLayout(GridLayout layout, boolean margins);
+
+}