Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/qompass/codegen/cpp/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CCNamedProjectWizard.java')
-rw-r--r--extraplugins/qompass/codegen/cpp/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CCNamedProjectWizard.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/extraplugins/qompass/codegen/cpp/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CCNamedProjectWizard.java b/extraplugins/qompass/codegen/cpp/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CCNamedProjectWizard.java
new file mode 100644
index 00000000000..b712ac949aa
--- /dev/null
+++ b/extraplugins/qompass/codegen/cpp/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CCNamedProjectWizard.java
@@ -0,0 +1,47 @@
+package org.eclipse.papyrus.cpp.cdtproject;
+
+import org.eclipse.cdt.ui.wizards.CCProjectWizard;
+import org.eclipse.jface.wizard.IWizardPage;
+
+/**
+ * Variant of CCProjectWizard that allows for setting an initial
+ * project name. It creates the pages and sets the initial name.
+ * It does not use the standard CDTMainWizardPage but a variant
+ * called CDTMainWizardPageV that skips the first validation which
+ * would other trigger an error.
+ *
+ * @see org.eclipse.papyrus.cpp.cdtproject.CDTMainWizardPageV
+ */
+public class CCNamedProjectWizard extends CCProjectWizard {
+
+ public CCNamedProjectWizard(String projectName) {
+ this.projectName = projectName;
+ dontAdd = false;
+ }
+
+ @Override
+ public void addPages() {
+ dontAdd = true;
+ // avoid that page is actually added, since we want to add our page below
+ super.addPages();
+ dontAdd = false;
+ String title = fMainPage.getTitle();
+ String desc = fMainPage.getDescription();
+ fMainPage = new CDTMainWizardPageV(fMainPage.getName());
+ fMainPage.setTitle(title);
+ fMainPage.setDescription(desc);
+ fMainPage.setInitialProjectName(projectName);
+ addPage(fMainPage);
+ }
+
+ @Override
+ public void addPage(IWizardPage page) {
+ if (!dontAdd) {
+ super.addPage(page);
+ }
+ }
+
+ private String projectName;
+
+ private boolean dontAdd;
+}

Back to the top