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

// (DO NOT EDIT: machine generated header) 'AdvObj.pas' rev: 5.00

#ifndef AdvObjHPP
#define AdvObjHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Messages.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Advobj
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TArrowDirection { arrUp, arrDown, arrLeft, arrRight };
#pragma option pop

typedef void __fastcall (__closure *TImageChangeEvent)(System::TObject* Sender, int Acol, int Arow);
	

class DELPHICLASS TArrowWindow;
class PASCALIMPLEMENTATION TArrowWindow : public Extctrls::TPanel 
{
	typedef Extctrls::TPanel inherited;
	
private:
	TArrowDirection dir;
	Windows::TPoint arrow[9];
	
public:
	__fastcall TArrowWindow(Classes::TComponent* AOwner, TArrowDirection direction);
	virtual void __fastcall Loaded(void);
	
protected:
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall Paint(void);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
public:
	#pragma option push -w-inl
	/* TCustomPanel.Create */ inline __fastcall virtual TArrowWindow(Classes::TComponent* AOwner) : Extctrls::TPanel(
		AOwner) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TArrowWindow(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TArrowWindow(HWND ParentWindow) : Extctrls::TPanel(
		ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TPopupButton;
class PASCALIMPLEMENTATION TPopupButton : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	AnsiString fCaption;
	bool fFlat;
	
protected:
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	
public:
	virtual void __fastcall Paint(void);
	virtual void __fastcall CreateWnd(void);
	
__published:
	__property AnsiString Caption = {read=fCaption, write=fCaption};
	__property bool Flat = {read=fFlat, write=fFlat, nodefault};
public:
	#pragma option push -w-inl
	/* TCustomControl.Create */ inline __fastcall virtual TPopupButton(Classes::TComponent* AOwner) : Controls::TCustomControl(
		AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TPopupButton(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TPopupButton(HWND ParentWindow) : Controls::TCustomControl(
		ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TIntList;
class PASCALIMPLEMENTATION TIntList : public Classes::TList 
{
	typedef Classes::TList inherited;
	
private:
	TImageChangeEvent fOnChange;
	int fCol;
	int fRow;
	void __fastcall SetInteger(int Index, int Value);
	int __fastcall GetInteger(int Index);
	
public:
	__fastcall TIntList(int col, int row);
	__property int Items[int index] = {read=GetInteger, write=SetInteger/*, default*/};
	HIDESBASE void __fastcall Add(int Value);
	HIDESBASE void __fastcall Delete(int Index);
	
__published:
	__property TImageChangeEvent OnChange = {read=fOnChange, write=fOnChange};
public:
	#pragma option push -w-inl
	/* TList.Destroy */ inline __fastcall virtual ~TIntList(void) { }
	#pragma option pop
	
};


class DELPHICLASS TSortIndexList;
class PASCALIMPLEMENTATION TSortIndexList : public TIntList 
{
	typedef TIntList inherited;
	
public:
	void __fastcall AddIndex(int ColumnIndex, bool Ascending);
	int __fastcall FindIndex(int ColumnIndex);
	void __fastcall ToggleIndex(int ColumnIndex);
public:
	#pragma option push -w-inl
	/* TIntList.Create */ inline __fastcall TSortIndexList(int col, int row) : TIntList(col, row) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TList.Destroy */ inline __fastcall virtual ~TSortIndexList(void) { }
	#pragma option pop
	
};


class DELPHICLASS TFilePicture;
class PASCALIMPLEMENTATION TFilePicture : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	AnsiString fFilename;
	int fWidth;
	int fHeight;
	Graphics::TPicture* fPicture;
	void __fastcall SetFileName(const AnsiString Value);
	
public:
	void __fastcall DrawPicture(Graphics::TCanvas* canvas, const Windows::TRect &r);
	
__published:
	__property AnsiString Filename = {read=fFilename, write=SetFileName};
	__property int Width = {read=fWidth, nodefault};
	__property int Height = {read=fHeight, nodefault};
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TFilePicture(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TFilePicture(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

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

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