// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'AHMTExplorerTree.pas' rev: 3.00

#ifndef AHMTExplorerTreeHPP
#define AHMTExplorerTreeHPP
#include <Menus.hpp>
#include <Graphics.hpp>
#include <AHMStandardConst.hpp>
#include <Forms.hpp>
#include <ShellAPI.hpp>
#include <AHMStdClass.hpp>
#include <ComCtrls.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>

//-- user supplied -----------------------------------------------------------

namespace Ahmtexplorertree
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TAHMAddFileEvent)(System::TObject* Sender, System::AnsiString FileName
	, bool &DoAdd);

typedef void __fastcall (__closure *TAHMFindDirectoryEvent)(System::TObject* Sender, System::AnsiString 
	Path, int &Result, const bool First);

typedef System::AnsiString AHMTExplorerTree__2[26];

class DELPHICLASS TAHMExplorerTree;
class PASCALIMPLEMENTATION TAHMExplorerTree : public Comctrls::TCustomTreeView 
{
	typedef Comctrls::TCustomTreeView inherited;
	
private:
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	bool fFastLoad;
	Controls::TImageList* fIList;
	System::AnsiString fActDirs[26];
	TAHMAddFileEvent FOnAddDirectory;
	Comctrls::TTVExpandedEvent FOnDeleteDirectory;
	Comctrls::TTVExpandedEvent FOnGetIcon;
	TAHMFindDirectoryEvent FOnFindDirectory;
	int fIFolS;
	int fIFolN;
	bool fAllowChange;
	bool FNetwork;
	System::AnsiString fWinDir;
	void __fastcall DelItem(System::TObject* Sender, Comctrls::TTreeNode* Node);
	
protected:
	virtual void __fastcall CreateWnd(void);
	void __fastcall ReadNew(void);
	void __fastcall AddNode(Comctrls::TTreeNode* &Item, System::AnsiString A);
	void __fastcall GetSubKids(Comctrls::TTreeNode* Par);
	void __fastcall SetDrive(char Val);
	void __fastcall SetDirectory(System::AnsiString Val);
	DYNAMIC void __fastcall Change(Comctrls::TTreeNode* Node);
	void __fastcall SetNetAllow(bool Val);
	void __fastcall ClearList(void);
	virtual void __fastcall Loaded(void);
	void __fastcall TreeGetImageIndex(Comctrls::TTreeNode* Node, int NormalIcon);
	DYNAMIC bool __fastcall CanExpand(Comctrls::TTreeNode* Node);
	System::AnsiString __fastcall GetDirectory(void);
	char __fastcall GetDrive(void);
	Comctrls::TTreeNode* __fastcall AddKid(Comctrls::TTreeNode* Par, System::AnsiString A);
	System::AnsiString __fastcall GetDragDropFolder(void);
	bool __fastcall AskAdd(System::AnsiString FNam);
	bool __fastcall IsExpanded(Comctrls::TTreeNode* Item);
	__property Items  = {stored=false};
	void __fastcall GetBtn(Comctrls::TTreeNode* &Item);
	void __fastcall GetDirChildren(Comctrls::TTreeNode* &Item);
	
public:
	__fastcall virtual TAHMExplorerTree(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMExplorerTree(void);
	void __fastcall Reload(void);
	HIDESBASE void __fastcall FullExpand(void);
	void __fastcall RenamePath(System::AnsiString OldPath, System::AnsiString NewName);
	void __fastcall DeletePath(System::AnsiString DPath);
	void __fastcall AddPath(System::AnsiString NewPath, System::AnsiString NewSub);
	void __fastcall ClearNode(Comctrls::TTreeNode* Node);
	Comctrls::TTreeNode* __fastcall GetNodeFromPath(System::AnsiString Path);
	__property char Drive = {read=GetDrive, write=SetDrive, nodefault};
	__property System::AnsiString DragDropFolder = {read=GetDragDropFolder};
	__property Controls::TImageList* ShellIcons = {read=fIList};
	
__published:
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property System::AnsiString Directory = {read=GetDirectory, write=SetDirectory};
	__property TAHMAddFileEvent OnAddDirectory = {read=FOnAddDirectory, write=FOnAddDirectory};
	__property Comctrls::TTVExpandedEvent OnDeleteItem = {read=FOnDeleteDirectory, write=FOnDeleteDirectory
		};
	__property Comctrls::TTVExpandedEvent OnGetIcon = {read=FOnGetIcon, write=FOnGetIcon};
	__property TAHMFindDirectoryEvent OnFindDirectory = {read=FOnFindDirectory, write=FOnFindDirectory}
		;
	__property BorderStyle ;
	__property DragCursor ;
	__property bool Network = {read=FNetwork, write=SetNetAllow, nodefault};
	__property bool FastLoad = {read=fFastLoad, write=fFastLoad, nodefault};
	__property ReadOnly ;
	__property DragMode ;
	__property HideSelection ;
	__property OnEditing ;
	__property OnEdited ;
	__property OnExpanding ;
	__property OnExpanded ;
	__property OnCollapsing ;
	__property OnCollapsed ;
	__property OnChanging ;
	__property OnChange ;
	__property Align ;
	__property Enabled ;
	__property Font ;
	__property Color ;
	__property ParentColor ;
	__property ParentCtl3D ;
	__property Ctl3D ;
	__property TabOrder ;
	__property TabStop ;
	__property Visible ;
	__property OnClick ;
	__property OnEnter ;
	__property OnExit ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnStartDrag ;
	__property OnEndDrag ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnDblClick ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property PopupMenu ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property ShowHint ;
public:
	/* TWinControl.CreateParented */ __fastcall TAHMExplorerTree(HWND ParentWindow) : Comctrls::TCustomTreeView(
		ParentWindow) { }
	
};

//-- var, const, procedure ---------------------------------------------------
extern PACKAGE System::AnsiString __fastcall AHMGetSystemPath(System::AnsiString Path);
extern PACKAGE System::AnsiString __fastcall AHMGetShellPath(System::AnsiString Path);
extern PACKAGE bool __fastcall AHMShellItemExists(System::AnsiString Path);

}	/* namespace Ahmtexplorertree */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Ahmtexplorertree;
#endif
//-- end unit ----------------------------------------------------------------
#endif	// AHMTExplorerTree
