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

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

#ifndef PJMultiHPP
#define PJMultiHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Printers.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 Pjmulti
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TCustomMultiPrintJob;
class PASCALIMPLEMENTATION TCustomMultiPrintJob : public Psjob::TCustomPrintJob 
{
	typedef Psjob::TCustomPrintJob inherited;
	
private:
	Classes::TStrings* FPrintJobs;
	Psjob::TCustomPrintJob* __fastcall GetPrintJob(int Index);
	int __fastcall GetPrintJobCount(void);
	void __fastcall ReadData(Classes::TReader* Reader);
	void __fastcall WriteData(Classes::TWriter* Writer);
	void __fastcall AddNotifications(void);
	void __fastcall DeleteNotifications(void);
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	virtual void __fastcall Loaded(void);
	virtual void __fastcall WriteState(Classes::TWriter* Writer);
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	
public:
	__fastcall virtual TCustomMultiPrintJob(Classes::TComponent* AOwner);
	__fastcall virtual ~TCustomMultiPrintJob(void);
	virtual void __fastcall Update(void);
	virtual void __fastcall Draw(Graphics::TCanvas* TheCanvas, int PageIndex, Psjob::TDrawTarget Target
		);
	void __fastcall Add(Psjob::TCustomPrintJob* APrintJob);
	HIDESBASE void __fastcall Insert(int Index, Psjob::TCustomPrintJob* APrintJob);
	void __fastcall Clear(void);
	void __fastcall Delete(int Index);
	int __fastcall IndexOf(Psjob::TCustomPrintJob* APrintJob);
	int __fastcall IndexOfName(AnsiString AName);
	void __fastcall Move(int CurIndex, int NewIndex);
	Psjob::TCustomPrintJob* __fastcall GetPageJob(int Page);
	int __fastcall GetLocalPage(int Page);
	void __fastcall EditPrintJobs(void);
	__property int PrintJobCount = {read=GetPrintJobCount, nodefault};
	__property Psjob::TCustomPrintJob* PrintJobs[int Index] = {read=GetPrintJob};
	__property Classes::TStrings* PrintJobList = {read=FPrintJobs};
};


class DELPHICLASS TMultiPrintJob;
class PASCALIMPLEMENTATION TMultiPrintJob : public TCustomMultiPrintJob 
{
	typedef TCustomMultiPrintJob inherited;
	
__published:
	__property Title ;
	__property OnCreate ;
	__property OnDestroy ;
	__property OnPrinterSetupChange ;
	__property OnStartPrint ;
	__property OnEndPrint ;
	__property OnPrintProgress ;
	__property OnStartPrintPage ;
	__property OnEndPrintPage ;
	__property OnUpdate ;
public:
	#pragma option push -w-inl
	/* TCustomMultiPrintJob.Create */ inline __fastcall virtual TMultiPrintJob(Classes::TComponent* AOwner
		) : TCustomMultiPrintJob(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomMultiPrintJob.Destroy */ inline __fastcall virtual ~TMultiPrintJob(void) { }
	#pragma option pop
	
};


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

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

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