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

// (DO NOT EDIT: machine generated header) 'RVEdit.pas' rev: 5.00

#ifndef RVEditHPP
#define RVEditHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <StdCtrls.hpp>	// Pascal unit
#include <RVPopup.hpp>	// Pascal unit
#include <RVRTFProps.hpp>	// Pascal unit
#include <RVDocParams.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <RVTypes.hpp>	// Pascal unit
#include <RVRTFErr.hpp>	// Pascal unit
#include <RVClasses.hpp>	// Pascal unit
#include <RVRVData.hpp>	// Pascal unit
#include <CRVFData.hpp>	// Pascal unit
#include <CRVData.hpp>	// Pascal unit
#include <RVUni.hpp>	// Pascal unit
#include <RVFuncs.hpp>	// Pascal unit
#include <Clipbrd.hpp>	// Pascal unit
#include <DLines.hpp>	// Pascal unit
#include <RichView.hpp>	// Pascal unit
#include <RVItem.hpp>	// Pascal unit
#include <RVStyle.hpp>	// Pascal unit
#include <RVScroll.hpp>	// Pascal unit
#include <RVDragDrop.hpp>	// Pascal unit
#include <ShlObj.hpp>	// Pascal unit
#include <ActiveX.hpp>	// Pascal unit
#include <ImgList.hpp>	// Pascal unit
#include <RVMarker.hpp>	// Pascal unit
#include <Imm.hpp>	// Pascal unit
#include <ShellAPI.hpp>	// Pascal unit
#include <RichEdit.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 Rvedit
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TRVESearchOption { rvseoMatchCase, rvseoDown, rvseoWholeWord };
#pragma option pop

typedef Set<TRVESearchOption, rvseoMatchCase, rvseoWholeWord>  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 Windows::TRect &Rect);

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

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;
	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 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);
	MESSAGE void __fastcall WMImeStartComposition(Messages::TMessage &Message);
	MESSAGE void __fastcall WMImeComposition(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 Windows::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 Windows::TPoint &pt, int PossibleEffects
		, int &Effect);
	DYNAMIC int __fastcall OleDrop(const _di_IDataObject DataObj, bool FMove, int KeyState, const Windows::TPoint 
		&pt, int PossibleEffects);
	DYNAMIC void __fastcall ReleaseOleDropTargetObject(void);
	Word __fastcall GetAcceptableRVFormat(void);
	DYNAMIC bool __fastcall OleCanAcceptFormat(Word Format);
	DYNAMIC void __fastcall AdjustPopupMenuPos(Windows::TPoint &pt);
	AnsiString __fastcall GetBasePathFromHTMLInClipboard(void);
	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);
	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);
	void __fastcall InsertText(const AnsiString text, bool CaretBefore);
	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 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);
	AnsiString __fastcall GetCurrentItemTextR(void);
	AnsiString __fastcall GetCurrentItemText(void);
	Rvitem::TCustomRVItemInfo* __fastcall GetCurrentItem(void);
	bool __fastcall GetCurrentItemEx(TMetaClass* RequiredClass, TCustomRichViewEdit* &ItemRichViewEdit, 
		Rvitem::TCustomRVItemInfo* &Item);
	AnsiString __fastcall GetCurrentItemTextA(void);
	WideString __fastcall GetCurrentItemTextW(void);
	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 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 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(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(void);
	AnsiString __fastcall RedoName(void);
	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};
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 ;
	__property CustomCaretInterval ;
	__property EditorOptions ;
	__property ReadOnly ;
	__property UndoLimit ;
	__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 ;
	__property Align ;
	__property Anchors ;
	__property Constraints ;
	__property Color ;
	__property Ctl3D ;
	__property DragKind ;
	__property DragMode ;
	__property Enabled ;
	__property HelpContext ;
	__property ParentCtl3D ;
	__property ParentShowHint ;
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder ;
	__property TabStop ;
	__property Visible ;
	__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 ;
	__property BackgroundBitmap ;
	__property BackgroundStyle ;
	__property BiDiMode ;
	__property BorderStyle ;
	__property BottomMargin ;
	__property Cursor ;
	__property Delimiters ;
	__property DocParameters ;
	__property DoInPaletteMode ;
	__property FirstJumpNo ;
	__property HScrollVisible ;
	__property LeftMargin ;
	__property LiveSpellingMode ;
	__property MaxLength ;
	__property MaxTextWidth ;
	__property MinTextWidth ;
	__property Options ;
	__property RightMargin ;
	__property RTFOptions ;
	__property RTFReadProperties ;
	__property RVFOptions ;
	__property RVFParaStylesReadMode ;
	__property RVFTextStylesReadMode ;
	__property SmartPopupProperties ;
	__property Style ;
	__property TopMargin ;
	__property Tracking ;
	__property UseXPThemes ;
	__property VAlign ;
	__property VScrollVisible ;
	__property WheelStep ;
	__property WordWrap ;
	__property OnAddStyle ;
	__property OnControlAction ;
	__property OnCopy ;
	__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 */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Rvedit;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

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