JAL-629 Fix --tempfac. Hide non-working --notempfac. Add --scale, --width, --height...
[jalview.git] / src / jalview / bin / argparser / Arg.java
index 95b6b43..6fcc011 100644 (file)
@@ -16,6 +16,9 @@ public enum Arg
 
   // Initialising arguments (BOOTSTRAP)
   HELP("Display this help statement", Opt.UNARY, Opt.BOOTSTRAP),
 
   // Initialising arguments (BOOTSTRAP)
   HELP("Display this help statement", Opt.UNARY, Opt.BOOTSTRAP),
+  VERSION("Display the version of "
+          + ChannelProperties.getProperty("app_name"), Opt.UNARY,
+          Opt.BOOTSTRAP),
   HEADLESS(
           "Run Jalview in headless mode. No GUI interface will be created and Jalview will quit after all arguments have been processed.",
           Opt.UNARY, Opt.BOOTSTRAP),
   HEADLESS(
           "Run Jalview in headless mode. No GUI interface will be created and Jalview will quit after all arguments have been processed.",
           Opt.UNARY, Opt.BOOTSTRAP),
@@ -99,7 +102,8 @@ public enum Arg
           Opt.STRING, Opt.LINKED, Opt.MULTI),
   NOTEMPFAC(
           "Do not show the temperature factor annotation for the preceding --structure.",
           Opt.STRING, Opt.LINKED, Opt.MULTI),
   NOTEMPFAC(
           "Do not show the temperature factor annotation for the preceding --structure.",
-          Opt.UNARY, Opt.LINKED),
+          Opt.UNARY, Opt.LINKED, Opt.SECRET), // keep this secret until it
+                                              // works!
   SHOWSSANNOTATIONS(null, Opt.BOOLEAN, Opt.LINKED),
 
   // Outputting files
   SHOWSSANNOTATIONS(null, Opt.BOOLEAN, Opt.LINKED),
 
   // Outputting files
@@ -114,6 +118,12 @@ public enum Arg
           "Sets whether text in a vector image format (SVG, HTML, EPS) should be rendered as text or vector line-art. Possible values for name are:\n"
                   + "text,\n" + "lineart.",
           Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
           "Sets whether text in a vector image format (SVG, HTML, EPS) should be rendered as text or vector line-art. Possible values for name are:\n"
                   + "text,\n" + "lineart.",
           Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+  SCALE("Sets a scaling for bitmap image format (PNG). Should be given as a floating point number. If used in conjunction with --width and --height then the smallest scaling will be used (scale, width and height provide bounds for the image).",
+          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+  WIDTH("Sets a width for bitmap image format (PNG) with the height maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --scale and --height then the smallest scaling will be used (scale, width and height provide bounds for the image).",
+          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
+  HEIGHT("Sets a height for bitmap image format (PNG) with the width maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --scale and --width then the smallest scaling will be used (scale, width and height provide bounds for the image).",
+          Opt.STRING, Opt.LINKED, Opt.ALLOWALL),
   OUTPUT("Export the open alignment to file filename. The format name is specified by the subval modifier format=name, a following --format name argument or guessed from the file extension. Valid format names (and file extensions) are:\n"
           + "fasta (fa, fasta, mfa, fastq),\n" + "pfam (pfam),\n"
           + "stockholm (sto, stk),\n" + "pir (pir),\n" + "blc (blc),\n"
   OUTPUT("Export the open alignment to file filename. The format name is specified by the subval modifier format=name, a following --format name argument or guessed from the file extension. Valid format names (and file extensions) are:\n"
           + "fasta (fa, fasta, mfa, fastq),\n" + "pfam (pfam),\n"
           + "stockholm (sto, stk),\n" + "pir (pir),\n" + "blc (blc),\n"
@@ -459,6 +469,11 @@ public enum Arg
         options.add("allows substitutions");
       }
 
         options.add("allows substitutions");
       }
 
+      if (a.hasOption(Opt.ALLOWALL))
+      {
+        options.add("can be applied to all linked arguments");
+      }
+
       if (a.hasOption(Opt.PRIVATE))
       {
         options.add("for internal use only");
       if (a.hasOption(Opt.PRIVATE))
       {
         options.add("for internal use only");