// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'RVNote.pas' rev: 6.00

#ifndef RVNoteHPP
#define RVNoteHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <RVTypes.hpp>	// Pascal unit
#include <RVStr.hpp>	// Pascal unit
#include <RVScroll.hpp>	// Pascal unit
#include <RVFMisc.hpp>	// Pascal unit
#include <RichView.hpp>	// Pascal unit
#include <RVSubData.hpp>	// Pascal unit
#include <RVRVData.hpp>	// Pascal unit
#include <RVSeqItem.hpp>	// Pascal unit
#include <RVLabelItem.hpp>	// Pascal unit
#include <RVUni.hpp>	// Pascal unit
#include <RVClasses.hpp>	// Pascal unit
#include <DLines.hpp>	// Pascal unit
#include <RVItem.hpp>	// Pascal unit
#include <CRVData.hpp>	// Pascal unit
#include <RVStyle.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Rvnote
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TRVNoteData;
class PASCALIMPLEMENTATION TRVNoteData : public Rvsubdata::TRVSubData 
{
	typedef Rvsubdata::TRVSubData inherited;
	
public:
	int SRVHeight;
	AnsiString FNoteTextForPrinting;
	DYNAMIC AnsiString __fastcall GetNoteText();
	AnsiString __fastcall GetNoteTextForPrinting();
public:
	#pragma option push -w-inl
	/* TRVSubData.Create */ inline __fastcall TRVNoteData(Rvitem::TCustomRVItemInfo* AOwner, Crvdata::TCustomRVData* AMainRVData) : Rvsubdata::TRVSubData(AOwner, AMainRVData) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TCustomRVData.Destroy */ inline __fastcall virtual ~TRVNoteData(void) { }
	#pragma option pop
	
};


class DELPHICLASS TCustomRVNoteItemInfo;
class PASCALIMPLEMENTATION TCustomRVNoteItemInfo : public Rvseqitem::TRVSeqItemInfo 
{
	typedef Rvseqitem::TRVSeqItemInfo inherited;
	
private:
	TRVNoteData* FDocument;
	
protected:
	virtual void __fastcall SetParentRVData(const Classes::TPersistent* Value);
	virtual void __fastcall SetNumberType(const Rvstyle::TRVSeqType Value);
	DYNAMIC AnsiString __fastcall GetRTFDestinationModifier();
	void __fastcall Do_ChangeDoc(Classes::TStream* Stream, int ItemNo);
	
public:
	__fastcall virtual ~TCustomRVNoteItemInfo(void);
	DYNAMIC void __fastcall MovingToUndoList(int ItemNo, System::TObject* RVData, System::TObject* AContainerUndoItem);
	DYNAMIC void __fastcall MovingFromUndoList(int ItemNo, System::TObject* RVData);
	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);
	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, bool HiddenParent);
	DYNAMIC void __fastcall FillRTFTables(Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* ListOverrideCountList, Classes::TPersistent* RVData);
	DYNAMIC AnsiString __fastcall GetHTMLAnchorName();
	DYNAMIC void __fastcall SaveToHTML(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, const AnsiString Text, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, bool UseCSS, Rvclasses::TRVList* Bullets);
	virtual bool __fastcall GetBoolValue(Rvitem::TRVItemBoolProperty Prop);
	DYNAMIC void __fastcall MarkStylesInUse(Rvitem::TRVDeleteUnusedStylesData* Data);
	DYNAMIC void __fastcall UpdateStyles(Rvitem::TRVDeleteUnusedStylesData* Data);
	DYNAMIC void __fastcall Assign(Rvitem::TCustomRVItemInfo* Source);
	void __fastcall ReplaceDocumentEd(Classes::TStream* Stream);
	__property TRVNoteData* Document = {read=FDocument};
public:
	#pragma option push -w-inl
	/* TRVSeqItemInfo.CreateEx */ inline __fastcall TCustomRVNoteItemInfo(Classes::TPersistent* RVData, const AnsiString ASeqName, Rvstyle::TRVSeqType ANumberType, int ATextStyleNo, int AStartFrom, bool AReset) : Rvseqitem::TRVSeqItemInfo(RVData, ASeqName, ANumberType, ATextStyleNo, AStartFrom, AReset) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TRVSeqItemInfo.Create */ inline __fastcall virtual TCustomRVNoteItemInfo(Classes::TPersistent* RVData) : Rvseqitem::TRVSeqItemInfo(RVData) { }
	#pragma option pop
	
};


class DELPHICLASS TRVEndnoteItemInfo;
class PASCALIMPLEMENTATION TRVEndnoteItemInfo : public TCustomRVNoteItemInfo 
{
	typedef TCustomRVNoteItemInfo inherited;
	
private:
	void __fastcall Init(Classes::TPersistent* RVData);
	
protected:
	virtual Rvstyle::TRVSeqType __fastcall GetNumberType(void);
	DYNAMIC AnsiString __fastcall GetRTFDestinationModifier();
	
public:
	__fastcall TRVEndnoteItemInfo(Classes::TPersistent* RVData, int ATextStyleNo, int AStartFrom, bool AReset);
	__fastcall virtual TRVEndnoteItemInfo(Classes::TPersistent* RVData);
	DYNAMIC AnsiString __fastcall GetHTMLAnchorName();
	DYNAMIC AnsiString __fastcall AsText(int LineWidth, Classes::TPersistent* RVData, const AnsiString Text, const AnsiString Path, bool TextOnly, bool Unicode);
public:
	#pragma option push -w-inl
	/* TCustomRVNoteItemInfo.Destroy */ inline __fastcall virtual ~TRVEndnoteItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVFootnoteItemInfo;
class PASCALIMPLEMENTATION TRVFootnoteItemInfo : public TCustomRVNoteItemInfo 
{
	typedef TCustomRVNoteItemInfo inherited;
	
private:
	void __fastcall Init(Classes::TPersistent* RVData);
	
protected:
	virtual Rvstyle::TRVSeqType __fastcall GetNumberType(void);
	DYNAMIC AnsiString __fastcall GetTextForPrintMeasuring(Classes::TPersistent* RVData);
	virtual AnsiString __fastcall GetTextForPrinting(Classes::TPersistent* RVData, Dlines::TRVDrawLineInfo* DrawItem);
	
public:
	int SRVCounter;
	int SRVOldCounter;
	__fastcall TRVFootnoteItemInfo(Classes::TPersistent* RVData, int ATextStyleNo, int AStartFrom, bool AReset);
	__fastcall virtual TRVFootnoteItemInfo(Classes::TPersistent* RVData);
	virtual Dlines::TRVDrawLineInfo* __fastcall CreatePrintingDrawItem(System::TObject* RVData, System::TObject* ParaStyle, const Rvstyle::TRVScreenAndDevice &sad);
	DYNAMIC AnsiString __fastcall GetHTMLAnchorName();
	DYNAMIC void __fastcall CalcDisplayString(Rvseqitem::TRVSeqList* List);
	DYNAMIC AnsiString __fastcall AsText(int LineWidth, Classes::TPersistent* RVData, const AnsiString Text, const AnsiString Path, bool TextOnly, bool Unicode);
	virtual void __fastcall OnDocWidthChange(int DocWidth, Dlines::TRVDrawLineInfo* dli, bool Printing, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData, Rvstyle::PRVScreenAndDevice sad, int &HShift, int &Desc, bool NoCaching, bool Reformatting, bool UseFormatCanvas);
public:
	#pragma option push -w-inl
	/* TCustomRVNoteItemInfo.Destroy */ inline __fastcall virtual ~TRVFootnoteItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVNoteReferenceItemInfo;
class PASCALIMPLEMENTATION TRVNoteReferenceItemInfo : public Rvlabelitem::TRVLabelItemInfo 
{
	typedef Rvlabelitem::TRVLabelItemInfo inherited;
	
protected:
	virtual AnsiString __fastcall GetTextForPrinting(Classes::TPersistent* RVData, Dlines::TRVDrawLineInfo* DrawItem);
	
public:
	__fastcall virtual TRVNoteReferenceItemInfo(Classes::TPersistent* RVData);
	__fastcall TRVNoteReferenceItemInfo(Classes::TPersistent* RVData, int TextStyleNo);
	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);
	virtual void __fastcall OnDocWidthChange(int DocWidth, Dlines::TRVDrawLineInfo* dli, bool Printing, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData, Rvstyle::PRVScreenAndDevice sad, int &HShift, int &Desc, bool NoCaching, bool Reformatting, bool UseFormatCanvas);
	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, bool HiddenParent);
	DYNAMIC void __fastcall SaveToHTML(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, const AnsiString Text, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, bool UseCSS, Rvclasses::TRVList* Bullets);
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVNoteReferenceItemInfo(void) { }
	#pragma option pop
	
};


typedef TMetaClass*TCustomRVNoteItemInfoClass;

typedef TMetaClass*TRVEndnoteItemInfoClass;

//-- var, const, procedure ---------------------------------------------------
#define RV_FOOTNOTE_SEQNAME "@footnote@"
#define RV_ENDNOTE_SEQNAME "@endnote@"
#define RV_FOOTNOTE_HTML_ANCHOR "footnote%d"
#define RV_ENDNOTE_HTML_ANCHOR "endnote%d"
static const short rvsFootnote = 0xffffff35;
static const short rvsEndnote = 0xffffff34;
static const short rvsNoteReference = 0xffffff33;
extern PACKAGE int __fastcall RVGetNoteTextStyleNo(Rvstyle::TRVStyle* RVStyle, int StyleNo);
extern PACKAGE TCustomRVNoteItemInfo* __fastcall GetNextNote(Crvdata::TCustomRVData* RVData, TCustomRVNoteItemInfo* Note, TMetaClass* NoteClass, bool AllowHidden);
extern PACKAGE TRVEndnoteItemInfo* __fastcall RVGetFirstEndnote(Richview::TCustomRichView* RichView, bool AllowHidden);
extern PACKAGE TRVEndnoteItemInfo* __fastcall RVGetFirstEndnoteInRootRVData(Crvdata::TCustomRVData* RVData, bool AllowHidden);
extern PACKAGE TRVEndnoteItemInfo* __fastcall RVGetNextEndnote(Richview::TCustomRichView* RichView, TRVEndnoteItemInfo* Endnote, bool AllowHidden);
extern PACKAGE TRVFootnoteItemInfo* __fastcall RVGetFirstFootnote(Richview::TCustomRichView* RichView, bool AllowHidden);
extern PACKAGE TRVFootnoteItemInfo* __fastcall RVGetNextFootnote(Richview::TCustomRichView* RichView, TRVFootnoteItemInfo* Footnote, bool AllowHidden);
extern PACKAGE TRVFootnoteItemInfo* __fastcall RVGetFirstFootnoteInRootRVData(Crvdata::TCustomRVData* RVData, bool AllowHidden);

}	/* namespace Rvnote */
using namespace Rvnote;
#pragma option pop	// -w-
#pragma option pop	// -Vx

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