diff --git a/io.sloeber.core/src/io/sloeber/core/api/CodeDescriptor.java b/io.sloeber.core/src/io/sloeber/core/api/CodeDescriptor.java index b2730892b..84ce7fe8a 100644 --- a/io.sloeber.core/src/io/sloeber/core/api/CodeDescriptor.java +++ b/io.sloeber.core/src/io/sloeber/core/api/CodeDescriptor.java @@ -34,7 +34,7 @@ public class CodeDescriptor { public enum CodeTypes { - defaultIno, defaultCPP, CustomTemplate, sample + None, defaultIno, defaultCPP, CustomTemplate, sample } static public final String DEFAULT_SKETCH_BASE = "sketch"; //$NON-NLS-1$ @@ -77,6 +77,10 @@ public void setReplacers(Map myReplacers) { private CodeDescriptor(CodeTypes codeType) { myCodeType = codeType; } + + public static CodeDescriptor createNone() { + return new CodeDescriptor(CodeTypes.None); + } public static CodeDescriptor createDefaultIno() { return new CodeDescriptor(CodeTypes.defaultIno); @@ -152,6 +156,8 @@ public Map createFiles(IProject project, IProgressMonitor monito switch (myCodeType) { + case None: + break; case defaultIno: Helpers.addFileToProject(project, new Path(project.getName() + ".ino"), Stream.openContentStream("/io/sloeber/core/templates/" + DEFAULT_SKETCH_INO, false,replacers), diff --git a/io.sloeber.ui/src/io/sloeber/ui/Messages.java b/io.sloeber.ui/src/io/sloeber/ui/Messages.java index 970d4f72a..8f12c37df 100644 --- a/io.sloeber.ui/src/io/sloeber/ui/Messages.java +++ b/io.sloeber.ui/src/io/sloeber/ui/Messages.java @@ -127,6 +127,7 @@ public class Messages extends NLS { public static String ui_new_sketch_arduino_information_help; public static String ui_new_sketch_custom_template; public static String ui_new_sketch_custom_template_location; + public static String ui_new_sketch_none; public static String ui_new_sketch_default_cpp; public static String ui_new_sketch_default_ino; public static String ui_new_sketch_error_failed_to_create_project; diff --git a/io.sloeber.ui/src/io/sloeber/ui/messages.properties b/io.sloeber.ui/src/io/sloeber/ui/messages.properties index f62a5cc6e..a1f383a18 100644 --- a/io.sloeber.ui/src/io/sloeber/ui/messages.properties +++ b/io.sloeber.ui/src/io/sloeber/ui/messages.properties @@ -98,6 +98,7 @@ ui_new_sketch_arduino_information=Arduino information ui_new_sketch_arduino_information_help=Provide the Arduino information. ui_new_sketch_custom_template=Custom template ui_new_sketch_custom_template_location=Custom Template Location +ui_new_sketch_none=No file ui_new_sketch_default_cpp=Default cpp file ui_new_sketch_default_ino=Default ino file ui_new_sketch_error_failed_to_create_project=Failed to create project diff --git a/io.sloeber.ui/src/io/sloeber/ui/wizard/newsketch/NewSketchWizardCodeSelectionPage.java b/io.sloeber.ui/src/io/sloeber/ui/wizard/newsketch/NewSketchWizardCodeSelectionPage.java index e58556793..b9d2c2fdf 100644 --- a/io.sloeber.ui/src/io/sloeber/ui/wizard/newsketch/NewSketchWizardCodeSelectionPage.java +++ b/io.sloeber.ui/src/io/sloeber/ui/wizard/newsketch/NewSketchWizardCodeSelectionPage.java @@ -132,6 +132,11 @@ public void handleEvent(Event event) { */ protected void SetControls() { switch (CodeTypes.values()[Math.max(0, myCodeSourceOptionsCombo.getSelectionIndex())]) { + case None: + myTemplateFolderEditor.setEnabled(false, myParentComposite); + myExampleEditor.setEnabled(false); + myCheckBoxUseCurrentLinkSample.setEnabled(false); + break; case defaultIno: myTemplateFolderEditor.setEnabled(false, myParentComposite); myExampleEditor.setEnabled(false); @@ -166,9 +171,10 @@ protected void validatePage() { return; } switch (CodeTypes.values()[Math.max(0, myCodeSourceOptionsCombo.getSelectionIndex())]) { + case None: case defaultIno: case defaultCPP: - setPageComplete(true);// default always works + setPageComplete(true);// default and no file always works break; case CustomTemplate: IPath templateFolder = new Path(myTemplateFolderEditor.getStringValue()); @@ -205,6 +211,8 @@ private void restoreAllSelections() { public CodeDescriptor getCodeDescription() { switch (CodeTypes.values()[myCodeSourceOptionsCombo.getSelectionIndex()]) { + case None: + return CodeDescriptor.createNone(); case defaultIno: return CodeDescriptor.createDefaultIno(); case defaultCPP: @@ -224,6 +232,8 @@ public CodeDescriptor getCodeDescription() { public static String getCodeTypeDescription(CodeTypes codeType) { switch (codeType) { + case None: + return Messages.ui_new_sketch_none; case defaultIno: return Messages.ui_new_sketch_default_ino; case defaultCPP: