NOTE: Please view this file in a proportional font such as Arial,10 if
you're having trouble with word wrap beyond the right edge.
=================================================================
=================================================================
GAPP -- Griebel's Aggregate Property Pusher
Copyright(c) 1995 by Plaid Software Group, Inc.
Version Date: August 1, 1995
=================================================================
=================================================================

What does it do?
----------------------------------------------------------------------------------------------------------------------------------
GAPP provides you with a multi-object font toolbar, along with a 
few other goodies like opaque/transparent that are tedious to get to
in the property sheet. It is a shareware product - this does NOT mean it
is free, that would be freeware, right? Thanks.

=================================================================

How do I install it?
----------------------------------------------------------------------------------------------------------------------------------
Unzip it, start or already be running VFP, and DO Gapp.

You should be able to instantiate this by typing DO <path>GAPP from anywhere.
It creates a Public object (toolbar) called XOGAPP, so you'll lose it if you do
a clear all or the like. It docks at -1,-1. I generally keep it hooked up to an
On Key Label as part of my "reset" procedure, so it is re-instantiated if I issue
a CLEAR ALL/CLOSE ALL, etc.

=================================================================

How come the logo looks icky?
----------------------------------------------------------------------------------------------------------------------------------
The logo and such will look best in hi-res (16 bit or greater) mode. I'm figuring
that most folks running VFP are going to have beefy enough hardware to run at
least 256 colors. Other than that, _I_ did it, so it _isn't_ icky, you just have a 
taste problem<g>.

=================================================================

Hot Tip!
----------------------------------------------------------------------------------------------------------------------------------
Note that the Format Painter works across multiple forms. To see the font & point 
size of a currently selected item, press the eyedropper. They aren't automatically loaded
just but clicking on an object in your form. I was going to do that, but it was too hard.<g> 
If you have multiple objects selected, the attributes of the first one in ASELOBJ() order are
displayed.

=================================================================

HOW COME IT IS I SEE A FUNKY blinking screen when I change fonts or size?
----------------------------------------------------------------------------------------------------------------------------------
It used to be that I could:
	=aselobj(myobj)
	myobj[1].parent.refresh()	&&or otherwise get to its ThisForm
and get rid of pesky left-over sizing handles if I changed the fontsize and
autosized. That stopped working somewhere along the way during the beta. 
The only way I've been able to clean up is to:

	DEFINE WINDOW dummywin FROM 0,0 TO way big
	ACTI WINDOW dummywin
	RELEASE WINDOW dummywin

That's the flashing you'll see if you have the AutoSizing checkbox down. I
really hate this. Any good ideas would be appreciated!! Bad ideas will be
tolerated too!!!<g> If you don't want it to be the default setting, see the
customization options below.

=================================================================

How come the buttons don't show what the object is?
----------------------------------------------------------------------------------------------------------------------------------
The buttons don't reflect current status (i.e., bold depressed if you're
_on_ a bold object, up if it isn't). I was gonna do that, but it was too, aw, you know.
Same thing goes for enabling/disabling inappropriate buttons, etc. You see, I
don't know what is going on in a form until you click on the toolbar somewhere, which kind 
of defeats the purpose. It's liking closing the barn doors after the horses have eaten all
your children. Maybe later.

====================================================================

How come I can't change fonts on objects created by the form Wizard?
----------------------------------------------------------------------------------------------------------------------------------
Some of the form wizard's output yields container objects, that is, when you select
them, you select the Container, not the object you think you're selecting. To change
these fonts, Right-Mouse on the container, select EDIT, select the object(s) within
the container you wish to alter, and then go to the GAPP toolbar.

The same thing applies for other containers such as PageFrames.

=================================================================

Explore!
----------------------------------------------------------------------------------------------------------------------------------
Don't forget to try pressing buttons without labels in GAPP!

=================================================================
=================================================================

Customizing GAPP
----------------------------------------------------------------------------------------------------------------------------------
GAPP ([cShowNoShow] [,cObjectName])

Arguments

cShowNoShow
If UPPER(cShowNoShow) = 'NOSHOW', GAPP is not shown.

cObjectName
Override default object name for toolbar.

GAPP has two optional parameters that may be used for customization. The first allows
you to instantiate GAPP without showing it, whereupon you may alter any of the objects
followed by a SHOW() method. For example, to have GAPP always dock at the left side
of the screen instead of the top:

	DO GAPP WITH "NOSHOW"
	xogapp.Move(-1,0)
	xogapp.show()
	
To make the Font combo box smaller:
	DO GAPP WITH "NOSHOW"
	xogapp.cboFonts.Width = xogapp.cboFonts.Width - 15	&&or whatever
	xogapp.show()
	
To get rid of the get picture button:
	DO GAPP WITH "NOSHOW"
	xogapp.removeobject('cmdGetPict')

To disable AutoSizing as the default
	DO GAPP WITH "NOSHOW"
	xogapp.FontAutoSizing = .F.
	xogapp.Show()
	
Similarly, you may impact any of the following objects:
	Object					Purpose						Bound to ([cObjectname].)
=================================================================
	cboFonts			-font menu							aCurFonts		
	cboPointSize		-point size							aPointSizes
	chkAutoSize		-toggle font autosizing				FontAutoSizing	
	cmdBackStyle		-the back style toggle				(Everything just else invokes a method)
	cmdBold			-bold toggle
	cmdEnabled		-enabled toggle
	cmdEyeDropper		-pick up formatting info
	cmdFormatPainter	-format paint from eye dropper
	cmdFontSizeDn		-decrease point sizes
	cmdFontSizeUp		-increase point sizes
	cmdSpecialEffect	-3D toggle
	cmdUnderLine		-Underline toggle
	cmdGetPict			-Get Picture dialog button
	cmdItalic			-Italic Toggle
	cplAbout			-about box button
	
WARNING: I'll be _way_ offended if you remove my about button
     that I spent way too much time making!!<g> CPLs are my own
     CommandbuttonwithPreLighting class.
   
A second character type data element may be passed as a paremeter
to specify another object name. For example, if you wanted the GAPP
toolbar object to be "fred" instead of the default "xogapp":

	DO GAPP WITH 'SHOW', 'FRED'

=================================================================
FeedBack
----------------------------------------------------------------------------------------------------------------------------------
Let me know how it goes - if you encounter errors, have suggestions or whatever. For the
style of development I'm doing at least it seems to be very stable, and I miss it when I 
forget to instantiate it.

=================================================================
To Register:
----------------------------------------------------------------------------------------------------------------------------------
Read the left button's text from the About GAPP screen, or contact us at:

	Andy Griebel
	Plaid Software Group, Inc.
	1400 West Markham, #401
	Little Rock, Arkansas, USA 72201
	501-375-6622   FAX 501-375-7620
	800-776-0739
	71441.3452 @compuserve.com
=================================================================
=================================================================
