/****************************************************************************
 File: readme.txt

 (C) Copyright 1992 by GO Corporation, All Rights Reserved.

 $Revision:   1.4  $
   $Author:   kcatlin  $
     $Date:   31 Jan 1992 08:44:42  $

 Toolkit Demo (a.k.a. tkdemo) shows how to use many of the classes in 
 PenPoint's UI Toolkit. Although it is not exhaustive, it does provide 
 many examples of using the Toolkit's APIs and setting fields to get 
 different functionality and visual effects. 

 Tkdemo does not show how to use trackers, grab boxes, or progress bars.
****************************************************************************/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *								Objectives					  			   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
 This sample application shows how to:

	-:	use most of the classes in the PenPoint UI Toolkit
	-:	create a table layout
	-:	create a custom layout
	-:	provide multiple option cards for an application subclass
	-:	determine if an option card should be applicable, based on the 
		current selection
	-:	provide a bitmap for clsIcon
	-: 	create a scrollwin as the app's frame client window
	-:	specify an application version number.
*/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *								Class Overview	  						   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
 Toolkit Demo defines one class: clsTkDemo.
 It makes use of the following classes:

	clsApp
	clsAppMgr
	clsBitmap
	clsBorder
	clsButton
	clsChoice
	clsCustomLayout
	clsDateField
	clsField
	clsFixedField
	clsFontListBox
	clsIcon
	clsIntegerField
	clsLabel
	clsListBox
	clsMenu
	clsMenuButton
	clsNote
	clsOptionTable
	clsPopupChoice
	clsScrollWin
	clsStringListBox
	clsTabBar
	clsTabButton
	clsTableLayout
	clsTextField
	clsTkTable
	clsToggleTable

 clsTkDemo creates a scrollwin as its frame client window. This lets
 the demonstration's windows be larger than the frame. A scrollwin can
 have many client windows, but it shows only one at a time. So, tkdemo
 creates several child windows, one for each of the topics it demonstrates.
 clsTkDemo also creates a tab that corresponds to each window. The tab 
 buttons are set up so that their instance data includes the UID of the
 associated window. When the user taps on the tab, the tab sends
 msgTkDemoShowCard to the application. Tkdemo then switches to that
 window by sending msgScrollWinShowClintWin to the scrollwin.

 An interesting point is that, to avoid receiving messages while it is
 creating windows, tkdemo only sets itself as the client of its tab bar
 after it has created all the windows.

 clsTkDemo's instance data is the tag of the current selection and the UIDs
 of its option sheets. It files all of this in response to msgSave.
*/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *									Files Used	  						   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* 
 The code for Toolkit Demo is in \PENPOINT\SDK\SAMPLE\TKDEMO. The files are:

	BORDERS.C:		code for creating different kinds of borders
	BUTTONS.C:		code for creating different kinds of buttons
	CUSTOMS.C:		code for creating clsCustomLayout instances
	FIELDS.C:		code for handwriting fields of clsField and its
					descendants clsDateField, clsFixedField, clsIntegerField,
					and clsTextField
	GOLOGO.INC:		include file containing a hand-coded GO logo bitmap
	ICON.RES:		resource file for a smiley face, created with PenPoint's
					bitmap editor
	ICONS.C:		code for creating different kinds of icons
	LABELS.C:		code for creating clsLabel instances with different
					fonts, rows, columns, etc.
	LBOXES.C:		code for making list boxes (clsListBox, clsStringListBox,
					and clsFontListBox)
	METHODS.TBL:	the method table for the tkdemo app
	NOTES.C:		creates different kinds of instances of clsNote
	OPTABLES.C:		creates a sample option table
	OPTIONS.C:		demonstrates option cards and their protocol, and also
					creates an instance of clsPopUpChoice
	TABLES.C:		creates various tables (instances of clsTableLayout)
	TKDEMO.C:		code for the overall Toolkit Demo application
	TKDEMO.H:		header file for the application class
	TKTABLES.C:		code for creating several subclasses of clsTkTable, 
					including clsMenu, clsChoice, and clsTabBar.
*/ 

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *								Compiling	  							   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* 
 To compile Toolkit Demo, just 
	cd \penpoint\sdk\sample\tkdemo
	wmake
 This compiles the application and creates TKDEMO.EXE in 
 \PENPOINT\APP\TKDEMO.
*/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *								Running	  								   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* 
 After compiling Toolkit Demo, you can run it by
	1) Adding \\boot\penpoint\app\Toolkit Demo to \PENPOINT\BOOT\APP.INI
    2) Booting PenPoint
	3) Creating a new Toolkit Demo document, and turning to it.
 Alternatively, you can boot PenPoint and then install Toolkit Demo
 via the Connections Notebook.
*/

