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

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

 $Revision:   1.3  $
   $Author:   kcatlin  $
     $Date:   31 Jan 1992 08:07:48  $

 The calculator application implements a typical push-button calculator. This 
 program is split into an application, which handles the user interface,
 and a calculator engine, which performs the computations. 
****************************************************************************/

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

	-:	separate out part of an application into a re-useable dynamic 
		link library
	-:	have an application be an accessory
	-:	use ClsSymbolsInit()
	-:	use table layout and custom layout
	-: 	use labels
	-:	use TK_TABLE_ENTRY struct to create a collection of buttons
		in one fell swoop
	-: 	handle ButtonNotify-style messages
	-:	change the default window size
	-:	file data.
*/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *								Class Overview	  						   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
 Calc defines two classes: clsCalcApp and clsCalcEngine.
 It makes use of the following classes:

	clsAppMgr
	clsClass
	clsCustomLayout
	clsLabel
	clsObject
	clsTkTable

 When clsCalcApp receives msgAppOpen, it creates a set of windows (all
 of which are standard UI components):

	-:	a table of buttons (clsTkTable) for the calculator's push buttons
	-:	a label (clsLabel) for the calculator's display
	-:	a window (clsCustomLayout) to hold the label and the button table.

 The application destroys these windows when it receives msgAppClose.

 In its msgAppInit handler, the application creates an instance of 
 clsCalcEngine, the calculator engine. This class performs arithmetic 
 operations.

 Although clsCalcApp does not file any of its views, it does
 file the string that is displayed in its label. It also files the calculator
 engine object by sending it msgResPutObject (in response to msgSave) and
 msgResGetObject (in response to msgRestore).
*/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *									Files Used	  						   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* 
 The code for Calc is in \PENPOINT\SDK\SAMPLE\CALC. The files are:

	CALC.DLC:	indicates the dependency of the calculator application 
				upon the calculator engine
	CALCAPP.C:	clsCalcApp's code and initialization
	CALCAPP.H:	header file for the application class
	CALCENG.C:	clsCalcEng's code and initialization
	CALCENG.H:	header file for the calculator engine
	CAPPMETH.TBL:	method table for the application
	CENGMETH.TBL:	method table for the engine
	DLL.LBC:	list of exported functions for the Watcom linker
	S_CALC.C:	symbol name definitions and call to ClsSymbolsInit().
*/ 

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *								Compiling	  							   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* 
 To compile Calc, just 
	cd \penpoint\sdk\sample\calc
	wmake
 This compiles the dynamic link library and the application, and creates 
 CALC.DLL and CALC.EXE in \PENPOINT\APP\CALC. It also copies CALC.DLC to
 \PENPOINT\APP\CALC.
*/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *								Running	  								   *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* 
 After compiling Calc, you can run it by
	1) Adding \\boot\penpoint\app\Calculator to	\PENPOINT\BOOT\APP.INI
    2) Booting PenPoint
	3) Tapping on the Accessories icon to open it, and then tapping on 
	"Calculator".
 Alternatively, you can boot PenPoint and then install Calculator via the 
 Connections Notebook.
*/

