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

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

#ifndef PJDBGridHPP
#define PJDBGridHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Db.hpp>	// Pascal unit
#include <PJTextGrid.hpp>	// Pascal unit
#include <PJGrid.hpp>	// Pascal unit
#include <PSJob.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.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 Pjdbgrid
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TPrintJobDataLink;
class PASCALIMPLEMENTATION TPrintJobDataLink : public Db::TDataLink 
{
	typedef Db::TDataLink inherited;
	
private:
	Psjob::TCustomPrintJob* FPrintJob;
	
protected:
	virtual void __fastcall ActiveChanged(void);
	virtual void __fastcall DataSetChanged(void);
	
public:
	__fastcall TPrintJobDataLink(Psjob::TCustomPrintJob* APrintJob);
	__fastcall virtual ~TPrintJobDataLink(void);
};


class DELPHICLASS TCustomDBGridPrintJob;
class PASCALIMPLEMENTATION TCustomDBGridPrintJob : public Pjtextgrid::TSpecialTextGridPrintJob 
{
	typedef Pjtextgrid::TSpecialTextGridPrintJob inherited;
	
private:
	Db::TDataLink* FDataLink;
	Db::TDataSource* __fastcall GetDataSource(void);
	void __fastcall SetDataSource(const Db::TDataSource* Value);
	Db::TField* __fastcall GetField(int ACol);
	int __fastcall VisibleFieldCount(void);
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	__property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
	
public:
	__fastcall virtual TCustomDBGridPrintJob(Classes::TComponent* AOwner);
	__fastcall virtual ~TCustomDBGridPrintJob(void);
	virtual void __fastcall Update(void);
	virtual void __fastcall Draw(Graphics::TCanvas* TheCanvas, int PageIndex, Psjob::TDrawTarget Target
		);
	virtual int __fastcall GetColWidth(Graphics::TCanvas* TheCanvas, int ACol);
	virtual AnsiString __fastcall GetCellText(int APageIndex, int ACol, int ARow);
	virtual Classes::TAlignment __fastcall GetCellAlignment(int ACol, int ARow);
};


class DELPHICLASS TDBGridPrintJob;
class PASCALIMPLEMENTATION TDBGridPrintJob : public TCustomDBGridPrintJob 
{
	typedef TCustomDBGridPrintJob inherited;
	
__published:
	__property DataSource ;
	__property HeaderFont ;
	__property PageFont ;
	__property FooterFont ;
	__property ClipMode ;
	__property RowsPerPage ;
	__property TableBorders ;
	__property HeaderCellBorders ;
	__property PageCellBorders ;
	__property FooterCellBorders ;
	__property IndexColumn ;
	__property IndexStart ;
	__property Title ;
	__property Margins ;
	__property MarginsUnits ;
	__property Header ;
	__property HeaderUnits ;
	__property Footer ;
	__property FooterUnits ;
	__property PageMode ;
	__property PageWidth ;
	__property PageHeight ;
	__property PageUnits ;
	__property Orientation ;
	__property Options ;
	__property OnCreate ;
	__property OnDestroy ;
	__property OnPrinterSetupChange ;
	__property OnStartPrint ;
	__property OnEndPrint ;
	__property OnPrintProgress ;
	__property OnStartPrintPage ;
	__property OnEndPrintPage ;
	__property OnUpdate ;
public:
	#pragma option push -w-inl
	/* TCustomDBGridPrintJob.Create */ inline __fastcall virtual TDBGridPrintJob(Classes::TComponent* AOwner
		) : TCustomDBGridPrintJob(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomDBGridPrintJob.Destroy */ inline __fastcall virtual ~TDBGridPrintJob(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall Register(void);

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

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