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

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

#ifndef UXlsBaseClientDataHPP
#define UXlsBaseClientDataHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <XlsMessages.hpp>	// Pascal unit
#include <UXlsSST.hpp>	// Pascal unit
#include <UXlsBaseRecords.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Uxlsbaseclientdata
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TBaseClientData;
class PASCALIMPLEMENTATION TBaseClientData : public System::TObject 
{
	typedef System::TObject inherited;
	
protected:
	virtual Word __fastcall GetId(void);
	virtual void __fastcall SetId(const Word Value);
	
public:
	Uxlsbaserecords::TBaseRecord* RemainingData;
	__property Word Id = {read=GetId, write=SetId, nodefault};
	virtual void __fastcall ArrangeId(Word &MaxId);
	virtual void __fastcall Clear(void) = 0 ;
	virtual TBaseClientData* __fastcall CopyTo(void) = 0 ;
	virtual void __fastcall LoadFromStream(const Classes::TStream* DataStream, const Uxlsbaserecords::TBaseRecord* 
		First, const Uxlssst::TSST* SST) = 0 ;
	virtual void __fastcall SaveToStream(const Classes::TStream* DataStream) = 0 ;
	virtual __int64 __fastcall TotalSize(void) = 0 ;
	virtual void __fastcall ArrangeCopyRowsAndCols(const int RowOfs, const int ColOfs);
	virtual void __fastcall ArrangeInsertRowsAndCols(const int aRowPos, const int aRowCount, const int 
		aColPos, const int aColCount, const Xlsmessages::TSheetInfo &SheetInfo) = 0 ;
	virtual void __fastcall ArrangeCopySheet(const Xlsmessages::TSheetInfo &SheetInfo) = 0 ;
	#pragma option push -w-inl
	/* virtual class method */ virtual TMetaClass* __fastcall ObjRecord() { return ObjRecord(__classid(TBaseClientData)
		); }
	#pragma option pop
	/*         class method */ static TMetaClass* __fastcall ObjRecord(TMetaClass* vmt);
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TBaseClientData(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TBaseClientData(void) { }
	#pragma option pop
	
};


typedef TMetaClass*ClassOfTBaseClientData;

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

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

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