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

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

#ifndef RVSeqItemHPP
#define RVSeqItemHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <RVTypes.hpp>	// Pascal unit
#include <RVClasses.hpp>	// Pascal unit
#include <RVItem.hpp>	// Pascal unit
#include <RVStyle.hpp>	// Pascal unit
#include <RVFMisc.hpp>	// Pascal unit
#include <RVFuncs.hpp>	// Pascal unit
#include <RVLabelItem.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Rvseqitem
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TRVSeqItemInfo;
class DELPHICLASS TRVSeqList;
class PASCALIMPLEMENTATION TRVSeqItemInfo : public Rvlabelitem::TRVLabelItemInfo 
{
	typedef Rvlabelitem::TRVLabelItemInfo inherited;
	
private:
	Rvstyle::TRVSeqType FNumberType;
	
protected:
	int FCachedIndexInList;
	void __fastcall CalcDisplayString(TRVSeqList* List);
	virtual Rvstyle::TRVSeqType __fastcall GetNumberType(void);
	virtual void __fastcall SetNumberType(const Rvstyle::TRVSeqType Value);
	
public:
	int Counter;
	int StartFrom;
	bool Reset;
	AnsiString SeqName;
	AnsiString FormatString;
	__fastcall TRVSeqItemInfo(Classes::TPersistent* RVData, const AnsiString ASeqName, Rvstyle::TRVSeqType 
		ANumberType, int ATextStyleNo, int AStartFrom, bool AReset);
	__fastcall virtual TRVSeqItemInfo(Classes::TPersistent* RVData);
	int __fastcall GetIndexInList(Classes::TList* List);
	DYNAMIC void __fastcall MovingToUndoList(int ItemNo, System::TObject* RVData, System::TObject* AContainerUndoItem
		);
	DYNAMIC void __fastcall MovingFromUndoList(int ItemNo, System::TObject* RVData);
	DYNAMIC void __fastcall Assign(Rvitem::TCustomRVItemInfo* Source);
	AnsiString __fastcall GetDisplayString(TRVSeqList* List, int ACounter);
	DYNAMIC void __fastcall SaveRTF(Classes::TStream* Stream, const AnsiString Path, Classes::TPersistent* 
		RVData, int ItemNo, double TwipsPerPixel, int Level, Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* 
		StyleToFont, Rvclasses::TRVIntegerList* ListOverrideOffsetsList1, Rvclasses::TRVIntegerList* ListOverrideOffsetsList2
		, Rvclasses::TRVList* FontTable);
	DYNAMIC void __fastcall SaveRVF(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, 
		int ParaNo, const AnsiString Name, Rvitem::TRVMultiDrawItemPart* Part, bool ForceSameAsPrev);
	DYNAMIC bool __fastcall ReadRVFLine(const AnsiString s, Classes::TPersistent* RVData, int ReadType, 
		int LineNo, int LineCount, AnsiString &Name, Rvitem::TRVFReadMode &ReadMode, Rvitem::TRVFReadState 
		&ReadState, bool UTF8Strings, bool &AssStyleNameUsed);
	__property Rvstyle::TRVSeqType NumberType = {read=GetNumberType, write=SetNumberType, nodefault};
public:
		
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVSeqItemInfo(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TRVSeqList : public Classes::TList 
{
	typedef Classes::TList inherited;
	
public:
	int __fastcall InsertAfter(TRVSeqItemInfo* InsertMe, TRVSeqItemInfo* AfterMe);
	void __fastcall RecalcCounters(int StartFrom, Rvstyle::TRVStyle* RVStyle);
	void __fastcall RecalcDisplayStrings(Rvstyle::TRVStyle* RVStyle);
public:
	#pragma option push -w-inl
	/* TList.Destroy */ inline __fastcall virtual ~TRVSeqList(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TRVSeqList(void) : Classes::TList() { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
static const short rvsSequence = 0xffffff36;

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

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