SP SuperLib Environment Functions

 SETCOLORS()    Interactive color setting interface

 SATTPOP()      Pops previously pushed SuperLib interface variables
 SATTPUSH()     Pushes the current SuperLib interface variables
 SATTPICKPUT()  Stores SuperLib environment variables to COLORS.DBF
                with picklist
 SATTPICKDEL()  Picklist deletion of stored color sets
 SATTPUT()      Stores current SuperLib environment variables to DBF
 SLS_*()        Series of functions for system settings and colors
 SLSF_*()       Series of functions to determine system file names and
 INITSUP()      Sets SuperLib system interface vars for MONO or COLOR
 SATTDIRECT()   Sets up the the system color and interface settings directly
 SATTGET()      Sets up SuperLib environment variables from COLORS.DBF
 SATTCOLOR()    Sets up the the system color and interface settings
                for color monitor
 SATTPICK()     Sets up SuperLib environment vars by selecting from
                stored definitions
 SATTMONO()     Sets up the the system color and interface settings
                for MONOCHROME monitor
 SATTGETMEM()   Sets up SuperLib environment variables from old
                COLORS.MEM file



  SETCOLORS() Interactive color setting interface



  This is a development tool for finding nice
  combinations of colors for the global superfunction colors. I would
  not give this to an end user, as it is just TOO MANY CHOICES! I
  normally select 10-15 nice combinations of the colors and give
  the user a selection of those, giving them such names as
  'Hawaiian Blue' or 'Royal Red'. In fact, see COLPIK() for just
  such a function.

  If SETBLINK() is set to False (.f.), the high
  intensity colors will be available - if your monitor supports them.


  First, a word on the Superfunction color scheme:

  This is not the perfect color scheme. It is the one
  on which this library runs. (hey - I hadda pick something) I
  also realize full well that color selection is more art than it
  is technical, and it is difficult to get two people to agree on
  a color scheme.

  Several global color settings are used, and they are
  recorded and accessed via the functions:

     sls_normcol([cNew])    -  For normal input/output
     sls_normmenu([cNew])   -  For normal 'menu to' operations
     sls_popcol([cNew])     -  For popup box colors
     sls_popmenu([cNew])    -  For popup box menus
     sls_frame([cNew])      -  Frame string
     sls_shadatt([nNew])    -  Shadow color attribute
     sls_shadpos([nNew])    -  Shadow position (0,1,3,7,9)
     sls_xplode([lNew])     -  Logical - explode windows?

     (All of the colors are of the format "f/b,f/b,,,f/b"
      where f=foreground b=background)

  SETCOLORS() allows interactive setting of these
  colors. The settings can stored as color sets in COLORS.DBF -
  which is created if needed by SETCOLORS().

  If COLORS.DBF is not present, SuperLib will use a
  default set of colors.

  See the SATT*() functons, and the SLS_*() functions
  for more info.

  See the appendix for more general colors info.

  See the upgrade notes for more info on upgrading from
  older SuperLibs, which used a public variable scheme.





  INITSUP() Sets SuperLib system interface vars for MONO or COLOR



  Checks SLS_ISCOLOR(), and calls SATTCOLOR() or
  SATTMONO() appropriately, to set to default color or mono color
  sets. This is only done the first time INITSUP() is called.

  If [lMakePublic] is True (default), the old style
  SuperLib PUBLIC variables are declared and set to their
  corresponding values based on the new SLS_*() and SLSF_*()
  functions. This is to help with conversion, but be sure to
  change any reference to the old style PUBLIC variables to the
  new function calls, as the PUBLICs will not be an option in the
  next SuperLib.

  Each time INITSUP() is called with (True), the values
  in the PUBLIC variables are reset from their SLS_*() and
  SLSF_*() counterparts. The PUBLIC declaration is only done

   INITSUP(.f.)  // do not initialize publics

  This is mainly here for compatibility with older
  versions, where INITSUP() was everywhere. INITSUP() previously
  set up the PUBLIC variables for use by SuperLib. The PUBLIC
  variable set have now been replaced by the SET/ACCESS function
  scheme in S_ATTRIB.PRG. INITSUP()'s previous duties have been
  replaced by the functions:


  See the APPENDIX for upgrading guidance.