----------------------------------------------------------------------
-----------------  ZAF 5 EXAMPLE PROGRAMS  ---------------------------
----------------------------------------------------------------------


Hello
-----
Most trivial of all example programs.  Basic window creation.

   Hello1  - Create a simple window in straight code.

   Hello2  - Load a simple window from a persistent object data file.

   Hello3  - Designer-generated application and data file.



Derive
------
Simple example showing the use of a derived object within the Designer.

   Derive  - Demonstrates the use of the various persistence functions.



Draw
----
Custom user palettes and basic custom drawing functionality.

   Draw1   - Simple example uses ZafDisplay drawing primitives.

   Draw2   - Simple example draws an on/off LED.

   Draw3   - More impressive example builds on "Draw2" to draw a
             traffic light.



Bitmap
------
Demonstrates simple derivation and use of ZafDataManager to build a useful
AnimatedBitmap class suitable for end-user applications.

   Bitmap1 - Simple derived class to read and display ZafBitmapData.

   Bitmap2 - Improved bitmap display class generalized for application use.

   Bitmap3 - Simple animated bitmap class derived from previous class.

   Bitmap4 - Improved animated bitmap class generalized for application use.
             Shows use of ZafDataManager to allocate, free, and track data
             elements.

   Bitmap5 - Simple application that demonstrates one use of the improved
             animated bitmap class.



Image
-----
Shows how to load a ZafImage object by choosing the native file with a
ZafFileDialog.

   Image   - Simple example that opens ZafImage files.



Timer
-----
Shows different uses of ZafTimer notifying ZafUTime objects each second.

   Timer1  - Creates a different timer element for each ZafUTime object.

   Timer2  - Creates only one timer element, for multiple ZafUTime objects.



Tree
----
Shows how to create a ZafTree with several levels of ZafTreeItems. Also shows
how to assign different bitmaps for expanded and compressed tree items.

   Tree    - Simple example that creates a ZafTree.



Table
-----
Shows different types of table appearance and data interface.

   Table1  - The most common type of table: row and column headers,
             grid lines, non-bordered children.

   Table2  - Same program: no row header, no grid lines, bordered children.

   Table3  - Same program: no grid lines, non-bordered children.  Looks like
             a list control.

   Table4  - Simple, home-grown database example.

   Table5  - Simple table example with ZafTable object created in the
             Designer.



Intl
----
Shows how to use internationalization in an application.

   Intl1   - Creates a window with a prompt showing the international
             settings of the running application.

   Intl2   - Creates a window with several fields that depend on
             the locale of the machine.

   Intl3   - Creates a window with several fields that depend on
             the locale of the machine.  It adds the ability for the end
             user to request different international settings.



Format
------
Shows how to format the input and output of the ZAF data objects.

   Bignum  - Shows how to format a ZafBignum.

   Date    - Shows how to format a ZafDate.

   Integer - Shows how to format a ZafInteger.

   Real    - Shows how to format a ZafReal.

   Time    - Shows how to format a ZafTime.

   UTime   - Shows how to format a ZafUTime.



PopUp
-----
Shows how to create and add a popup menu to the window manager.

   PopUp   - Simple example that creates the popup on a right mouse click.



SysMenu
-------
Shows how to create a custom system menu via the ZafSystemButton class.

   SysMenu - Simple example that builds a custom system menu.



Event
-----
Demonstrates event concepts such as event flow and trapping.

   Event1  - Simple example that sends and traps user-defined events.

   Event2  - More complicated example that demonstrates event concepts by
             sending and trapping user-defined events, trapping events
             with user functions, putting events onto the event manager's
             queue, trapping keyboard and mouse events, and more.

   Event3  - Simple example of eyes following the mouse, demonstrating
             mouse capture event routing techniques in ZAF.



Window
------
Shows how to create various kinds of windows using ZAF's window classes.

   DlgWin  - Simple example that builds a dialog window.

   MDIWin  - Simple example that builds an MDI parent window with 3
             MDI child windows.

   MsgWin  - Simple example that builds a message window.

   SclWin  - Simple example that builds a scrolling window.

   Window  - More complicated example that builds an MDI parent window
             with 3 MDI child windows with a simple help window. Menu
             items allow the user to open and rearrange child windows.



Chart
-----
Shows how to utilize ZafChart class.

   Chart   - Shows how to create various kinds of chart objects using
             ZAF and ChartFolio libraries.



GMgr
----
Shows how to programmatically utilize geometry management.

   GMgr    - Shows various aspects of geometry managment using several
             objects.



Split
------
Shows how to use the ZafSplitter object and manage the different panes.

   Split1  - Simple example that shows a single splitter with two
             text objects.

   Split2  - Shows both horizontal and vertical splitters with a ZafTree,
             ZafText, and ZafList objects in the panes.

   Split3  - Shows a vertical splitter with a ZafScrolledWindow and
             ZafVtList as pane objects. Objects that can't have the
             ZAF_AVAILABLE_REGION attribute set must be added to some
             object like a ZafWindow, which is then added as the pane
             object for the splitter. This example shows this subtle
             implication of the ZafSplitter.

   Split4  - Shows dynamically adding and subtracting a splitter.



Print
-----
Shows how to utilize ZafPrinter to print with ZAF.

   Print   - Shows how to use ZafPrinter's graphic primitives.

   Report  - Shows how to use ZafPrinter's report capabilities.
