JAL-629 Change behaviour of --open GLOB to increment defaultLinkedId to allow --allfr...
[jalview.git] / src / jalview / bin / argparser / Arg.java
index 91cfe4d..6c3e6ae 100644 (file)
@@ -54,6 +54,12 @@ public enum Arg
              // user.
     ALLOWALL, // This Arg can use the '*' linkedId to apply to all known
               // linkedIds
+    INCREMENTDEFAULTCOUNTER, // If an Arg has this option and the default
+                             // linkedId is used, the defaultLinkedIdCounter is
+                             // incremented *first*.
+    INPUT, // This Arg counts as an input for REQUIREINPUT
+    REQUIREINPUT, // This Arg can only be applied via --allframes if there is an
+                  // input (i.e. --open or --append)
   }
 
   static
@@ -81,9 +87,9 @@ public enum Arg
     SORTBYTREE.setOptions(true, Opt.BOOLEAN);
     USAGESTATS.setOptions(true, Opt.BOOLEAN);
     APPEND.setOptions(Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.GLOB,
-            Opt.ALLOWSUBSTITUTIONS);
-    OPEN.setOptions(Opt.STRING, Opt.LINKED, Opt.MULTI, Opt.GLOB,
-            Opt.ALLOWSUBSTITUTIONS);
+            Opt.ALLOWSUBSTITUTIONS, Opt.INPUT);
+    OPEN.setOptions(Opt.STRING, Opt.LINKED, Opt.INCREMENTDEFAULTCOUNTER,
+            Opt.MULTI, Opt.GLOB, Opt.ALLOWSUBSTITUTIONS, Opt.INPUT);
     PROPS.setOptions(Opt.STRING, Opt.BOOTSTRAP);
     QUESTIONNAIRE.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP);
     SETPROP.setOptions(Opt.STRING, Opt.MULTI, Opt.BOOTSTRAP);
@@ -93,7 +99,7 @@ public enum Arg
     VSESS.setOptions(Opt.UNARY);
 
     OUTPUT.setOptions(Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS,
-            Opt.ALLOWALL);
+            Opt.ALLOWALL, Opt.REQUIREINPUT);
 
     SSANNOTATIONS.setOptions(Opt.BOOLEAN, Opt.LINKED);
     NOTEMPFAC.setOptions(Opt.UNARY, Opt.LINKED);
@@ -107,7 +113,7 @@ public enum Arg
     STRUCTUREVIEWER.setOptions(Opt.STRING, Opt.LINKED, Opt.MULTI);
     WRAP.setOptions(Opt.BOOLEAN, Opt.LINKED);
     IMAGE.setOptions(Opt.STRING, Opt.LINKED, Opt.ALLOWSUBSTITUTIONS,
-            Opt.ALLOWALL);
+            Opt.ALLOWALL, Opt.REQUIREINPUT);
     QUIT.setOptions(Opt.UNARY);
     CLOSE.setOptions(Opt.UNARY, Opt.LINKED, Opt.ALLOWALL);
     DEBUG.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP);
@@ -123,6 +129,7 @@ public enum Arg
     UNSETARGFILE.setOptions(Opt.MULTI, Opt.PRIVATE, Opt.NOACTION);
     WEBSERVICEDISCOVERY.setOptions(Opt.BOOLEAN, Opt.BOOTSTRAP);
     ALLFRAMES.setOptions(Opt.BOOLEAN, Opt.MULTI, Opt.NOACTION);
+
   }
 
   private final String[] argNames;