Dialog Pro v2.0

          I.   Changes between version 1.0 and 2.0
          
          Changes between 1.0 and 1.1
          
          Documentation
          
          We realize that The DialogPro represents somewhat of a departure
          from the programming style you may be used to.  To help the
          transition we have provided three, new, heavily commented
          examples.
          
          Upgrades
          
          All operations now pass through the queue before being executed.
          Previously, if there was no operation in the queue the
          keyboard/mouse interpreter would poll until it received an event
          which translated into a command.  The command was then
          immediately executed.  These commands are now passed into the
          queue and then only executed as they are removed from the queue. 
          This makes debugging about 100% easier.
          
          Added features
          
          New question type.  A new question type has been added,
          scroll_txt.  This question type can be used for creating custom
          question types but includes two functions for using scroll_txt. 
          The included functions help you use scroll_txt as a scrolling
          text box or as a sub dialog box.
          
          Monitoring.  The command queue can now be monitored.  To monitor
          the command queue simply turn on the monitor switch and assign
          the monitor to a window handle.  The command queue monitor will
          then continuously scroll in the monitor window.  You can slow
          down queue execution with a delay factor or step through the
          command queue by keystroke.  This is a tremendously effective way
          to debug dialog boxes.
          
          New list type.  Elements in a list can now be indicated to be
          marked, unmarked, and in version 1.1 as titles.  Titles cannot be
          selected or returned as a selected item.  Use them to divide
          lists into segments -- e.g. segmented pull down menus.
          
          New commands.  The EXECUTE command allows you to place the
          address of a function in the command queue.  After EXECUTE is
          received the next two parameters off of the queue are used to
          construct a far address to a function.  The dialog box then calls
          the function using a pointer to the dialog box as a parameter. 
          If required, You can pass additional parameters to this function
          through the command queue.  This feature allows you to construct
          macros which call other functions.  Tremendously useful.
          
          
          
          Changes between 1.1 and 2.0



                                        - 1 -









          
          DialogPro now supports radio buttons, check boxes, and
          multi-column lists.
          
          DialogPro now allows delimiters to be placed completely around a
          response area (a box) rather than just to the left and right.
          
          DialogPro's default settings are now more similar to SAA user
          interface standards.
          
          DialogPro has improved speed, particularly with list type
          questions.
          
          DialogPro now has global macros.  You can now define macros which
          are global or local.  global macros are always processed before
          local macros.  This is very useful in creating application-wide
          hotkeys.
          
          You no longer specify an up,down,left,right for each question. 
          Instead you can only navigate to the next and previous questions
          which is determined by the questions position within the question
          array.
          
          We have added an idle function pointer, which will repeatedly
          call the function it points to as the keyboard and mouse are
          polled.
          
          Every structure which required a window handle has been added
          additional strucutre members to describe the window.  If the
          window handle is not valid it is automatically created based on
          these values.  You can therefore describe most dialog boxes
          entirely at compile time.
          
          Added some new #defines to simplify creating DialogPro macros.
          
          Dialog box colors and delimiters are now specified through a
          pointer to a color and delimiter structure rather than explicitly
          specified in each dialog box.  This makes it much simpler to
          implement design changes.
           

















                                        - 2 -









          II.  Changes Between 2.0 and 2.1
          
          
          
          Changes between 2.0 and 2.1
          
          Made minor adjustments to the way hot keys are found and
          processed.  The dialog box hot keys are now available to pulldown
          lists.  This feature makes the majority of the makemenu demo
          irrelevant and makemenu is no longer distributed.
          
          Added dialog box resource files.  Resource files can be used to
          define fairly complex libraries of dialog boxes.  DialogPro can
          create a dialog box from a resource file, display or run the
          dialog box, and then reomve it from memory.  This feature can
          save LOTs of disk space (since your dialog box structures would
          not reside in your exe file) and allows changes to be made to
          your user interface to be made without recompilation.  Resource
          files can be embedded in other files to "hide" them from users,
          make installation procedures more straight forward, etc.  For
          example, you can append your resource files to your executable
          file.  
          
          Authoring programs are included to create and test resource
          files.  This  allows system analysts to create user interfaces
          and provide them to programmers in a form that requires NO
          reprogramming or analysis on the part of the programmer.  It also
          allows you to create working sample screens that clients, users,
          and others can view with very little effort.
          
          OS/2 -- still working on it.
          
          HypeIt!  A library of hypertext tools is now included with
          DialogPro.  These hypertext tools allow you to include
          hypertext-like help into your programs.  Authoring programs are
          also included which allow to write and test hyperdocs.  Again,
          this can be done by an analyst and then incorporated verbatim
          into the program by a programmer.
          
          Changed some of the queue manipulation routines.  Previously
          there was no consistent use between signed and unsigned values. 
          This sometimes created problems as queue elements were passed
          between various functions.  All queue related functions access
          the queue elements as unsigned integers.
          












                                        - 3 -


