// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Iwdsntreeview.pas' rev: 10.00

#ifndef IwdsntreeviewHPP
#define IwdsntreeviewHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Comctrls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Designintf.hpp>	// Pascal unit
#include <Designeditors.hpp>	// Pascal unit
#include <Iwtreeview.hpp>	// Pascal unit
#include <Iwregister.hpp>	// Pascal unit
#include <Iwdsncontrolabout.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit

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

namespace Iwdsntreeview
{
//-- type declarations -------------------------------------------------------
typedef IDesigner IIWDesigner;
;

class DELPHICLASS TIWDsnTreeView;
class PASCALIMPLEMENTATION TIWDsnTreeView : public Forms::TForm 
{
	typedef Forms::TForm inherited;
	
protected:
	Designintf::_di_IDesigner FDesigner;
	Iwtreeview::TIWTreeView* FIWTreeView;
	Menus::TMenuItem* FMenuNewRootItem;
	Menus::TMenuItem* FMenuNewItem;
	Menus::TMenuItem* FMenuDeleteItem;
	Menus::TMenuItem* FMenuEditItem;
	Comctrls::TTreeView* FTreeView;
	void __fastcall FillTreeView(Iwtreeview::TIWTreeViewItems* AIWItems);
	void __fastcall OnFormActivate(System::TObject* ASender);
	void __fastcall OnFormClose(System::TObject* ASender, Forms::TCloseAction &VAction);
	void __fastcall TVOnClick(System::TObject* ASender);
	void __fastcall TVOnChange(System::TObject* ASender, Comctrls::TTreeNode* ANode);
	void __fastcall TVOnExpanded(System::TObject* Sender, Comctrls::TTreeNode* Node);
	void __fastcall TVOnEdited(System::TObject* ASender, Comctrls::TTreeNode* ANode, AnsiString &AText);
	void __fastcall OnEditItem(System::TObject* ASender);
	void __fastcall OnNewItem(System::TObject* ASender);
	void __fastcall OnNewRootItem(System::TObject* ASender);
	void __fastcall OnDeleteItem(System::TObject* ASender);
	void __fastcall OnPopup(System::TObject* ASender);
	void __fastcall RefreshItems(void);
	void __fastcall ItemsFreed(void);
	
public:
	__fastcall TIWDsnTreeView(Classes::TComponent* AOwner, Iwtreeview::TIWTreeView* AIWTreeView, Designintf::_di_IDesigner ADesigner);
public:
	#pragma option push -w-inl
	/* TCustomForm.CreateNew */ inline __fastcall virtual TIWDsnTreeView(Classes::TComponent* AOwner, int Dummy) : Forms::TForm(AOwner, Dummy) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomForm.Destroy */ inline __fastcall virtual ~TIWDsnTreeView(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TIWDsnTreeView(HWND ParentWindow) : Forms::TForm(ParentWindow) { }
	#pragma option pop
	
private:
	void *__IIWTreeViewDesigner;	/* Iwtreeview::IIWTreeViewDesigner */
	
public:
	operator IIWTreeViewDesigner*(void) { return (IIWTreeViewDesigner*)&__IIWTreeViewDesigner; }
	
};


class DELPHICLASS TTreeViewItemsProperty;
class PASCALIMPLEMENTATION TTreeViewItemsProperty : public Designeditors::TPropertyEditor 
{
	typedef Designeditors::TPropertyEditor inherited;
	
public:
	virtual void __fastcall Edit(void);
	virtual Designintf::TPropertyAttributes __fastcall GetAttributes(void);
	virtual AnsiString __fastcall GetValue();
public:
	#pragma option push -w-inl
	/* TPropertyEditor.Create */ inline __fastcall virtual TTreeViewItemsProperty(const Designintf::_di_IDesigner ADesigner, int APropCount) : Designeditors::TPropertyEditor(ADesigner, APropCount) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TPropertyEditor.Destroy */ inline __fastcall virtual ~TTreeViewItemsProperty(void) { }
	#pragma option pop
	
};


class DELPHICLASS TIWTreeViewComponent;
class PASCALIMPLEMENTATION TIWTreeViewComponent : public Iwdsncontrolabout::TIWControlAbout 
{
	typedef Iwdsncontrolabout::TIWControlAbout inherited;
	
public:
	virtual void __fastcall ExecuteVerb(int AIndex);
	virtual AnsiString __fastcall GetVerb(int AIndex);
	virtual int __fastcall GetVerbCount(void);
	virtual void __fastcall Edit(void);
public:
	#pragma option push -w-inl
	/* TComponentEditor.Create */ inline __fastcall virtual TIWTreeViewComponent(Classes::TComponent* AComponent, Designintf::_di_IDesigner ADesigner) : Iwdsncontrolabout::TIWControlAbout(AComponent, ADesigner) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TIWTreeViewComponent(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE TIWDsnTreeView* formDsnTreeView;

}	/* namespace Iwdsntreeview */
using namespace Iwdsntreeview;
#pragma pack(pop)
#pragma option pop

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