// CodeGear C++Builder
// Copyright (c) 1995, 2009 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Rvsedit.pas' rev: 21.00

#ifndef RvseditHPP
#define RvseditHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Designintf.hpp>	// Pascal unit
#include <Designeditors.hpp>	// Pascal unit
#include <Colnedit.hpp>	// Pascal unit
#include <Vcleditors.hpp>	// Pascal unit
#include <Rvdocparams.hpp>	// Pascal unit
#include <Typinfo.hpp>	// Pascal unit
#include <Shellapi.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Rvstyle.hpp>	// Pascal unit
#include <Richview.hpp>	// Pascal unit
#include <Rvedit.hpp>	// Pascal unit
#include <Rvcodepages.hpp>	// Pascal unit
#include <Rvreport.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Types.hpp>	// Pascal unit

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

namespace Rvsedit
{
//-- type declarations -------------------------------------------------------
typedef Designeditors::TDefaultEditor TRVComponentEditor;

class DELPHICLASS TRVSEditor;
class PASCALIMPLEMENTATION TRVSEditor : public Designeditors::TDefaultEditor
{
	typedef Designeditors::TDefaultEditor inherited;
	
private:
	void __fastcall LoadStylesFromINIFile(void);
	void __fastcall SaveStylesToINIFile(void);
	
protected:
	int VerbIndex;
	virtual void __fastcall EditProperty(const Designintf::_di_IProperty PropertyEditor, bool &Continue);
	
public:
	virtual void __fastcall ExecuteVerb(int Index);
	virtual System::UnicodeString __fastcall GetVerb(int Index);
	virtual int __fastcall GetVerbCount(void);
public:
	/* TComponentEditor.Create */ inline __fastcall virtual TRVSEditor(Classes::TComponent* AComponent, Designintf::_di_IDesigner ADesigner) : Designeditors::TDefaultEditor(AComponent, ADesigner) { }
	
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TRVSEditor(void) { }
	
};


class DELPHICLASS TRVEEditor;
class PASCALIMPLEMENTATION TRVEEditor : public Designeditors::TDefaultEditor
{
	typedef Designeditors::TDefaultEditor inherited;
	
public:
	virtual void __fastcall ExecuteVerb(int Index);
	virtual System::UnicodeString __fastcall GetVerb(int Index);
	virtual int __fastcall GetVerbCount(void);
public:
	/* TComponentEditor.Create */ inline __fastcall virtual TRVEEditor(Classes::TComponent* AComponent, Designintf::_di_IDesigner ADesigner) : Designeditors::TDefaultEditor(AComponent, ADesigner) { }
	
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TRVEEditor(void) { }
	
};


class DELPHICLASS TRVCodePageProperty;
class PASCALIMPLEMENTATION TRVCodePageProperty : public Designeditors::TIntegerProperty
{
	typedef Designeditors::TIntegerProperty inherited;
	
public:
	virtual Designintf::TPropertyAttributes __fastcall GetAttributes(void);
	virtual System::UnicodeString __fastcall GetValue(void);
	virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
	virtual void __fastcall SetValue(const System::UnicodeString Value)/* overload */;
public:
	/* TPropertyEditor.Create */ inline __fastcall virtual TRVCodePageProperty(const Designintf::_di_IDesigner ADesigner, int APropCount) : Designeditors::TIntegerProperty(ADesigner, APropCount) { }
	/* TPropertyEditor.Destroy */ inline __fastcall virtual ~TRVCodePageProperty(void) { }
	
	
/* Hoisted overloads: */
	
public:
	inline void __fastcall  SetValue(const System::WideString Value){ Designeditors::TPropertyEditor::SetValue(Value); }
	
};


typedef System::UnicodeString __fastcall (*TRVGetUnitNameFunc)(Classes::TPersistent* Obj);

class DELPHICLASS TRVStyleLengthProperty;
class PASCALIMPLEMENTATION TRVStyleLengthProperty : public Designeditors::TIntegerProperty
{
	typedef Designeditors::TIntegerProperty inherited;
	
protected:
	System::UnicodeString __fastcall GetUnits(void);
	DYNAMIC System::UnicodeString __fastcall GetUnitName(Classes::TPersistent* Obj);
	
public:
	void __fastcall PropDrawName(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool ASelected);
	void __fastcall PropDrawValue(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool ASelected);
public:
	/* TPropertyEditor.Create */ inline __fastcall virtual TRVStyleLengthProperty(const Designintf::_di_IDesigner ADesigner, int APropCount) : Designeditors::TIntegerProperty(ADesigner, APropCount) { }
	/* TPropertyEditor.Destroy */ inline __fastcall virtual ~TRVStyleLengthProperty(void) { }
	
private:
	void *__ICustomPropertyDrawing;	/* Vcleditors::ICustomPropertyDrawing */
	
public:
	#if defined(MANAGED_INTERFACE_OPERATORS)
	operator Vcleditors::_di_ICustomPropertyDrawing()
	{
		Vcleditors::_di_ICustomPropertyDrawing intf;
		GetInterface(intf);
		return intf;
	}
	#else
	operator ICustomPropertyDrawing*(void) { return (ICustomPropertyDrawing*)&__ICustomPropertyDrawing; }
	#endif
	
};


class DELPHICLASS TRVLineSpacingValueProperty;
class PASCALIMPLEMENTATION TRVLineSpacingValueProperty : public TRVStyleLengthProperty
{
	typedef TRVStyleLengthProperty inherited;
	
protected:
	DYNAMIC System::UnicodeString __fastcall GetUnitName(Classes::TPersistent* Obj);
public:
	/* TPropertyEditor.Create */ inline __fastcall virtual TRVLineSpacingValueProperty(const Designintf::_di_IDesigner ADesigner, int APropCount) : TRVStyleLengthProperty(ADesigner, APropCount) { }
	/* TPropertyEditor.Destroy */ inline __fastcall virtual ~TRVLineSpacingValueProperty(void) { }
	
};


class DELPHICLASS TRVLengthProperty;
class PASCALIMPLEMENTATION TRVLengthProperty : public Designeditors::TFloatProperty
{
	typedef Designeditors::TFloatProperty inherited;
	
protected:
	System::UnicodeString __fastcall GetUnits(void);
	DYNAMIC System::UnicodeString __fastcall GetUnitName(Classes::TPersistent* Obj);
	
public:
	void __fastcall PropDrawName(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool ASelected);
	void __fastcall PropDrawValue(Graphics::TCanvas* ACanvas, const Types::TRect &ARect, bool ASelected);
public:
	/* TPropertyEditor.Create */ inline __fastcall virtual TRVLengthProperty(const Designintf::_di_IDesigner ADesigner, int APropCount) : Designeditors::TFloatProperty(ADesigner, APropCount) { }
	/* TPropertyEditor.Destroy */ inline __fastcall virtual ~TRVLengthProperty(void) { }
	
private:
	void *__ICustomPropertyDrawing;	/* Vcleditors::ICustomPropertyDrawing */
	
public:
	#if defined(MANAGED_INTERFACE_OPERATORS)
	operator Vcleditors::_di_ICustomPropertyDrawing()
	{
		Vcleditors::_di_ICustomPropertyDrawing intf;
		GetInterface(intf);
		return intf;
	}
	#else
	operator ICustomPropertyDrawing*(void) { return (ICustomPropertyDrawing*)&__ICustomPropertyDrawing; }
	#endif
	
};


class DELPHICLASS TRVStyleTemplateIdProperty;
class PASCALIMPLEMENTATION TRVStyleTemplateIdProperty : public Designeditors::TIntegerProperty
{
	typedef Designeditors::TIntegerProperty inherited;
	
private:
	Rvstyle::TRVStyleTemplateCollection* __fastcall GetCollection(void);
	
public:
	virtual Designintf::TPropertyAttributes __fastcall GetAttributes(void);
	virtual System::UnicodeString __fastcall GetValue(void);
	virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
	virtual void __fastcall SetValue(const System::UnicodeString Value)/* overload */;
public:
	/* TPropertyEditor.Create */ inline __fastcall virtual TRVStyleTemplateIdProperty(const Designintf::_di_IDesigner ADesigner, int APropCount) : Designeditors::TIntegerProperty(ADesigner, APropCount) { }
	/* TPropertyEditor.Destroy */ inline __fastcall virtual ~TRVStyleTemplateIdProperty(void) { }
	
	
/* Hoisted overloads: */
	
public:
	inline void __fastcall  SetValue(const System::WideString Value){ Designeditors::TPropertyEditor::SetValue(Value); }
	
};


class DELPHICLASS TRVStyleTemplateCollectionProperty;
class PASCALIMPLEMENTATION TRVStyleTemplateCollectionProperty : public Colnedit::TCollectionProperty
{
	typedef Colnedit::TCollectionProperty inherited;
	
public:
	virtual Designintf::TPropertyAttributes __fastcall GetAttributes(void);
public:
	/* TPropertyEditor.Create */ inline __fastcall virtual TRVStyleTemplateCollectionProperty(const Designintf::_di_IDesigner ADesigner, int APropCount) : Colnedit::TCollectionProperty(ADesigner, APropCount) { }
	/* TPropertyEditor.Destroy */ inline __fastcall virtual ~TRVStyleTemplateCollectionProperty(void) { }
	
};


class DELPHICLASS TRVStyleTemplateNameProperty;
class PASCALIMPLEMENTATION TRVStyleTemplateNameProperty : public Designeditors::TStringProperty
{
	typedef Designeditors::TStringProperty inherited;
	
public:
	virtual Designintf::TPropertyAttributes __fastcall GetAttributes(void);
	virtual void __fastcall GetValues(Classes::TGetStrProc Proc);
public:
	/* TPropertyEditor.Create */ inline __fastcall virtual TRVStyleTemplateNameProperty(const Designintf::_di_IDesigner ADesigner, int APropCount) : Designeditors::TStringProperty(ADesigner, APropCount) { }
	/* TPropertyEditor.Destroy */ inline __fastcall virtual ~TRVStyleTemplateNameProperty(void) { }
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE TRVGetUnitNameFunc RVGetUnitNameFunc;
extern PACKAGE TRVGetUnitNameFunc RVGetRVUnitNameFunc;
extern PACKAGE System::UnicodeString __fastcall GetRVUnitsName(Rvstyle::TRVUnits Units);
extern PACKAGE void __fastcall Register(void);

}	/* namespace Rvsedit */
using namespace Rvsedit;
#pragma pack(pop)
#pragma option pop

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