TgfglTreeView : recursing stateimages treeview
copyright Greg Lorriman 1999 greg@lorriman.demon.co.uk http://www.lorirman.demon.co.uk
FREE delphi component D2/3/4/5

Bug reports/fixes welcomed
So is love and attention. If you like this component then tell me - I won't be
angry :)  greg@lorriman.demon.co.uk

See 'help' property of component for programmatic and designtime usage.
Or look at top of pas file.

Description :
   Recurses (propogates) the "state" of a node (ie no-tick,tick,greytick).
   This is useful for checkbox treeviews. Stateimages are user defined via
   an imageList (handy images are supplied in the archive).

Features :
      Design time functionality (important : read instructions before trying)
      Recursive behaviour supported via normal stateindex property of nodes.
      Exclude branch from recursion by setting stateindex of parent to StateIgnore value
      This help is available via 'Help' property.

Limitations :

   No facility for "conditional exclusion".
   No state persistence (which would be via streams)


Basic Usage :

   a)Set the stateimages property to an imagelist with your chosen state images.
   b)The items in the imagelist should be ordered as follows :
      0=anything (use 'empty' for convenience)
      1=empty
      2=ticked
      3=grey tick
   When adding icons to imagelist in D2 use 'stretch' option
   c)Set StateRecursion:=true;
   d)add some nodes (leave their stateindex at -1)
   d)run and click on node state images to test



   Disclaimer :

The Author of this Software expressly disclaims any warranty for the SOFTWARE
PRODUCT. The SOFTWARE PRODUCT and any related documentation is
provided "as is" without warranty of any kind, either express or implied, including,

without limitation, the implied warranties or merchantability, fitness for a particular
purpose, or noninfringement. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.

NO LIABILITY FOR DAMAGES.
In no event shall the author of this Software be liable for any damages whatsoever
(including, without limitation, damages for loss of business profits, business
interruption, loss of business information, or any other pecuniary loss) arising out

of the use of or inability to use this product, even if the Author of this Software
has been advised of the possibility of such damages. Because some states /
jurisdictions do not allow the exclusion or limitation of liability for consequential
or incidental damages, the above limitation may not apply to you. In this case the
Author of this Software will only be liable for the amount of money you spent for this SOFTWARE PRODUCT.

