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

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

#ifndef RVStyleHPP
#define RVStyleHPP
#include <DsgnIntf.hpp>
#include <IniFiles.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>

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

namespace Rvstyle
{
//-- type declarations -------------------------------------------------------
enum TRVFontStyle { rvfsOverline };

typedef Set<TRVFontStyle, rvfsOverline, rvfsOverline>  TRVFontStyles;

enum TRVAlignment { rvaLeft, rvaRight, rvaCenter, rvaJustify };

class DELPHICLASS TFontInfo;
class PASCALIMPLEMENTATION TFontInfo : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	bool FJump;
	Controls::TCursor FJumpCursor;
	System::AnsiString FName;
	System::AnsiString FFontName;
	int FSize;
	Graphics::TColor FColor;
	Graphics::TColor FBackColor;
	Graphics::TColor FHoverColor;
	Graphics::TFontStyles FStyle;
	TRVFontStyles FStyleEx;
	bool FSingleSymbols;
	int FVShift;
	int FNextStyleNo;
	
public:
	__fastcall virtual TFontInfo(Classes::TCollection* Collection);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	
__published:
	__property System::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 System::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:
	/* TCollectionItem.Destroy */ __fastcall virtual ~TFontInfo(void) { }
	
};

class DELPHICLASS TFontInfos;
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);
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	HIDESBASE TFontInfo* __fastcall Add(void);
	void __fastcall Delete(int Index);
	TFontInfo* __fastcall AddFont(System::AnsiString Name, int Size, Graphics::TColor Color, Graphics::TColor 
		BackColor, Graphics::TFontStyles Style);
	__property TFontInfo* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
public:
	/* TCollection.Destroy */ __fastcall virtual ~TFontInfos(void) { }
	
};

class DELPHICLASS TParaInfo;
class PASCALIMPLEMENTATION TParaInfo : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	int FFirstIndent;
	int FLeftIndent;
	int FRightIndent;
	TRVAlignment FAlignment;
	System::AnsiString FName;
	
public:
	__fastcall virtual TParaInfo(Classes::TCollection* Collection);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	
__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 System::AnsiString StyleName = {read=FName, write=FName};
public:
	/* TCollectionItem.Destroy */ __fastcall virtual ~TParaInfo(void) { }
	
};

class DELPHICLASS TParaInfos;
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);
	HIDESBASE TParaInfo* __fastcall Add(void);
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	__property TParaInfo* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
public:
	/* TCollection.Destroy */ __fastcall virtual ~TParaInfos(void) { }
	
};

class DELPHICLASS TRVStyle;
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 System::AnsiString FileName, const System::AnsiString Section);
	void __fastcall LoadINI(const System::AnsiString FileName, const System::AnsiString Section);
	void __fastcall SaveCSSFile(System::TextFile &F);
	bool __fastcall SaveCSS(const System::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};
};

//-- var, const, procedure ---------------------------------------------------
#define crJump (Byte)(101)
#define rvsNormal (Byte)(0)
#define rvsHeading (Byte)(1)
#define rvsSubheading (Byte)(2)
#define rvsKeyword (Byte)(3)
#define rvsJump1 (Byte)(4)
#define rvsJump2 (Byte)(5)
#define LAST_DEFAULT_STYLE_NO (Byte)(5)
extern PACKAGE void __fastcall Register(void);

}	/* namespace Rvstyle */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Rvstyle;
#endif
//-- end unit ----------------------------------------------------------------
#endif	// RVStyle
