---------------------------------------------------------
JetFormat version 1.0 Readme File
---------------------------------------------------------

(c) 2001 JeToole Technologies. All rights reserved.

--------
CONTENTS
--------

1. PRODUCT DESCRIPTION
2. INSTALLATION
3. OPTIONS
4. SETTING OPTIONS

X. KNOWN BUGS, LIMITATIONS and WORKAROUNDS


----------------------
1.  PRODUCT DESCRIPTION
----------------------

JetFormat is a Visual Studio Add-In component for reformating C++ source code.  This initial release
contains only limited reformating options. However, using these options can make reading code, written
by someone else, much easier.

This initial release is free to use and distribute.  If you like the program or you would like to see
something added or you want to report a problem, send me an email.

jetformat@att.net

----------------------
2.  INSTALLATION
----------------------
2.1   Unzip and run the setup program.
2.2   Register the Add-in dll.
      a. Open 'Command Prompt' window.
      b. Change directories, to the directory you installed the software.
      c. Run this command, "regsvr32 JetFormat.Dll"
         OMITT THE QUOTES
2.3   Add the Add-In Toolbar to Visual Studio.
      a. On the Tools menu, click Customize
      b. Click the 'Add-ins and Macro Files' tab.
      c. Click the Browse button.
      d. Navigate to the directory you installed the software.
      e. Select the 'JetFormat.Dll.
      f. Click the Open button.
      g. 'JetFormat Developer Studio Add-in' should be added to the list of 'Add-ins and Macro files'.
      h. Click the Close button, the toolbar should appear.
      i. Set the options you prefer.

----------------------
3. OPTIONS
----------------------
3.1   HKEY_LOCAL_MACHINE\SOFTWARE\JeToole Technologies\JetFormat\SpaceAfterCommand

      Insert a space between the command and the paren.
      ie. "if(" or "if ("
      1 = Yes, 0 = No

3.2   HKEY_LOCAL_MACHINE\SOFTWARE\JeToole Technologies\JetFormat\Tabs\ToSpace

      Convert all hard Tabs to Spaces.
      1 = Yes, 0 = No

3.3   HKEY_LOCAL_MACHINE\SOFTWARE\JeToole Technologies\JetFormat\Tabs\Size

      Number of Spaces to use when changing Tabs to Spaces.

3.4   HKEY_LOCAL_MACHINE\SOFTWARE\JeToole Technologies\JetFormat\Indent\Class

      Format Classes in one of the following ways.  The default is '2'.

      Format(1)              Format(4)
      class ClassName        class ClassName {
      {                          members;
         members;               };
      };
                             
      Format(2)              Format(5)
      class ClassName        class ClassName {
         {                       members;
         members;            };
         };

      Format(3)
      class ClassName
         {
            members;
         };

3.5   HKEY_LOCAL_MACHINE\SOFTWARE\JeToole Technologies\JetFormat\Indent\Function

      Format Functions in one of the following ways.  The default is '2'.

      Option(1)              Option(4)
      void function()        void function()
      {                      {
         statement;          statement;
      }                      }

      Option(2)              Option(5)
      void function()        void function()
         {                      {
         statement;                 statement;
         }                      }

      Option(3)
      void function() {
         statement;
      }

3.6   HKEY_LOCAL_MACHINE\SOFTWARE\JeToole Technologies\JetFormat\Indent\ControlStatement

      Format Control Statements in one of the following ways.  The default is '2'.

      Option(1)              Option(4)
      if (expr)              if (expr) {
      {                          statement
         statement              }
      }

      Option(2)              Option(5)
      if (expr)              if (expr) {
         {                      statement
         statement           }
         }

      Option(3)
      if (expr)
         {
            statement
         }

----------------------
4. SETTING OPTIONS
----------------------
4.1   You may edit the registry directly after running the installation or you edit the
      'JetFormat.Reg' file.  After editing the 'JetFormat.Reg' you will need to double click the
      file in the windows explorer to update the registry.

--------------------------------------------------
X.  KNOWN BUGS, LIMITATIONS, WORKAROUNDS, AND LATE-BREAKING DOCUMENTATION NOTES
--------------------------------------------------

X.1   Simple else's will not format correctly if the simple statement is a macro and the
      statement is not terminated with a ';'.
      
      EXAMPLE:             RESULT:

      if ()                if ()
         ;                    ;
      else                 else
         macro()           macro()


      WORKAROUND:

      End the statement with ';'.  macro();

X.2   case statements will not format correctly without curly braces.
      
      
      EXAMPLE:                RESULT:

      switch()                switch()
         {                       {
         case a:                 case a:
            ...                  ...
            break;               break;
         case a:                 case a:
            ...                  ...
            break;               break;
         };                      };

      

      WORKAROUND:

      Use curly braces.

      switch()
         {
         case a:
            {
            ...
            break;
            }
         case a:
            {
            ...
            break;
            }
         };
