MasterBuilder README.TXT
=============================
Version 2.0.2      4.March.1997

Note: Turn wordwrap on to view this document.

What is MasterBuilder?
======================
MasterBuilder is a general purpose builder that integrates with the Visual FoxPro Form and Class Designer. Think of it as a special, customised property sheet.

MasterBuilder can either be used as a replacement/wrapper for BUILDER.APP (ie, set _BUILDER=MBUILDER.APP); or can be registered in the builder registry (WIZARDS\BUILDER.DBF) for selection from the standard builder picklist. 

Features
--------
Fast Modeless operation. MasterBuilder floats on the VFP desktop (like the property sheet), and clicking on it will bring the window to the forground, with properties of the currently selected objects ready for editing.  


Installing MasterBuilder
========================
Copy MBUILDER.APP to an appropriate location of your choice on your hard drive (C:\FOXUTILS\BUILDERS for example).

To install MasterBuilder, just DO MBUILDER.APP from the command window in VFP. MasterBuilder will register itself in the Visual FoxPro builder registry. MasterBuilder will also ask you whether you wish to set _BUILDER to point to MBUILDER.APP for the rest of your VFP session.


Using MasterBuilder
===================
Right-click with the mouse on a form or object, and select "Builder..." from the context menu. 

a)	If _BUILDER is pointing to MasterBuilder (via the ToolsOptions dialog, or by executing _BUILDER = MBUILDER.APP from the command window) then the MasterBuilder window will appear immediately.

b)	If _BUILDER is set to the default FoxPro builder, then for those object types that do not have a builder registered, MasterBuilder will be invoked directly. Where a specific builder has been registered, a list of available builders will appear, allowing you to select one to use.

MasterBuilder also allows you to *temporarily* set _BUILDER to itself for the duration of your FoxPro session, so that it is invoked directly. (See <Options> below.) Re-starting VFP will reset _BUILDER to the default value shown in the FoxPro Options... dialog under "File Locations".)

MasterBuilder is non-modal. If you press the < Apply > button, the MasterBuilder writes your changes back to the selected object(s), and the window deactivates. You can select another object, then click on the MasterBuilder window, which will activate with the new objects properties ready for editing.

You can access its properties at any time by using the _MASTERBUILDER public object reference. For example, try ? _MASTERBUILDER.Version() in the Command window.

	
Add-Ins
-------
You can add your own customised builder function to MasterBuilder by registering an "add-in" with the masterBuilder module table, MBUILDER.DBF. This file has a simple structure, with three character fields: BASECLASS, CLASS, and PROGRAM. You can register your own form for manipulating the properties of, say, a DateEntry textbox by designing a form that accepts two parameters: toObjectReference and tcHowCalled. 

     Parameter           Description
     ---------           -----------
     toObjectReference	 handle to currently selected object
     tcHowCalled         "RTMOUSE" if accessed via the right-mouse menu
                         "TOOLBOX" if run via BuilderLock from the control palette

You can register your add-in by executing the following command while MasterBuilder is visible:

     _MASTERBUILDER.AddIn( "textbox", "kMyDateTextBox", "C:\FOLDER\BUILDERS\DATEBOX.SCX" )

The add-in need not be a form - it could be a .PRG or .APP. MasterBuilder will call the program appropriately - with a DO FORM .. or a DO .. by looking for '.SCX' in the program name.


<Info...>
-----------
Presents a simple About... dialog containing a summary of information about the currently selected object. If the object being built has any of the following custom properties, then they are also displayed in the dialog:
  .Version,  .Build,  .Author,  .Copyright
  .cVersion, .cBuild, .cAuthor, .cCopyright

<Options...>
--------------
Allows the user to configure what little user-configurable features there are:

Auto Minimize   -    MasterBuilder will automatically minimise when the
                     <Apply> button is pushed. If not, the MasterBuilder 
                     dialog will continute to float modelessly in the IDE.

Show ToolTips   -    The tool tip popup help can be disabled if it bothers you. 
                     A good learning tool, though.
	
Set _BUILDER to MasterBuilder for this session is self evident <s>.
	
<Class...> 
----------
This option allows you to change the class of the selected object. You will get the following choices:

	Select from Base Classes or a Class Library (VCX)
	Choose Class Library
	Choose Class to switch to

	Properties:
	 (.)	Overwrite existing properties with new values
	 ( )	Retain original property values
	
<Remove>
--------
This will remove or delete the currently selected objects from the container.


Technical Notes
===============
MasterBuilder currently registers itself in VFP's Builder registry (WIZARDS\BUILDER.DBF) as type "ALL". 
MasterBuilder stores user preference options in the Registry, under the key "HKEY_CURRENT_USER\Software\Colin Nicholls\Master Builder\2.0\"

MasterBuilder has been tested on Visual FoxPro for Windows 5.0 under Windows95 and Windows NT 3.51.


Known problems
--------------
When invoking the RI builder from the Database Designer, you get to choose between the RI builder and MasterBuilder. Select the RI builder. MasterBuilder does not know how to build relational integrity into a DBC.

For some reason, when invoking the MasterBuilder from the right-click context menu of a form, the property sheet can end up activated instead of the Masterbuilder form. I have been unable to trace the problem so far.

Licensing
=========
MasterBuilder (not including source) is currently Freeware. 
Version 1.1.4 was distributed without source code to attendees at FoxTeach '96 in Toronto.

Contact Information
===================
Colin Nicholls can be contacted at:

   Cornerstone Software Limited
   P.O. Box 35-568
   39 Anzac Rd
   Browns Bay
   Auckland 
   New Zealand

   Phone:       intl+64 9 479-7433
     Fax:       intl+64 9 479-2268
   Email:       100240.630@compuserve.com
                colin@softspoken.co.nz
		mail@cornerstone.co.nz

Disclaimer
==========
MasterBuilder is not guaranteed to be bug-free. You use MasterBuilder at your own risk. The author is not responsible for any loss of data or income that may occur while using MasterBuilder, although should this happen, he offers you a sincere apology.

Thanks to...
============
Lisa Slater Nicholls - my wife and co-enthusiast
John Alden			 
Matt Peirse
The Cornerstone Team
Tom Rettig - we miss you. Code complete.

Revision History
================
02.Oct.95   0.9.0   Beta version distributed
12.Oct.95   1.0.0   Initial Release
24.Nov.95   1.0.1   PageFrame bug fix 
27.Nov.95   1.0.2   Options dialog added
30.Nov.95   1.0.3   added ControlSource assignment,
                    and other bug fixes
01.Dec.95   1.0.4   Class switching, 
                    shrink-to-fit 
02.Dec.95   1.1.0   Optional toolbar, 
                    aesthetic re-arrangement
06.Dec.95   1.1.1   Grid options, 
                    BaseClass re-selection
06.Feb.96   1.1.2   New Registry class 
                    Fixed toolbar object bugs. 
                    Fixed grid rowsource offset problem.
                    Toolbar closebox now sets Mbuilder toolbar option.
20.Mar.96   1.1.3   Added "ControlBox" check box to form properties
                    Blank captions are now saved to object.
06.Apr.96   1.1.4   Added More... textbox and spinner properties
                    Properties for Command buttons now include .Picture
                    Slight aesthetic re-arrangement of main form.
14.Apr.96           Now prevented from re-classing a Custom object.
02.May.96   1.1.5   Object names now allow underscores.
                    ToolTipText is now allowed to be 50 characters long.
                    ControlSource/Caption can now be up to 50 characters
                       long.
                    The "Form" options dialog includes a button to set
                       all properties appropriately for a "splash" screen.
16.May.96   1.1.6   "Always On Top" push-pin added.
                    Color properties are now more comprehensive.
                    [] Use form font is now only checked when builder 
                       lock is on.
                    Empty controlsources are now saved.
                    Added Strikethru, Underline font properties
-------------------------------------------------------------------------
10.Aug.96   2.0.0   Complete interface re-write for VFP 5.0
07.Nov.96   2.0.1   Prevented forms from being class-switched. 
                    Forms in a formset do not have DataSession properties.
                    Classes are correctly shown in the ReClass combobox
                      when "use own class only" is checked.
04.Mar.97   2.0.2  Added .ShowWindow support for forms, 
                         .NullDisplay for textboxes,
                   Registry key created with SECURITY_ALLACCESS rights