⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rm_jvhleditor.hpp

📁 这是一个功能强大
💻 HPP
字号:
// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Rm_jvhleditor.pas' rev: 11.00

#ifndef Rm_jvhleditorHPP
#define Rm_jvhleditorHPP

#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 <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Rm_jveditor.hpp>	// Pascal unit
#include <Rm_jveditorcommon.hpp>	// Pascal unit
#include <Rm_jvhlparser.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Rm_jvexcontrols.hpp>	// Pascal unit

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

namespace Rm_jvhleditor
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TOnReservedWord)(System::TObject* Sender, AnsiString Token, bool &Reserved);

class DELPHICLASS TJvEditorHighlighter;
class DELPHICLASS TJvHLEditor;
class PASCALIMPLEMENTATION TJvEditorHighlighter : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
protected:
	virtual void __fastcall GetAttr(TJvHLEditor* Editor, Classes::TStrings* Lines, int Line, int ColBeg, int ColEnd, Rm_jveditorcommon::TLongTokenType LongToken, Rm_jveditorcommon::TLineAttrs &LineAttrs) = 0 ;
	virtual void __fastcall ScanLongTokens(TJvHLEditor* Editor, Classes::TStrings* Lines, int Line, Rm_jveditorcommon::TLongTokenType &FLong) = 0 ;
	virtual bool __fastcall GetRescanLongKeys(TJvHLEditor* Editor, Rm_jveditorcommon::TModifiedAction Action, int ACaretX, int ACaretY, const AnsiString Text) = 0 ;
public:
	#pragma option push -w-inl
	/* TComponent.Create */ inline __fastcall virtual TJvEditorHighlighter(Classes::TComponent* AOwner) : Classes::TComponent(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TComponent.Destroy */ inline __fastcall virtual ~TJvEditorHighlighter(void) { }
	#pragma option pop
	
};


typedef DynamicArray<Rm_jveditorcommon::TLongTokenType >  rm_JvHLEditor__3;

class PASCALIMPLEMENTATION TJvHLEditor : public Rm_jveditor::TJvEditor 
{
	typedef Rm_jveditor::TJvEditor inherited;
	
private:
	Rm_jvhlparser::TJvIParser* Parser;
	Rm_jveditorcommon::TJvHighlighter FHighlighter;
	Rm_jveditorcommon::TJvColors* FColors;
	AnsiString FLine;
	int FLineNum;
	Rm_jveditorcommon::TLongTokenType FLong;
	bool FLongTokens;
	DynamicArray<Rm_jveditorcommon::TLongTokenType >  FLongDesc;
	bool FSyntaxHighlighting;
	TJvEditorHighlighter* FSyntaxHighlighter;
	TOnReservedWord FOnReservedWord;
	int ProductionsLine;
	bool __fastcall RescanLong(int iLine);
	void __fastcall CheckInLong(void);
	int __fastcall FindLongEnd(void);
	void __fastcall SetHighlighter(const Rm_jveditorcommon::TJvHighlighter Value);
	bool __fastcall GetDelphiColors(void);
	void __fastcall SetDelphiColors(bool Value);
	Rm_jveditorcommon::TJvColors* __fastcall GetColors(void);
	void __fastcall SetColors(const Rm_jveditorcommon::TJvColors* Value);
	bool __fastcall GetSyntaxHighlighting(void);
	void __fastcall SetSyntaxHighlighting(bool Value);
	Rm_jveditorcommon::TJvHighlighter __fastcall GetHighlighter(void);
	
protected:
	virtual void __fastcall Loaded(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	virtual void __fastcall GetAttr(int Line, int ColBeg, int ColEnd);
	DYNAMIC void __fastcall TextModified(int ACaretX, int ACaretY, Rm_jveditorcommon::TModifiedAction Action, const AnsiString Text);
	virtual bool __fastcall GetReservedWord(const AnsiString Token, bool &Reserved);
	virtual bool __fastcall UserReservedWords(void);
	void __fastcall SetSyntaxHighlighter(const TJvEditorHighlighter* Value);
	
public:
	__fastcall virtual TJvHLEditor(Classes::TComponent* AOwner);
	__fastcall virtual ~TJvHLEditor(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	
__published:
	__property Rm_jveditorcommon::TJvHighlighter Highlighter = {read=GetHighlighter, write=SetHighlighter, default=1};
	__property Rm_jveditorcommon::TJvColors* Colors = {read=GetColors, write=SetColors};
	__property bool DelphiColors = {read=GetDelphiColors, write=SetDelphiColors, stored=false, nodefault};
	__property bool LongTokens = {read=FLongTokens, write=FLongTokens, default=1};
	__property TOnReservedWord OnReservedWord = {read=FOnReservedWord, write=FOnReservedWord};
	__property bool SyntaxHighlighting = {read=GetSyntaxHighlighting, write=SetSyntaxHighlighting, stored=false, nodefault};
	__property TJvEditorHighlighter* SyntaxHighlighter = {read=FSyntaxHighlighter, write=SetSyntaxHighlighter};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TJvHLEditor(HWND ParentWindow) : Rm_jveditor::TJvEditor(ParentWindow) { }
	#pragma option pop
	
private:
	void *__IJvHLEditor;	/* Rm_jveditorcommon::IJvHLEditor */
	
public:
	operator IJvHLEditor*(void) { return (IJvHLEditor*)&__IJvHLEditor; }
	
};


//-- var, const, procedure ---------------------------------------------------

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

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -