NAME
        StringMaker

   DESCRIPTION
        This module creates an output string which can be built from several
        input parameters.  It can be used to gather data from various modules
        to form a complex string for use in other modules that accept strings
        such as Text2D and Text3D.  The parameter values come from the input
        ports "V1" through "V10".  Each of those input ports can have any
        parameter type (long, double, or string) attached to them.
        
        In order to build the output string, a string format specification and a
        variable list is used.  StringMaker first determines if the variable list
        (the "Variables" widget) is valid.  It consists of a series of input port
        names ("V1" through "V10" disregarding case) separated by spaces.
        Each of these port names should correspond to a formatting code in the
        string's format specification (the "Format" widget).  The formatting of
        the variable values is done using exactly the same codes as for "C"-
        language functions such as printf.  Briefly, it looks something like:
        
           %<width>.<precision><type>
        
        The <width> is an integer specifying the size of the field used to format
        the value.  The <precision> is the number of decimal places to be used
        for floating-point type values, the minimum number of digits for non-
        floating-point type values, and the maximum number of characters for
        strings.  The <type> is a single character determining the way that the
        value will be represented.  The basic types are:
        
           d - integer number
           o - octal number
           x - hexadecimal number
           f - floating point number
           e - same as "f" but using scientific notation
           g - same as "f" but without trailing zeros
           c - single ASCII character
           s - ASCII string
        
        By default, a value is right-justified in the field width.  Inserting a "-"
        directly after the "%" character will left-justify the value.  For further "C"
        formatting information, refer to the printf man page.  When StringMaker
        finds a formatting code, it accordingly formats the value of the
        corresponding variable in the string's variable list.  Any text that is not
        part of a formatting code is simply copied through to the output string
        in order.
        
        This module is similar to Gordon Cameron's Titler module, but it is
        somewhat more flexible in that it can do type conversions (i.e. printing
        an integer value as a character), any parameter port can be any type,
        and there are more ports.  StringMaker also has more extensive error
        checking.

   INPUTS

      V1 -- Parameter
         This is input parameter 1.

      V2 -- Parameter
         This is input parameter 2.

      V3 -- Parameter
         This is input parameter 3.

      V4 -- Parameter
         This is input parameter 4.

      V5 -- Parameter
         This is input parameter 5.

      V6 -- Parameter
         This is input parameter 6.

      V7 -- Parameter
         This is input parameter 7.

      V8 -- Parameter
         This is input parameter 8.

      V9 -- Parameter
         This is input parameter 9.

      V10 -- Parameter
         This is input parameter 10.

   WIDGETS

      Variables -- Text
         This is the list of variables to be used in the output string's format.

      Format -- Text
         This is the format specification for the output string.

      String -- Text
         This is the output string.

   KNOWN PROBLEMS
      There are no known bugs, however, StringMaker does have a compiled-
      in limitation to the length of the output string.  Change the
      "#define MAXOUTSTRLEN" statement at the beginning of "strmaker.c" if
      the default value of 1000 characters (which includes the NULL string
      terminator) is not enough; then just recompile.

   SEE ALSO
      Annotation, DrawText, Text, Text2D, Text3D, Titler
      
      -
      
      Hans Vahlenkamp (Hans.Vahlenkamp@noaa.gov)
      Geophysical Fluid Dynamics Laboratory / NOAA
      Princeton University Forrestal Campus
      http://www.gfdl.noaa.gov