📄 richviewactions.pas
字号:
TrvActionFontAllCaps = class(TrvActionFontStyleEx)
public
constructor Create(AOwner: TComponent); override;
end;
TrvActionFontOverline = class(TrvActionFontStyleEx)
public
constructor Create(AOwner: TComponent); override;
end;
TrvActionSSScript = class (TrvActionTextStyles)
protected
FSubSuperSctiptType: TRVSubSuperScriptType;
procedure ApplyConversion(Editor: TCustomRichViewEdit; FontInfo: TFontInfo;
StyleNo, Command: Integer); override;
procedure IterateProc(RVData: TCustomRVData; ItemNo: Integer;
rve: TCustomRichViewEdit; var CustomData: Integer); override;
function ContinueIteration(var CustomData: Integer): Boolean; override;
public
procedure UpdateTarget(Target: TObject); override;
end;
TrvActionSubscript = class (TrvActionSSScript)
public
constructor Create(AOwner: TComponent); override;
end;
TrvActionSuperscript = class (TrvActionSSScript)
public
constructor Create(AOwner: TComponent); override;
end;
TrvActionTextBiDi = class (TrvActionTextStyles)
private
FBiDiMode: TRVBiDiMode;
protected
procedure ApplyConversion(Editor: TCustomRichViewEdit; FontInfo: TFontInfo;
StyleNo, Command: Integer); override;
procedure IterateProc(RVData: TCustomRVData; ItemNo: Integer;
rve: TCustomRichViewEdit; var CustomData: Integer); override;
function ContinueIteration(var CustomData: Integer): Boolean; override;
public
procedure UpdateTarget(Target: TObject); override;
end;
TrvActionTextLTR = class (TrvActionTextBiDi)
public
constructor Create(AOwner: TComponent); override;
end;
TrvActionTextRTL = class (TrvActionTextBiDi)
public
constructor Create(AOwner: TComponent); override;
end;
TrvActionFontShrinkGrow = class (TrvActionTextStyles)
private
FPercent: Integer;
public
constructor Create(AOwner: TComponent); override;
published
property Percent: Integer read FPercent write FPercent default 10;
end;
TrvActionFontShrink = class (TrvActionFontShrinkGrow)
private
FMinSize: Integer;
protected
procedure ApplyConversion(Editor: TCustomRichViewEdit; FontInfo: TFontInfo;
StyleNo, Command: Integer); override;
public
constructor Create(AOwner: TComponent); override;
published
property MinSize: Integer read FMinSize write FMinSize default 1;
end;
TrvActionFontGrow = class (TrvActionFontShrinkGrow)
private
FMaxSize: Integer;
protected
procedure ApplyConversion(Editor: TCustomRichViewEdit; FontInfo: TFontInfo;
StyleNo, Command: Integer); override;
public
constructor Create(AOwner: TComponent); override;
published
property MaxSize: Integer read FMaxSize write FMaxSize default 100;
end;
TrvActionFontShrinkOnePoint = class (TrvActionTextStyles)
private
FMinSize: Integer;
protected
procedure ApplyConversion(Editor: TCustomRichViewEdit; FontInfo: TFontInfo;
StyleNo, Command: Integer); override;
public
constructor Create(AOwner: TComponent); override;
published
property MinSize: Integer read FMinSize write FMinSize default 1;
end;
TrvActionFontGrowOnePoint = class (TrvActionTextStyles)
private
FMaxSize: Integer;
protected
procedure ApplyConversion(Editor: TCustomRichViewEdit; FontInfo: TFontInfo;
StyleNo, Command: Integer); override;
public
constructor Create(AOwner: TComponent); override;
published
property MaxSize: Integer read FMaxSize write FMaxSize default 100;
end;
{ --------------------- Insert ------------------------ }
TrvActionInsertFile = class(TrvActionCustomFileIO)
private
FFilter: TrvFileImportFilterSet;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
property FileName;
published
property Filter: TrvFileImportFilterSet read FFilter write FFilter default [ffiRVF..ffiOfficeConverters];
property AutoUpdateFileName;
property CustomFilter;
end;
TRVAInsertTextEvent = procedure (Sender: TObject; Editor: TCustomRichViewEdit;
var Text: String) of object;
TrvActionInsertText = class(TrvAction)
private
FOnInsertText: TRVAInsertTextEvent;
public
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
published
property OnInsertText: TRVAInsertTextEvent read FOnInsertText write FOnInsertText;
end;
TrvActionInsertPicture = class(TrvActionCustomIO)
private
FDefaultExt: String;
FFilter: String;
FVAlign: TRVVAlign;
FStoreFileName, FStoreFileNameInItemName: Boolean;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
property FileName;
published
property Filter: String read FFilter write FFilter;
property VAlign: TRVVAlign read FVAlign write FVAlign;
property DefaultExt: String read FDefaultExt write FDefaultExt;
property StoreFileName: Boolean
read FStoreFileName write FStoreFileName default False;
property StoreFileNameInItemName: Boolean
read FStoreFileNameInItemName write FStoreFileNameInItemName default False;
end;
TrvActionInsertHLine = class(TrvAction)
private
FWidth: Integer;
FColor: TColor;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
published
property Color: TColor read FColor write FColor default clWindowText;
property Width: Integer read FWidth write FWidth default 1;
end;
TRVInsertSymbolType = (rvisBoth, rvisUnicode, rvisSingleByte);
TrvActionInsertSymbol = class(TrvAction)
private
FFontName: String;
FCharset: TFontCharset;
FCharCode: Word;
FInitialized: Boolean;
FSymbolType: TRVInsertSymbolType;
FAlwaysInsertUnicode: Boolean;
FDisplayUnicodeBlocks: Boolean;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
published
property SymbolType: TRVInsertSymbolType read FSymbolType write FSymbolType default rvisBoth;
property AlwaysInsertUnicode: Boolean read FAlwaysInsertUnicode write FAlwaysInsertUnicode default False;
property DisplayUnicodeBlocks: Boolean read FDisplayUnicodeBlocks write FDisplayUnicodeBlocks default True;
end;
TRVHyperlinkProperty = (rvhlBold, rvhlItalic, rvhlUnderline, rvhlStrikeout,
rvhlColor, rvhlBackColor, rvhlHoverColor, rvhlHoverBackColor,
rvhlCursor, rvhlJump);
TRVHyperlinkProperties = set of TRVHyperlinkProperty;
TRVHyperlinkFormEvent = procedure (Sender: TObject; InsertNew: Boolean;
var Text, Target: String; var Proceed: Boolean) of object;
TRVApplyHyperlinkToItemEvent = procedure (Sender: TObject;
Editor: TCustomRichViewEdit; RVData: TCustomRVData; ItemNo: Integer;
const Target: String) of object;
TRVGetHyperlinkTargetFromItem = procedure (Sender: TObject;
Editor: TCustomRichViewEdit; RVData: TCustomRVData; ItemNo: Integer;
var Target: String) of object;
TrvActionInsertHyperlink = class(TrvActionTextStyles)
private
FColor: TColor;
FHoverColor: TColor;
FBackColor: TColor;
FHoverBackColor: TColor;
FCursor: TCursor;
FStyle: TFontStyles;
FValidProperties: TRVHyperlinkProperties;
FSetToPictures: Boolean;
FDefaultFontInfo: TFontInfo;
FSpaceFiller: String;
FOnHyperlinkForm: TRVHyperlinkFormEvent;
FOnApplyHyperlinkToItem: TRVApplyHyperlinkToItemEvent;
FOnGetHyperlinkTargetFromItem: TRVGetHyperlinkTargetFromItem;
function HasItems(rve: TCustomRichViewEdit; var Target: String): Boolean;
function DoShowForm(InsertNew: Boolean; var Text, Target: String): Boolean;
public
constructor Create(AOwner: TComponent); override;
procedure ApplyConversion(Editor: TCustomRichViewEdit; FontInfo: TFontInfo;
StyleNo, Command: Integer); override;
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
procedure GoToLink(rve: TCustomRichViewEdit; id: Integer);
function EncodeTarget(const Target: String): String;
procedure SetTags(rve: TCustomRichViewEdit; const Target: String);
function GetHyperlinkStyleNo(rve: TCustomRichViewEdit; StyleNo: Integer=-1): Integer;
function GetNormalStyleNo(rve: TCustomRichViewEdit; StyleNo: Integer=-1): Integer;
procedure TerminateHyperlink(rve: TCustomRichViewEdit);
procedure DetectURL(rve: TCustomRichViewEdit);
published
property Color: TColor read FColor write FColor default clBlue;
property HoverColor: TColor read FHoverColor write FHoverColor default clBlue;
property BackColor: TColor read FBackColor write FBackColor default clNone;
property HoverBackColor: TColor read FHoverBackColor write FHoverBackColor default clNone;
property Style: TFontStyles read FStyle write FStyle default [fsUnderline];
property Cursor: TCursor read FCursor write FCursor default crJump;
property ValidProperties: TRVHyperlinkProperties read FValidProperties write FValidProperties default
[rvhlUnderline, rvhlColor, rvhlBackColor, rvhlHoverColor, rvhlHoverBackColor, rvhlCursor, rvhlJump];
property SetToPictures: Boolean read FSetToPictures write FSetToPictures default True;
property SpaceFiller: String read FSpaceFiller write FSpaceFiller;
property OnHyperlinkForm: TRVHyperlinkFormEvent read FOnHyperlinkForm write FOnHyperlinkForm;
property OnApplyHyperlinkToItem: TRVApplyHyperlinkToItemEvent read FOnApplyHyperlinkToItem write FOnApplyHyperlinkToItem;
property OnGetHyperlinkTargetFromItem: TRVGetHyperlinkTargetFromItem read FOnGetHyperlinkTargetFromItem write FOnGetHyperlinkTargetFromItem;
end;
{ ------------------ Paragraph Styles ------------------------- }
TrvActionParaStyles = class(TrvAction)
private
procedure NewOnParaStyleConversion(Sender: TCustomRichViewEdit; StyleNo, UserData: Integer; AppliedToText: Boolean;
var NewStyleNo: Integer);
protected
procedure ExecuteCommand(rve: TCustomRichViewEdit; Command: Integer);
procedure ApplyConversion(Editor: TCustomRichViewEdit; ParaInfo: TParaInfo;
StyleNo, Command: Integer); virtual; abstract;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
end;
TRVParaInfoMainProperty = (rvpimFirstIndent, rvpimLeftIndent, rvpimRightIndent,
rvpimSpaceBefore, rvpimSpaceAfter, rvpimAlignment,
rvpimLineSpacing,
rvpimKeepLinesTogether, rvpimKeepWithNext,
rvpimTabs);
TRVParaInfoMainProperties = set of TRVParaInfoMainProperty;
TrvActionParagraph = class(TrvActionParaStyles)
private
FAlignment: TRVAlignment;
FLineSpacing: Integer;
FValidProperties: TRVParaInfoMainProperties;
FSpaceBefore: Integer;
FLeftIndent: Integer;
FFirstIndent: Integer;
FRightIndent: Integer;
FSpaceAfter: Integer;
FUserInterface: Boolean;
FKeepWithNext: Boolean;
FKeepLinesTogether: Boolean;
FDeleteAllTabs: Boolean;
FTabsToDelete: TRVIntegerList;
FTabs: TRVTabInfos;
procedure SetTabs(const Value: TRVTabInfos);
procedure SetTabsToDelete(const Value: TRVIntegerList);
protected
procedure ApplyConversion(Editor: TCustomRichViewEdit; ParaInfo: TParaInfo;
StyleNo, Command: Integer); override;
procedure IterateProc(RVData: TCustomRVData; ItemNo: Integer; rve: TCustomRichViewEdit; var CustomData: Integer); override;
function ContinueIteration(var CustomData: Integer): Boolean; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ExecuteTarget(Target: TObject); override;
procedure GetFromEditor(rve: TCustomRichViewEdit);
property ValidProperties: TRVParaInfoMainProperties read FValidProperties write FValidProperties;
property LeftIndent: Integer read FLeftIndent write FLeftIndent;
property RightIndent: Integer read FRightIndent w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -