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

// (DO NOT EDIT: machine generated header) 'RVStyle.pas' rev: 4.00

#ifndef RVStyleHPP
#define RVStyleHPP

#pragma delphiheader begin
#pragma option push -w-
#include <DsgnIntf.hpp>	// Pascal unit
#include <IniFiles.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 Rvstyle
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TRVFontStyle { rvfsOverline };
#pragma option pop

typedef Set<TRVFontStyle, rvfsOverline, rvfsOverline>  TRVFontStyles;

#pragma option push -b-
enum TRVAlignment { rvaLeft, rvaRight, rvaCenter, rvaJustify };
#pragma option pop

class DELPHICLASS TFontInfo;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TFontInfo : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	bool FJump;
	Controls::TCursor FJumpCursor;
	AnsiString FName;
	AnsiString FFontName;
	int FSize;
	Graphics::TColor FColor;
	Graphics::TColor FBackColor;
	Graphics::TColor FHoverColor;
	Graphics::TFontStyles FStyle;
	TRVFontStyles FStyleEx;
	bool FSingleSymbols;
	int FVShift;
	int FNextStyleNo;
	Graphics::TFontCharset FCharset;
	
public:
	__fastcall virtual TFontInfo(Classes::TCollection* Collection);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	virtual AnsiString __fastcall GetDisplayName(void);
	
__published:
	__property Graphics::TFontCharset Charset = {read=FCharset, write=FCharset, nodefault};
	__property AnsiString FontName = {read=FFontName, write=FFontName};
	__property int Size = {read=FSize, write=FSize, nodefault};
	__property Graphics::TFontStyles Style = {read=FStyle, write=FStyle, nodefault};
	__property int VShift = {read=FVShift, write=FVShift, nodefault};
	__property AnsiString StyleName = {read=FName, write=FName};
	__property Graphics::TColor Color = {read=FColor, write=FColor, nodefault};
	__property Graphics::TColor BackColor = {read=FBackColor, write=FBackColor, nodefault};
	__property Graphics::TColor HoverColor = {read=FHoverColor, write=FHoverColor, nodefault};
	__property TRVFontStyles StyleEx = {read=FStyleEx, write=FStyleEx, nodefault};
	__property bool Jump = {read=FJump, write=FJump, nodefault};
	__property Controls::TCursor JumpCursor = {read=FJumpCursor, write=FJumpCursor, nodefault};
	__property bool SingleSymbols = {read=FSingleSymbols, write=FSingleSymbols, nodefault};
	__property int NextStyleNo = {read=FNextStyleNo, write=FNextStyleNo, nodefault};
public:
	#pragma option push -w-inl
	/* TCollectionItem.Destroy */ inline __fastcall virtual ~TFontInfo(void) { }
	#pragma option pop
	
};

#pragma pack(pop)

class DELPHICLASS TFontInfos;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TFontInfos : public Classes::TCollection 
{
	typedef Classes::TCollection inherited;
	
private:
	Classes::TPersistent* FOwner;
	HIDESBASE TFontInfo* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, TFontInfo* Value);
	
public:
	__fastcall TFontInfos(Classes::TPersistent* Owner);
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	HIDESBASE TFontInfo* __fastcall Add(void);
	void __fastcall Delete(int Index);
	TFontInfo* __fastcall AddFont(AnsiString Name, int Size, Graphics::TColor Color, Graphics::TColor BackColor
		, Graphics::TFontStyles Style);
	TFontInfo* __fastcall AddFontEx(AnsiString Name, int Size, Graphics::TColor Color, Graphics::TColor 
		BackColor, Graphics::TFontStyles Style, Graphics::TFontCharset Charset);
	__property TFontInfo* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
public:
	#pragma option push -w-inl
	/* TCollection.Destroy */ inline __fastcall virtual ~TFontInfos(void) { }
	#pragma option pop
	
};

#pragma pack(pop)

class DELPHICLASS TParaInfo;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TParaInfo : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	int FFirstIndent;
	int FLeftIndent;
	int FRightIndent;
	TRVAlignment FAlignment;
	AnsiString FName;
	
public:
	__fastcall virtual TParaInfo(Classes::TCollection* Collection);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	virtual AnsiString __fastcall GetDisplayName(void);
	
__published:
	__property int FirstIndent = {read=FFirstIndent, write=FFirstIndent, nodefault};
	__property int LeftIndent = {read=FLeftIndent, write=FLeftIndent, nodefault};
	__property int RightIndent = {read=FRightIndent, write=FRightIndent, nodefault};
	__property TRVAlignment Alignment = {read=FAlignment, write=FAlignment, nodefault};
	__property AnsiString StyleName = {read=FName, write=FName};
public:
	#pragma option push -w-inl
	/* TCollectionItem.Destroy */ inline __fastcall virtual ~TParaInfo(void) { }
	#pragma option pop
	
};

#pragma pack(pop)

class DELPHICLASS TParaInfos;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TParaInfos : public Classes::TCollection 
{
	typedef Classes::TCollection inherited;
	
private:
	Classes::TPersistent* FOwner;
	HIDESBASE TParaInfo* __fastcall GetItem(int Index);
	HIDESBASE void __fastcall SetItem(int Index, TParaInfo* Value);
	
public:
	__fastcall TParaInfos(Classes::TPersistent* Owner);
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	HIDESBASE TParaInfo* __fastcall Add(void);
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	__property TParaInfo* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
public:
	#pragma option push -w-inl
	/* TCollection.Destroy */ inline __fastcall virtual ~TParaInfos(void) { }
	#pragma option pop
	
};

#pragma pack(pop)

class DELPHICLASS TRVStyle;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TRVStyle : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	Graphics::TColor FColor;
	Graphics::TColor FHoverColor;
	Graphics::TColor FSelColor;
	Graphics::TColor FSelTextColor;
	Graphics::TColor FCheckpointColor;
	Graphics::TColor FCheckpointEvColor;
	Controls::TCursor FCursor;
	TFontInfos* FTextStyles;
	TParaInfos* FParaStyles;
	bool FFullRedraw;
	short FSpacesInTab;
	void __fastcall SetTextStyles(TFontInfos* ATextStyles);
	void __fastcall SetParaStyles(TParaInfos* Value);
	
protected:
	void __fastcall ResetTextStyles(void);
	void __fastcall ResetParaStyles(void);
	
public:
	__fastcall virtual TRVStyle(Classes::TComponent* AOwner);
	__fastcall virtual ~TRVStyle(void);
	int __fastcall AddTextStyle(void);
	void __fastcall DeleteTextStyle(int Index);
	void __fastcall SaveINI(const AnsiString FileName, const AnsiString Section);
	void __fastcall LoadINI(const AnsiString FileName, const AnsiString Section);
	void __fastcall SaveCSSFile(TextFile &F);
	bool __fastcall SaveCSS(const AnsiString FileName);
	
__published:
	__property short SpacesInTab = {read=FSpacesInTab, write=FSpacesInTab, nodefault};
	__property TFontInfos* TextStyles = {read=FTextStyles, write=SetTextStyles};
	__property TParaInfos* ParaStyles = {read=FParaStyles, write=SetParaStyles};
	__property Controls::TCursor JumpCursor = {read=FCursor, write=FCursor, nodefault};
	__property Graphics::TColor Color = {read=FColor, write=FColor, nodefault};
	__property Graphics::TColor HoverColor = {read=FHoverColor, write=FHoverColor, nodefault};
	__property bool FullRedraw = {read=FFullRedraw, write=FFullRedraw, nodefault};
	__property Graphics::TColor SelColor = {read=FSelColor, write=FSelColor, nodefault};
	__property Graphics::TColor SelTextColor = {read=FSelTextColor, write=FSelTextColor, nodefault};
	__property Graphics::TColor CheckpointColor = {read=FCheckpointColor, write=FCheckpointColor, nodefault
		};
	__property Graphics::TColor CheckpointEvColor = {read=FCheckpointEvColor, write=FCheckpointEvColor, 
		nodefault};
};

#pragma pack(pop)

//-- var, const, procedure ---------------------------------------------------
static const Shortint crJump = 0x65;
static const Shortint rvsNormal = 0x0;
static const Shortint rvsHeading = 0x1;
static const Shortint rvsSubheading = 0x2;
static const Shortint rvsKeyword = 0x3;
static const Shortint rvsJump1 = 0x4;
static const Shortint rvsJump2 = 0x5;
static const Shortint LAST_DEFAULT_STYLE_NO = 0x5;
extern PACKAGE void __fastcall Register(void);

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

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