-----------------------------------------------------------------------
 Explorer Enumerators 0.45 - 32-bit Delphi Components (for Delphi 3.00)
-----------------------------------------------------------------------
There were Access Violation problems with version 0.44, the 0,45 version
fixes this bug.

(i think i have documented all the properties/methods. Revisions will
come into this document as well)

        Included are the Explorer Enumerators. These components mimic the Windows
Explorer Left and Right panes. The TNameSpaceEnumerator, is the tree view
behaving similar the the Explorer left pane, and the TFolderEnumerator
behaving similar to the Explorer right pane.

        I hope you enjoy using these components as much as i have enjoyed
making them. Updates and improvements will be provided as and when completed. 

TNameSpaceEnumerator:
---------------------
        The NameSpaceEnumerator automatically analyses changes and updates itself.
There are some limitations in this though. These limitations would get fixed as
soon as possible. It is an OLE drop target and an OLE drop source. There is a
lot more, you can realise that, if you know what the Windows Explorer's left
pane does.

 Properties:
        Most of the common properties
        AllowOLEDrop - If true then the control is a OLE drop target
        AllowOLEDrag - If true then it is a OLE dropsource
        AutoRefresh - If true then the control automatically refreshes itself.
        ExpandAll - Expands the entire tree
        FolderEnumerator - Connect to a TFolderEnumerator, to automatically
                           link to that control and vice versa
        RootedAt - Use this property to root the NameSpaceEnumerator at a
                   particular folder in the windows name space
        RootFolder - If the RootedAt folder is specified as raFileSystem, the
                    TNameSpaceEnumerator will be rooted at this folder.
                    (Eg: RootedAt := raFileSystem   RootFolder := 'C:\WINDOWS')
        ShellContextMenu - Specify if on a right click the shell context menu
                           should come up, or the popupmenu provided bu the user.
        Selection - Returns the current selection in the NameSpaceEnumerator,
                    the return is a string giving the full path to that item. BUT
                    if the item is not part of the File System a blank string is
                    returned. Can also use to change the selection.
        ShowVirtualFolders - if true Virtual folders are showm, else they are not.

 Methods:
        Refresh - Refreshes the contents of the NameSpaceEnumerator
        GotoFolder(szFolder : string) - If a valid file system folder is given
                                      the NameSpaceEnumerator expands to that
                                      folder
        GotoParent - Makes the parent item of the currently selected item as the
                     selected one.
Events:
        OnEnter - I guess you should know.
        OnExit - (ditto)
        OnKeyDown - (ditto)
        OnKeyUp - (ditto)
        OnMouseDown - (ditto)
        OnMouseUp - (ditto)
        OnDblClick - (ditto)
        OnSelectionChange - Fired if the selection in the NameSpaceEnumerator
                            changes.


TFolderEnumerator:
---------------------
        The FolderEnumerator automatically analyses changes and updates itself.
It is an OLE drop target and an OLE drop source. There is a lot more, you can
realise that, if you know what the Windows Explorer's right pane does.

Properties:
        Most of the common properties
        AllowOLEDrop - If true then the control is a OLE drop target
        AllowOLEDrag - If true then it is a OLE dropsource
        AutoRefresh - If true then the control automatically refreshes itself.
        Folder - If a file system folder is specified here (eg C:\) the
                 FolderEnumerator makes that the current folder, showing the
                 contents of that folder
        FolderColumns - Is an enumed type, using which the columns that appear
                        in the FolderEnumerator can be customized
        ShellContextMenu - Specify if on a right click the shell context menu
                           should come up, or the popupmenu provided bu the user.
        ShowFolders - if true then all folders are shown, else folders are filtered
        ShowHidden - if true shows hidden items, else does not show them
        ShowVirtualFolders - if true Virtual folders are showm, else they are not.
        SortColumn - Sorts the FolderEnumerator, by the column specified.
        SortOrder - Specfies the sort order.

Methods:
        Refresh - Refreshes the contents of the FolderEnumerator
        SelectedCount : integer - Returns the number of selections in the
                                  FolderEnumerators
        SelectedItem[index : integer] : string - Returns the full path of the selected
                                        item at index specified by 'index'. For
                                        non filesystem items, returns a blank string.
        Rename(Name, NewName : string) : boolean; - Renames the object whose name
                                        currently is Name, and will change to NewName.
                                        Returns True if successful and False if not.
Events:
        OnEnter - I guess you should know.
        OnExit - (ditto)
        OnKeyDown - (ditto)
        OnKeyUp - (ditto)
        OnMouseDown - (ditto)
        OnMouseUp - (ditto)
        OnDoubleClick - Called when a double click occurs. Set bExecute to False to prevent 
		        executing the item on which the double click occured.
        OnSelectionChange - Fired if the selection in the FolderEnumerator
                            changes.

TNameSpaceCombo:
---------------------
        The NameSpaceCombo mimics the combo box, which is found on top of the common file
dialog. It can be connected to a NameSpaceEnumerator or a FolderEnumerator

Properties:
        Most of the common properties
        FolderEnumerator - Connect to a TFolderEnumerator to automatically link to that
        					control and vice versa. Setting this property clears the
                           NameSpaceEnumerator proeprty mentioned below.
        NameSpaceEnumerator - Connect to a TNameSpaceEnumerator to automatically link to that
        					control and vice versa. Setting this property clears the
                           FolderEnumerator property.
        CurrentPath	  - Returns the current path which the NameSpaceCombo is pointing to.
        DroppedState	  - Returns whether the combobox is dropped down or not.

Methods:
Events:
        OnEnter - I guess you should know.
        OnExit - (ditto)


 Distribution
--------------
        Please feel free to distribute this ZIP file to others. But please
distribute the complete file, as is.

 Support and Contact Information
---------------------------------
        Anyone can contact me via e-mail.

Srinivasa Bhaskara
Internet: bhaskar@icodeindia.soft.net

        I have made a good effort in trying to make the components as bug free
as possible. But one can never know. So use at your own risk.

 The Legal Disclaimer
----------------------
THE INFORMATION AND CODE PROVIDED HEREUNDER (COLLECTIVELY REFERRED TO AS
"SOFTWARE") IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS 
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF 
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL 
SRINIVASA BHASKARA BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT,
INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL
DAMAGES, EVEN IF SRINIVASA BHASKARA HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

