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

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

#ifndef AHMTExplorerTreeHPP
#define AHMTExplorerTreeHPP

#pragma delphiheader begin
#pragma option push -w-
#include <Menus.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <AHMStandardConst.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <ShellAPI.hpp>	// Pascal unit
#include <AHMStdClass.hpp>	// Pascal unit
#include <ComCtrls.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

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

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

typedef AnsiString AHMTExplorerTree__2[26];

class DELPHICLASS TAHMExplorerTree;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TAHMExplorerTree : public Comctrls::TCustomTreeView 
{
	typedef Comctrls::TCustomTreeView inherited;
	
private:
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	bool fFastLoad;
	Controls::TImageList* fIList;
	AnsiString fActDirs[26];
	TAHMAddFileEvent FOnAddDirectory;
	Comctrls::TTVExpandedEvent FOnDeleteDirectory;
	Comctrls::TTVExpandedEvent FOnGetIcon;
	TAHMFindDirectoryEvent FOnFindDirectory;
	int fIFolS;
	int fIFolN;
	bool fAllowChange;
	bool FNetwork;
	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, AnsiString A);
	void __fastcall GetSubKids(Comctrls::TTreeNode* Par);
	void __fastcall SetDrive(char Val);
	void __fastcall SetDirectory(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);
	AnsiString __fastcall GetDirectory();
	char __fastcall GetDrive(void);
	Comctrls::TTreeNode* __fastcall AddKid(Comctrls::TTreeNode* Par, AnsiString A);
	AnsiString __fastcall GetDragDropFolder();
	bool __fastcall AskAdd(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(AnsiString OldPath, AnsiString NewName);
	void __fastcall DeletePath(AnsiString DPath);
	void __fastcall AddPath(AnsiString NewPath, AnsiString NewSub);
	void __fastcall ClearNode(Comctrls::TTreeNode* Node);
	Comctrls::TTreeNode* __fastcall GetNodeFromPath(AnsiString Path);
	__property char Drive = {read=GetDrive, write=SetDrive, nodefault};
	__property AnsiString DragDropFolder = {read=GetDragDropFolder};
	__property Controls::TImageList* ShellIcons = {read=fIList};
	
__published:
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property 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:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAHMExplorerTree(HWND ParentWindow) : Comctrls::TCustomTreeView(
		ParentWindow) { }
	#pragma option pop
	
};

#pragma pack(pop)

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

}	/* namespace Ahmtexplorertree */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Ahmtexplorertree;
#endif
#pragma option pop	// -w-

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// AHMTExplorerTree
