aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizardState.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizardState.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizardState.java125
1 files changed, 125 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizardState.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizardState.java
new file mode 100644
index 000000000..9cd3a6dcf
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/wizards/templates/NewProjectWizardState.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.ide.eclipse.adt.internal.wizards.templates;
+
+import static com.android.ide.eclipse.adt.internal.wizards.templates.NewProjectWizard.CATEGORY_PROJECTS;
+
+import com.android.ide.eclipse.adt.AdtUtils;
+import com.android.ide.eclipse.adt.internal.assetstudio.CreateAssetSetWizardState;
+import com.android.sdklib.IAndroidTarget;
+
+import org.eclipse.ui.IWorkingSet;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Value object which holds the current state of the wizard pages for the
+ * {@link NewProjectWizard}
+ */
+public class NewProjectWizardState {
+ /** Creates a new {@link NewProjectWizardState} */
+ public NewProjectWizardState() {
+ template = TemplateHandler.createFromName(CATEGORY_PROJECTS,
+ "NewAndroidApplication"); //$NON-NLS-1$
+ }
+
+ /** The template handler instantiating the project */
+ public final TemplateHandler template;
+
+ /** The name of the project */
+ public String projectName;
+
+ /** The derived name of the activity, if any */
+ public String activityName;
+
+ /** The derived title of the activity, if any */
+ public String activityTitle;
+
+ /** The application name */
+ public String applicationName;
+
+ /** The package name */
+ public String packageName;
+
+ /** Whether the project name has been edited by the user */
+ public boolean projectModified;
+
+ /** Whether the package name has been edited by the user */
+ public boolean packageModified;
+
+ /** Whether the activity name has been edited by the user */
+ public boolean activityNameModified;
+
+ /** Whether the activity title has been edited by the user */
+ public boolean activityTitleModified;
+
+ /** Whether the application name has been edited by the user */
+ public boolean applicationModified;
+
+ /** The compilation target to use for this project */
+ public IAndroidTarget target;
+
+ /** The minimum SDK API level, as a string (if the API is a preview release with a codename) */
+ public String minSdk;
+
+ /** The minimum SDK API level to use */
+ public int minSdkLevel;
+
+ /** The target SDK level */
+ public int targetSdkLevel = AdtUtils.getHighestKnownApiLevel();
+
+ /** Whether this project should be marked as a library project */
+ public boolean isLibrary;
+
+ /** Whether to create an activity (if so, the activity state is stored in
+ * {@link #activityValues}) */
+ public boolean createActivity = true;
+
+ /** Whether a custom icon should be created instead of just reusing the default (if so,
+ * the icon wizard state is stored in {@link #iconState}) */
+ public boolean createIcon = true;
+
+ // Delegated wizards
+
+ /** State for the asset studio wizard, used to create custom icons */
+ public CreateAssetSetWizardState iconState = new CreateAssetSetWizardState();
+
+ /** State for the template wizard, used to embed an activity template */
+ public NewTemplateWizardState activityValues = new NewTemplateWizardState();
+
+ /** Whether a custom location should be used */
+ public boolean useDefaultLocation = true;
+
+ /** Folder where the project should be created. */
+ public String projectLocation;
+
+ /** Configured parameters, by id */
+ public final Map<String, Object> parameters = new HashMap<String, Object>();
+
+ /** The set of chosen working sets to use when creating the project */
+ public IWorkingSet[] workingSets = new IWorkingSet[0];
+
+ /**
+ * Returns the build target API level
+ *
+ * @return the build target API level
+ */
+ public int getBuildApi() {
+ return target != null ? target.getVersion().getApiLevel() : minSdkLevel;
+ }
+}