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

// (DO NOT EDIT: machine generated header) 'Rvedit.pas' rev: 10.00

#ifndef RveditHPP
#define RveditHPP

#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 <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Richedit.hpp>	// Pascal unit
#include <Shellapi.hpp>	// Pascal unit
#include <Imm.hpp>	// Pascal unit
#include <Rvmarker.hpp>	// Pascal unit
#include <Imglist.hpp>	// Pascal unit
#include <Activex.hpp>	// Pascal unit
#include <Shlobj.hpp>	// Pascal unit
#include <Rvdragdrop.hpp>	// Pascal unit
#include <Rvscroll.hpp>	// Pascal unit
#include <Rvstyle.hpp>	// Pascal unit
#include <Rvitem.hpp>	// Pascal unit
#include <Richview.hpp>	// Pascal unit
#include <Dlines.hpp>	// Pascal unit
#include <Clipbrd.hpp>	// Pascal unit
#include <Rvfuncs.hpp>	// Pascal unit
#include <Rvuni.hpp>	// Pascal unit
#include <Crvdata.hpp>	// Pascal unit
#include <Crvfdata.hpp>	// Pascal unit
#include <Rvrvdata.hpp>	// Pascal unit
#include <Rvclasses.hpp>	// Pascal unit
#include <Rvrtferr.hpp>	// Pascal unit
#include <Rvtypes.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Rvdocparams.hpp>	// Pascal unit
#include <Rvrtfprops.hpp>	// Pascal unit
#include <Rvpopup.hpp>	// Pascal unit
#include <Stdctrls.hpp>	// Pascal unit

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

namespace Rvedit
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TRVESearchOption { rvseoMatchCase, rvseoDown, rvseoWholeWord, rvseoMultiItem };
#pragma option pop

typedef Set<TRVESearchOption, rvseoMatchCase, rvseoMultiItem>  TRVESearchOptions;

#pragma option push -b-
enum TRVEditorOption { rvoClearTagOnStyleApp, rvoCtrlJumps, rvoDoNotWantReturns, rvoDoNotWantShiftReturns, rvoWantTabs, rvoAutoSwitchLang, rvoHideReadOnlyCaret, rvoNoImageResize, rvoNoCaretHighlightJumps };
#pragma option pop

typedef Set<TRVEditorOption, rvoClearTagOnStyleApp, rvoNoCaretHighlightJumps>  TRVEditorOptions;

#pragma option push -b-
enum TRVDragDropFormat { rvddRVF, rvddRTF, rvddText, rvddUnicodeText, rvddBitmap, rvddMetafile, rvddURL, rvddFiles };
#pragma option pop

typedef Set<TRVDragDropFormat, rvddRVF, rvddFiles>  TRVDragDropFormats;

#pragma option push -b-
enum TRVDropFileAction { rvdfNone, rvdfInsert, rvdfLink };
#pragma option pop

#pragma option push -b-
enum TRVUndoType { rvutNone, rvutDelete, rvutInsert, rvutPara, rvutMiscTyping, rvutInsertPageBreak, rvutRemovePageBreak, rvutTyping, rvutTag, rvutStyleNo, rvutAddCheckpoint, rvutRemoveCheckpoint, rvutModifyCheckpoint, rvutModifyItem, rvutList, rvutCustom };
#pragma option pop

#pragma option push -b-
enum TRVGetOutDirection { rvdLeft, rvdUp, rvdRight, rvdDown, rvdTop, rvdBottom };
#pragma option pop

#pragma option push -b-
enum TRVOleDropEffect { rvdeNone, rvdeCopy, rvdeMove, rvdeLink };
#pragma option pop

typedef Set<TRVOleDropEffect, rvdeNone, rvdeLink>  TRVOleDropEffects;

class DELPHICLASS TCustomRichViewEdit;
typedef void __fastcall (__closure *TRVStyleConversionEvent)(TCustomRichViewEdit* Sender, int StyleNo, int UserData, bool AppliedToText, int &NewStyleNo);

typedef void __fastcall (__closure *TRVStyleConversionEvent_)(TCustomRichViewEdit* Sender, int StyleNo, int ParaStyleNo, int UserData, bool AppliedToText, int &NewStyleNo, bool ToWholeParagraphs);

typedef void __fastcall (__closure *TRVPasteEvent)(TCustomRichViewEdit* Sender, bool &DoDefault);

typedef void __fastcall (__closure *TRVOnCaretGetOutEvent)(TCustomRichViewEdit* Sender, TRVGetOutDirection Direction);

typedef void __fastcall (__closure *TRVChangingEvent)(TCustomRichViewEdit* Sender, bool &CanEdit);

typedef void __fastcall (__closure *TRVDropFilesEvent)(TCustomRichViewEdit* Sender, Classes::TStrings* Files, TRVDropFileAction &FileAction, bool &DoDefault);

typedef void __fastcall (__closure *TRVOleDragEnterEvent)(Richview::TCustomRichView* Sender, const _di_IDataObject DataObject, Classes::TShiftState Shift, int X, int Y, TRVOleDropEffects PossibleDropEffects, TRVOleDropEffect &DropEffect);

typedef void __fastcall (__closure *TRVOleDragOverEvent)(Richview::TCustomRichView* Sender, Classes::TShiftState Shift, int X, int Y, TRVOleDropEffects PossibleDropEffects, TRVOleDropEffect &DropEffect);

typedef void __fastcall (__closure *TRVOleDropEvent)(Richview::TCustomRichView* Sender, const _di_IDataObject DataObject, Classes::TShiftState Shift, int X, int Y, TRVOleDropEffects PossibleDropEffects, TRVOleDropEffect &DropEffect, bool &DoDefault);

typedef void __fastcall (__closure *TRVItemResizeEvent)(TCustomRichViewEdit* Sender, Crvfdata::TCustomRVFormattedData* RVData, int ItemNo, int Val1, int Val2);

typedef void __fastcall (__closure *TRVItemTextEditEvent)(TCustomRichViewEdit* Sender, const AnsiString OldText, Crvdata::TCustomRVData* RVData, int ItemNo, int &NewTag, int &NewStyleNo);

typedef void __fastcall (__closure *TRVDrawCustomCaretEvent)(TCustomRichViewEdit* Sender, Graphics::TCanvas* Canvas, const Types::TRect &Rect);

typedef void __fastcall (__closure *TRVMeasureCustomCaretEvent)(TCustomRichViewEdit* Sender, Types::TRect &Rect);

typedef void __fastcall (__closure *TRVGetSRichViewEditEvent)(TCustomRichViewEdit* Sender, Controls::TCustomControl* &SRichViewEdit);

class PASCALIMPLEMENTATION TCustomRichViewEdit : public Richview::TCustomRichView 
{
	typedef Richview::TCustomRichView inherited;
	
private:
	bool FModified;
	int FLockCount;
	bool FReadOnly;
	TRVEditorOptions FEditorOptions;
	TRVDragDropFormats FAcceptDragDropFormats;
	Classes::TNotifyEvent FOnCurParaStyleChanged;
	Classes::TNotifyEvent FOnCurTextStyleChanged;
	Classes::TNotifyEvent FOnChange;
	Classes::TNotifyEvent FOnCaretMove;
	TRVChangingEvent FOnChanging;
	TRVStyleConversionEvent FOnStyleConversion;
	TRVStyleConversionEvent FOnParaStyleConversion;
	TRVPasteEvent FOnPaste;
	TRVOnCaretGetOutEvent FOnCaretGetOut;
	TRVDropFilesEvent FOnDropFiles;
	Rvdragdrop::TRVDropTarget* FDropTarget;
	TRVOleDragEnterEvent FOnOleDragEnter;
	TRVOleDropEvent FOnOleDrop;
	TRVOleDragOverEvent FOnOleDragOver;
	Classes::TNotifyEvent FOnOleDragLeave;
	int FCustomCaretInterval;
	TRVDrawCustomCaretEvent FOnDrawCustomCaret;
	TRVMeasureCustomCaretEvent FOnMeasureCustomCaret;
	TRVItemTextEditEvent FOnItemTextEdit;
	TRVItemResizeEvent FOnItemResize;
	TRVGetSRichViewEditEvent FOnGetSRichViewEdit;
	void __fastcall CheckItemClass(int ItemNo, TMetaClass* RequiredClass);
	MESSAGE void __fastcall WMInputLangChange(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
	HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TWMKillFocus &Message);
	MESSAGE void __fastcall WMCut(Messages::TWMNoParams &Message);
	MESSAGE void __fastcall WMPaste(Messages::TWMNoParams &Message);
	HIDESBASE MESSAGE void __fastcall WMGetDlgCode(Messages::TWMNoParams &Message);
	MESSAGE void __fastcall CMWantSpecialKey(Messages::TWMKey &Message);
	MESSAGE void __fastcall WMSysChar(Messages::TWMKey &Message);
	HIDESBASE MESSAGE void __fastcall WMKeyDown(Messages::TWMKey &Message);
	HIDESBASE MESSAGE void __fastcall WMChar(Messages::TWMKey &Message);
	MESSAGE void __fastcall WMUndoFromInplace(Messages::TMessage &Message);
	MESSAGE void __fastcall WMRedoFromInplace(Messages::TMessage &Message);
	MESSAGE void __fastcall WMClear(Messages::TMessage &Message);
	MESSAGE void __fastcall WMUndo(Messages::TMessage &Message);
	MESSAGE void __fastcall EMUndo(Messages::TMessage &Message);
	MESSAGE void __fastcall EMRedo(Messages::TMessage &Message);
	MESSAGE void __fastcall EMCanUndo(Messages::TMessage &Message);
	MESSAGE void __fastcall EMCanRedo(Messages::TMessage &Message);
	MESSAGE void __fastcall EMCanPaste(Messages::TMessage &Message);
	MESSAGE void __fastcall WMCreate(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMDestroy(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMTimer(Messages::TWMTimer &Message);
	void __fastcall UpdateImeWindow(void);
	void __fastcall GetCompositionFormParams(tagCOMPOSITIONFORM &CF);
	MESSAGE void __fastcall WMImeStartComposition(Messages::TMessage &Message);
	MESSAGE void __fastcall WMImeComposition(Messages::TMessage &Message);
	MESSAGE void __fastcall WMImeChar(Messages::TMessage &Message);
	void __fastcall SetCurParaStyleNo(const int Value);
	void __fastcall SetCurTextStyleNo(const int Value);
	int __fastcall GetCurParaStyleNo(void);
	int __fastcall GetCurTextStyleNo(void);
	int __fastcall GetCurItemStyle(void);
	int __fastcall GetCurItemNo(void);
	int __fastcall GetOffsetInCurItem(void);
	void __fastcall ApplyTextStyleConversionProc(TCustomRichViewEdit* Sender, int StyleNo, int ParaStyleNo, int UserData, bool AppliedToText, int &NewStyleNo, bool ToWholeParagraphs);
	void __fastcall ApplyParaStyleTemplateConversionProc(TCustomRichViewEdit* Sender, int StyleNo, int ParaStyleNo, int UserData, bool AppliedToText, int &NewStyleNo, bool ToWholeParagraphs);
	void __fastcall ApplyTextStyleTemplateConversionProc(TCustomRichViewEdit* Sender, int StyleNo, int ParaStyleNo, int UserData, bool AppliedToText, int &NewStyleNo, bool ToWholeParagraphs);
	void __fastcall ApplyUserParaStyleConversionProc(TCustomRichViewEdit* Sender, int StyleNo, int ParaStyleNo, int UserData, bool AppliedToText, int &NewStyleNo, bool ToWholeParagraphs);
	void __fastcall ApplyUserTextStyleConversionProc(TCustomRichViewEdit* Sender, int StyleNo, int ParaStyleNo, int UserData, bool AppliedToText, int &NewStyleNo, bool ToWholeParagraphs);
	int __fastcall GetUndoLimit(void);
	void __fastcall SetUndoLimit(const int Value);
	bool __fastcall IsUndoShortcut(Classes::TShiftState Shift, Word Key);
	bool __fastcall IsRedoShortcut(Classes::TShiftState Shift, Word Key);
	void __fastcall InsertTextW_(const AnsiString text);
	MESSAGE void __fastcall WMUniChar(Messages::TMessage &Message);
	HIDESBASE void __fastcall SetTabNavigation(const Rvscroll::TRVTabNavigationType Value);
	TCustomRichViewEdit* __fastcall GetTopLevelEditor(void);
	bool __fastcall DoChanging(void);
	int __fastcall GetActualCurTextStyleNo(void);
	void __fastcall SetCustomCaretInterval(const int Value);
	
protected:
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	virtual TMetaClass* __fastcall GetDataClass(void);
	virtual void __fastcall SetReadOnly(const bool Value);
	virtual bool __fastcall GetReadOnly(void);
	DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
	DYNAMIC void __fastcall KeyUp(Word &Key, Classes::TShiftState Shift);
	DYNAMIC void __fastcall KeyPress(char &Key);
	void __fastcall OnEnterPress(bool Shift);
	void __fastcall OnBackSpacePress(bool Ctrl);
	void __fastcall OnDeletePress(bool Ctrl);
	virtual void __fastcall AfterVScroll(void);
	virtual void __fastcall AfterHScroll(void);
	DYNAMIC bool __fastcall OleDragEnter(int X, int Y);
	DYNAMIC void __fastcall CallOleDragEnterEvent(const _di_IDataObject DataObj, int KeyState, const Types::TPoint &pt, int PossibleEffects, int &Effect);
	DYNAMIC void __fastcall OleDragLeave(void);
	DYNAMIC bool __fastcall OleDragOver(int X, int Y);
	DYNAMIC void __fastcall CallOleDragOverEvent(int KeyState, const Types::TPoint &pt, int PossibleEffects, int &Effect);
	DYNAMIC int __fastcall OleDrop(const _di_IDataObject DataObj, bool FMove, int KeyState, const Types::TPoint &pt, int PossibleEffects);
	DYNAMIC void __fastcall ReleaseOleDropTargetObject(void);
	Word __fastcall GetAcceptableRVFormat(void);
	DYNAMIC bool __fastcall OleCanAcceptFormat(Word Format);
	DYNAMIC void __fastcall AdjustPopupMenuPos(Types::TPoint &pt);
	AnsiString __fastcall GetBasePathFromHTMLInClipboard();
	DYNAMIC void __fastcall SetSmartPopupTarget(void);
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	__property Classes::TNotifyEvent OnCaretMove = {read=FOnCaretMove, write=FOnCaretMove};
	__property TRVChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
	__property TRVPasteEvent OnPaste = {read=FOnPaste, write=FOnPaste};
	__property TabNavigation  = {read=GetTabNavigation, write=SetTabNavigation, default=0};
	__property TRVDragDropFormats AcceptDragDropFormats = {read=FAcceptDragDropFormats, write=FAcceptDragDropFormats, default=191};
	virtual void __fastcall BeforeScroll(void);
	
public:
	TRVStyleConversionEvent_ FCurStyleConversion;
	__fastcall virtual TCustomRichViewEdit(Classes::TComponent* AOwner);
	void __fastcall SetFReadOnly(bool Value);
	bool __fastcall BeforeInserting(void);
	void __fastcall AfterInserting(void);
	DYNAMIC void __fastcall CurParaStyleChange(void);
	DYNAMIC void __fastcall CurTextStyleChange(void);
	virtual bool __fastcall BeforeChange(bool FromOutside);
	DYNAMIC void __fastcall DoChange(bool ClearRedo);
	DYNAMIC void __fastcall Selecting(void);
	void __fastcall AfterCaretMove(void);
	HIDESBASE void __fastcall AssignEvents(Richview::TCustomRichView* Source);
	void __fastcall BeforeUnicode(void);
	TCustomRichViewEdit* __fastcall GetRootEditor(void);
	void __fastcall RefreshAll(void);
	void __fastcall InsertTextW(const WideString text, bool CaretBefore = false);
	bool __fastcall InsertStringWTag(const WideString s, int Tag);
	bool __fastcall InsertItemR(const AnsiString Name, Rvitem::TCustomRVItemInfo* Item);
	bool __fastcall InsertItem(const AnsiString Name, Rvitem::TCustomRVItemInfo* Item);
	void __fastcall InsertTextA(const AnsiString text, bool CaretBefore = false);
	void __fastcall InsertText(const AnsiString text, bool CaretBefore = false);
	bool __fastcall InsertStringATag(const AnsiString s, int Tag);
	bool __fastcall InsertStringTag(const AnsiString s, int Tag);
	bool __fastcall InsertTab(void);
	HIDESBASE bool __fastcall InsertControl(const AnsiString Name, Controls::TControl* ctrl, Rvstyle::TRVVAlign VAlign);
	bool __fastcall InsertPicture(const AnsiString Name, Graphics::TGraphic* gr, Rvstyle::TRVVAlign VAlign);
	bool __fastcall InsertHotPicture(const AnsiString Name, Graphics::TGraphic* gr, Rvstyle::TRVVAlign VAlign);
	bool __fastcall InsertBreak(Byte Width, Rvstyle::TRVBreakStyle Style, Graphics::TColor Color);
	bool __fastcall InsertBullet(int ImageIndex, Imglist::TCustomImageList* ImageList);
	bool __fastcall InsertHotspot(int ImageIndex, int HotImageIndex, Imglist::TCustomImageList* ImageList);
	bool __fastcall InsertRVFFromStreamEd(Classes::TStream* Stream);
	bool __fastcall InsertRVFFromFileEd(const AnsiString FileName);
	bool __fastcall InsertTextFromFile(const AnsiString FileName);
	bool __fastcall InsertOEMTextFromFile(const AnsiString FileName);
	bool __fastcall InsertTextFromFileW(const AnsiString FileName);
	bool __fastcall InsertRTFFromStreamEd(Classes::TStream* Stream);
	bool __fastcall InsertRTFFromFileEd(const AnsiString FileName);
	void __fastcall InsertPageBreak(void);
	void __fastcall RemoveCurrentPageBreak(void);
	void __fastcall ClearTextFlow(bool Left, bool Right);
	void __fastcall ConvertToPicture(int ItemNo);
	void __fastcall ConvertToHotPicture(int ItemNo);
	bool __fastcall CanDelete(void);
	DYNAMIC void __fastcall DeleteSelection(void);
	void __fastcall CutDef(void);
	void __fastcall ApplyParaStyle(int ParaStyleNo);
	void __fastcall ApplyTextStyle(int TextStyleNo);
	void __fastcall ApplyStyleConversion(int UserData);
	void __fastcall ApplyParaStyleConversion(int UserData);
	void __fastcall ApplyParaStyleTemplate(int TemplateNo);
	void __fastcall ApplyTextStyleTemplate(int TemplateNo, bool ToWholeParagraphs);
	void __fastcall ApplyStyleTemplate(int TemplateNo);
	bool __fastcall CanPasteRTF(void);
	DYNAMIC bool __fastcall CanPaste(void);
	bool __fastcall CanPasteRVF(void);
	DYNAMIC void __fastcall Paste(void);
	bool __fastcall PasteBitmap(bool TextAsName);
	bool __fastcall PasteMetafile(bool TextAsName);
	bool __fastcall PasteGraphicFiles(bool FileNamesAsNames, bool StoreFileNames);
	void __fastcall PasteText(void);
	void __fastcall PasteTextA(void);
	void __fastcall PasteRVF(void);
	bool __fastcall PasteRTF(void);
	void __fastcall PasteTextW(void);
	int __fastcall GetCurrentTag(void);
	Rvstyle::TRVVAlign __fastcall GetCurrentItemVAlign(void);
	AnsiString __fastcall GetCurrentItemTextR();
	AnsiString __fastcall GetCurrentItemText();
	Rvitem::TCustomRVItemInfo* __fastcall GetCurrentItem(void);
	bool __fastcall GetCurrentItemEx(TMetaClass* RequiredClass, TCustomRichViewEdit* &ItemRichViewEdit, Rvitem::TCustomRVItemInfo* &Item);
	AnsiString __fastcall GetCurrentItemTextA();
	WideString __fastcall GetCurrentItemTextW();
	void __fastcall GetCurrentBreakInfo(Byte &AWidth, Rvstyle::TRVBreakStyle &AStyle, Graphics::TColor &AColor, int &ATag);
	void __fastcall GetCurrentBulletInfo(AnsiString &AName, int &AImageIndex, Imglist::TCustomImageList* &AImageList, int &ATag);
	void __fastcall GetCurrentHotspotInfo(AnsiString &AName, int &AImageIndex, int &AHotImageIndex, Imglist::TCustomImageList* &AImageList, int &ATag);
	void __fastcall GetCurrentPictureInfo(AnsiString &AName, Graphics::TGraphic* &Agr, Rvstyle::TRVVAlign &AVAlign, int &ATag);
	void __fastcall GetCurrentControlInfo(AnsiString &AName, Controls::TControl* &Actrl, Rvstyle::TRVVAlign &AVAlign, int &ATag);
	void __fastcall GetCurrentTextInfo(AnsiString &AText, int &ATag);
	void __fastcall SetItemTextEdR(int ItemNo, const AnsiString s);
	void __fastcall SetItemTextEd(int ItemNo, const AnsiString s);
	void __fastcall SetItemTagEd(int ItemNo, int ATag);
	void __fastcall SetItemVAlignEd(int ItemNo, Rvstyle::TRVVAlign VAlign);
	void __fastcall ResizeControl(int ItemNo, int NewWidth, int NewHeight);
	void __fastcall SetItemTextEdA(int ItemNo, const AnsiString s);
	void __fastcall SetItemTextEdW(int ItemNo, const WideString s);
	void __fastcall SetCurrentItemTextR(const AnsiString s);
	void __fastcall SetCurrentItemText(const AnsiString s);
	void __fastcall SetCurrentTag(int ATag);
	void __fastcall SetCurrentItemVAlign(Rvstyle::TRVVAlign VAlign);
	void __fastcall SetCurrentItemTextA(const AnsiString s);
	void __fastcall SetCurrentItemTextW(const WideString s);
	void __fastcall SetBreakInfoEd(int ItemNo, Byte AWidth, Rvstyle::TRVBreakStyle AStyle, Graphics::TColor AColor, int ATag);
	void __fastcall SetBulletInfoEd(int ItemNo, const AnsiString AName, int AImageIndex, Imglist::TCustomImageList* AImageList, int ATag);
	void __fastcall SetHotspotInfoEd(int ItemNo, const AnsiString AName, int AImageIndex, int AHotImageIndex, Imglist::TCustomImageList* AImageList, int ATag);
	void __fastcall SetPictureInfoEd(int ItemNo, const AnsiString AName, Graphics::TGraphic* Agr, Rvstyle::TRVVAlign AVAlign, int ATag);
	void __fastcall SetControlInfoEd(int ItemNo, const AnsiString AName, Rvstyle::TRVVAlign AVAlign, int ATag);
	void __fastcall SetCurrentBreakInfo(Byte AWidth, Rvstyle::TRVBreakStyle AStyle, Graphics::TColor AColor, int ATag);
	void __fastcall SetCurrentBulletInfo(const AnsiString AName, int AImageIndex, Imglist::TCustomImageList* AImageList, int ATag);
	void __fastcall SetCurrentHotspotInfo(const AnsiString AName, int AImageIndex, int AHotImageIndex, Imglist::TCustomImageList* AImageList, int ATag);
	void __fastcall SetCurrentPictureInfo(const AnsiString AName, Graphics::TGraphic* Agr, Rvstyle::TRVVAlign AVAlign, int ATag);
	void __fastcall SetCurrentControlInfo(const AnsiString AName, Rvstyle::TRVVAlign AVAlign, int ATag);
	void __fastcall ResizeCurrentControl(int NewWidth, int NewHeight);
	void __fastcall SplitAtCaret(void);
	void __fastcall AdjustControlPlacement(int ItemNo);
	void __fastcall AdjustControlPlacement2(Controls::TControl* Control);
	void __fastcall BeginItemModify(int ItemNo, int &ModifyData);
	void __fastcall EndItemModify(int ItemNo, int ModifyData);
	void __fastcall BeginCurrentItemModify(int &ModifyData);
	void __fastcall EndCurrentItemModify(int ModifyData);
	bool __fastcall GetCurrentItemExtraIntProperty(Rvitem::TRVExtraItemProperty Prop, int &Value);
	void __fastcall SetItemExtraIntPropertyEd(int ItemNo, Rvitem::TRVExtraItemProperty Prop, int Value, bool AutoReformat);
	void __fastcall SetCurrentItemExtraIntProperty(Rvitem::TRVExtraItemProperty Prop, int Value, bool AutoReformat);
	bool __fastcall GetCurrentItemExtraStrProperty(Rvitem::TRVExtraItemStrProperty Prop, AnsiString &Value);
	void __fastcall SetItemExtraStrPropertyEd(int ItemNo, Rvitem::TRVExtraItemStrProperty Prop, const AnsiString Value, bool AutoReformat);
	void __fastcall SetCurrentItemExtraStrProperty(Rvitem::TRVExtraItemStrProperty Prop, const AnsiString Value, bool AutoReformat);
	Rvstyle::TCheckpointData __fastcall GetCurrentCheckpoint(void);
	Rvstyle::TCheckpointData __fastcall GetCheckpointAtCaret(void);
	void __fastcall SetCheckpointInfoEd(int ItemNo, int ATag, const AnsiString AName, bool ARaiseEvent);
	void __fastcall RemoveCheckpointEd(int ItemNo);
	void __fastcall SetCurrentCheckpointInfo(int ATag, const AnsiString AName, bool ARaiseEvent);
	void __fastcall InsertCheckpoint(int ATag, const AnsiString AName, bool ARaiseEvent);
	void __fastcall RemoveCurrentCheckpoint(void);
	void __fastcall RemoveCheckpointAtCaret(void);
	HIDESBASE bool __fastcall SearchTextA(const AnsiString s, TRVESearchOptions SrchOptions);
	HIDESBASE bool __fastcall SearchTextW(WideString s, TRVESearchOptions SrchOptions);
	HIDESBASE bool __fastcall SearchText(AnsiString s, TRVESearchOptions SrchOptions);
	void __fastcall SelectCurrentWord(void);
	void __fastcall SelectCurrentLine(void);
	bool __fastcall CanChange(void);
	void __fastcall Change(void);
	void __fastcall BeginUpdate(void);
	void __fastcall EndUpdate(void);
	DYNAMIC void __fastcall Undo(void);
	DYNAMIC void __fastcall Redo(void);
	TRVUndoType __fastcall UndoAction(void);
	TRVUndoType __fastcall RedoAction(void);
	AnsiString __fastcall UndoName();
	AnsiString __fastcall RedoName();
	void __fastcall ClearUndo(void);
	void __fastcall SetUndoGroupMode(bool GroupUndo);
	void __fastcall BeginUndoGroup(TRVUndoType UndoType);
	void __fastcall BeginUndoCustomGroup(const AnsiString Name);
	void __fastcall ApplyListStyle(int AListNo, int AListLevel, int AStartFrom, bool AUseStartFrom, bool ARecursive);
	void __fastcall RemoveLists(bool ARecursive);
	void __fastcall ChangeListLevels(int LevelDelta);
	bool __fastcall GetCurrentMisspelling(bool SelectIt, AnsiString &Word, int &StyleNo);
	DYNAMIC bool __fastcall ExecuteAction(Classes::TBasicAction* Action);
	DYNAMIC bool __fastcall UpdateAction(Classes::TBasicAction* Action);
	void __fastcall GetCurrentLineCol(int &Line, int &Column);
	__property bool Modified = {read=FModified, write=FModified, nodefault};
	__property int CurItemNo = {read=GetCurItemNo, nodefault};
	__property int CurItemStyle = {read=GetCurItemStyle, nodefault};
	__property int CurParaStyleNo = {read=GetCurParaStyleNo, write=SetCurParaStyleNo, nodefault};
	__property int CurTextStyleNo = {read=GetCurTextStyleNo, write=SetCurTextStyleNo, nodefault};
	__property int ActualCurTextStyleNo = {read=GetActualCurTextStyleNo, write=SetCurTextStyleNo, nodefault};
	__property int OffsetInCurItem = {read=GetOffsetInCurItem, nodefault};
	__property TRVEditorOptions EditorOptions = {read=FEditorOptions, write=FEditorOptions, default=18};
	__property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, nodefault};
	__property int UndoLimit = {read=GetUndoLimit, write=SetUndoLimit, default=-1};
	__property TCustomRichViewEdit* TopLevelEditor = {read=GetTopLevelEditor};
	__property TCustomRichViewEdit* RootEditor = {read=GetRootEditor};
	__property TRVOnCaretGetOutEvent OnCaretGetOut = {read=FOnCaretGetOut, write=FOnCaretGetOut};
	__property TRVDropFilesEvent OnDropFiles = {read=FOnDropFiles, write=FOnDropFiles};
	__property TRVStyleConversionEvent OnParaStyleConversion = {read=FOnParaStyleConversion, write=FOnParaStyleConversion};
	__property TRVStyleConversionEvent OnStyleConversion = {read=FOnStyleConversion, write=FOnStyleConversion};
	__property Classes::TNotifyEvent OnCurParaStyleChanged = {read=FOnCurParaStyleChanged, write=FOnCurParaStyleChanged};
	__property Classes::TNotifyEvent OnCurTextStyleChanged = {read=FOnCurTextStyleChanged, write=FOnCurTextStyleChanged};
	__property TRVItemTextEditEvent OnItemTextEdit = {read=FOnItemTextEdit, write=FOnItemTextEdit};
	__property OnMouseMove ;
	__property OnDragOver ;
	__property OnDragDrop ;
	__property TRVOleDragEnterEvent OnOleDragEnter = {read=FOnOleDragEnter, write=FOnOleDragEnter};
	__property TRVOleDragOverEvent OnOleDragOver = {read=FOnOleDragOver, write=FOnOleDragOver};
	__property TRVOleDropEvent OnOleDrop = {read=FOnOleDrop, write=FOnOleDrop};
	__property Classes::TNotifyEvent OnOleDragLeave = {read=FOnOleDragLeave, write=FOnOleDragLeave};
	__property int CustomCaretInterval = {read=FCustomCaretInterval, write=SetCustomCaretInterval, default=0};
	__property TRVDrawCustomCaretEvent OnDrawCustomCaret = {read=FOnDrawCustomCaret, write=FOnDrawCustomCaret};
	__property TRVMeasureCustomCaretEvent OnMeasureCustomCaret = {read=FOnMeasureCustomCaret, write=FOnMeasureCustomCaret};
	__property TRVItemResizeEvent OnItemResize = {read=FOnItemResize, write=FOnItemResize};
	__property TRVGetSRichViewEditEvent OnGetSRichViewEdit = {read=FOnGetSRichViewEdit, write=FOnGetSRichViewEdit};
public:
	#pragma option push -w-inl
	/* TCustomRichView.Destroy */ inline __fastcall virtual ~TCustomRichViewEdit(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TCustomRichViewEdit(HWND ParentWindow) : Richview::TCustomRichView(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TRichViewEdit;
class PASCALIMPLEMENTATION TRichViewEdit : public TCustomRichViewEdit 
{
	typedef TCustomRichViewEdit inherited;
	
__published:
	__property AcceptDragDropFormats  = {default=191};
	__property CustomCaretInterval  = {default=0};
	__property EditorOptions  = {default=18};
	__property ReadOnly ;
	__property UndoLimit  = {default=-1};
	__property OnCaretGetOut ;
	__property OnChange ;
	__property OnChanging ;
	__property OnCaretMove ;
	__property OnCurParaStyleChanged ;
	__property OnCurTextStyleChanged ;
	__property OnDrawCustomCaret ;
	__property OnMeasureCustomCaret ;
	__property OnDropFiles ;
	__property OnItemResize ;
	__property OnItemTextEdit ;
	__property OnOleDragEnter ;
	__property OnOleDragLeave ;
	__property OnOleDragOver ;
	__property OnOleDrop ;
	__property OnParaStyleConversion ;
	__property OnPaste ;
	__property OnStyleConversion ;
	__property TabNavigation  = {default=0};
	__property Align  = {default=0};
	__property Anchors  = {default=3};
	__property Constraints ;
	__property Color  = {default=536870911};
	__property Ctl3D ;
	__property DragKind  = {default=0};
	__property DragMode  = {default=0};
	__property Enabled  = {default=1};
	__property HelpContext  = {default=0};
	__property ParentCtl3D  = {default=1};
	__property ParentShowHint  = {default=1};
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder  = {default=-1};
	__property TabStop  = {default=1};
	__property Visible  = {default=1};
	__property OnClick ;
	__property OnContextPopup ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnMouseMove ;
	__property OnMouseWheel ;
	__property OnMouseWheelDown ;
	__property OnMouseWheelUp ;
	__property OnResize ;
	__property OnStartDrag ;
	__property AnimationMode  = {default=1};
	__property BackgroundBitmap ;
	__property BackgroundStyle  = {default=0};
	__property BiDiMode  = {default=0};
	__property BorderStyle  = {default=1};
	__property BottomMargin  = {default=5};
	__property Cursor  = {default=-4};
	__property Delimiters ;
	__property DocParameters ;
	__property DoInPaletteMode ;
	__property FirstJumpNo  = {default=0};
	__property HScrollVisible  = {default=1};
	__property LeftMargin  = {default=5};
	__property LiveSpellingMode  = {default=1};
	__property MaxLength  = {default=0};
	__property MaxTextWidth  = {default=0};
	__property MinTextWidth  = {default=0};
	__property Options  = {default=326949};
	__property RightMargin  = {default=5};
	__property RTFOptions  = {default=14};
	__property RTFReadProperties ;
	__property RVFOptions  = {default=98435};
	__property RVFParaStylesReadMode  = {default=2};
	__property RVFTextStylesReadMode  = {default=2};
	__property SmartPopupProperties ;
	__property Style ;
	__property TopMargin  = {default=5};
	__property Tracking  = {default=1};
	__property UseXPThemes  = {default=1};
	__property VAlign  = {default=0};
	__property VScrollVisible  = {default=1};
	__property WheelStep  = {default=2};
	__property WordWrap  = {default=1};
	__property OnAddStyle ;
	__property OnControlAction ;
	__property OnCopy ;
	__property OnGetItemCursor ;
	__property OnImportPicture ;
	__property OnItemAction ;
	__property OnItemHint ;
	__property OnJump ;
	__property OnHScrolled ;
	__property OnHTMLSaveImage ;
	__property OnPaint ;
	__property OnProgress ;
	__property OnReadHyperlink ;
	__property OnRVDblClick ;
	__property OnRVFImageListNeeded ;
	__property OnRVFControlNeeded ;
	__property OnRVFPictureNeeded ;
	__property OnRVMouseDown ;
	__property OnRVMouseMove ;
	__property OnRVMouseUp ;
	__property OnRVRightClick ;
	__property OnSaveComponentToFile ;
	__property OnSaveHTMLExtra ;
	__property OnSaveImage2 ;
	__property OnSaveItemToFile ;
	__property OnSaveRTFExtra ;
	__property OnSelect ;
	__property OnSmartPopupClick ;
	__property OnSpellingCheck ;
	__property OnVScrolled ;
	__property OnWriteHyperlink ;
	__property AllowSelection ;
	__property SingleClick ;
	__property OnURLNeeded ;
public:
	#pragma option push -w-inl
	/* TCustomRichViewEdit.Create */ inline __fastcall virtual TRichViewEdit(Classes::TComponent* AOwner) : TCustomRichViewEdit(AOwner) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TCustomRichView.Destroy */ inline __fastcall virtual ~TRichViewEdit(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TRichViewEdit(HWND ParentWindow) : TCustomRichViewEdit(ParentWindow) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TRichViewUnicodeInput { rvuiStandard, rvuiAlternative };
#pragma option pop

//-- var, const, procedure ---------------------------------------------------
static const Word WM_RVUNDOFROMINPLACE = 0x40d;
static const Word WM_RVREDOFROMINPLACE = 0x40e;
extern PACKAGE TRichViewUnicodeInput RichViewUnicodeInput;

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

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