📄 richviewactions.pas
字号:
published
property ActionList: TActionList read GetActionList write SetActionList;
property OnLiveSpellGetSuggestions: TRVA2LiveSpellGetSuggestionsEvent
read FOnLiveSpellGetSuggestions write FOnLiveSpellGetSuggestions;
property OnLiveSpellIgnoreAll: TRVA2LiveSpellIgnoreAllEvent
read FOnLiveSpellIgnoreAll write FOnLiveSpellIgnoreAll;
property OnLiveSpellAdd: TRVA2LiveSpellAddEvent
read FOnLiveSpellAdd write FOnLiveSpellAdd;
property OnLiveSpellWordReplace: TRVA2LiveSpellReplaceEvent
read FOnLiveSpellWordReplace write FOnLiveSpellWordReplace;
property MaxSuggestionsCount: Integer read GetMaxSuggestionsCount write SetMaxSuggestionsCount default 0;
end;
{$ENDIF}
TrvCustomAction = class(TAction {$IFDEF USERVTNT},ITntAction{$ENDIF})
private
{$IFDEF USERVTNT}
function GetCaption: WideString;
procedure SetCaption(const Value: WideString);
function GetHint: WideString;
procedure SetHint(const Value: WideString);
{$ENDIF}
protected
FMessageID: TRVAMessageID;
FDisabled: Boolean;
procedure Localize; dynamic;
{$IFDEF USERVTNT}
procedure DefineProperties(Filer: TFiler); override;
public
procedure Assign(Source: TPersistent); override;
{$ENDIF}
published
property Disabled: Boolean read FDisabled write FDisabled default False;
{$IFDEF USERVTNT}
property Caption: WideString read GetCaption write SetCaption;
property Hint: WideString read GetHint write SetHint;
{$ENDIF}
end;
TrvAction = class(TrvCustomAction)
private
FControl: TCustomRichViewEdit;
procedure SetControl(Value: TCustomRichViewEdit);
protected
function GetControl(Target: TObject): TCustomRichViewEdit; virtual;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure IterateProc(RVData: TCustomRVData; ItemNo: Integer; rve: TCustomRichViewEdit; var CustomData: Integer); virtual;
function ContinueIteration(var CustomData: Integer): Boolean; virtual;
procedure IterateRVData(RVData: TCustomRVData; rve: TCustomRichViewEdit; StartNo, EndNo: Integer;
var CustomData: Integer);
public
function HandlesTarget(Target: TObject): Boolean; override;
procedure UpdateTarget(Target: TObject); override;
published
property Control: TCustomRichViewEdit read FControl write SetControl;
end;
TrvActionEvent = class(TrvAction)
private
FOnUpdate, FOnExecute: TRVAEvent;
protected
public
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
published
property OnUpdate: TRVAEvent read FOnUpdate write FOnUpdate;
property OnExecute: TRVAEvent read FOnExecute write FOnExecute;
end;
{ ------------------ File ------------------------- }
TrvaDocumentInfo = class
public
rve: TCustomRichViewEdit;
FileName: String;
FileFormat: TrvFileSaveFilter;
CustomFilterIndex: Integer;
Defined, LFWarned: Boolean;
LFWFileFormat: TrvFileSaveFilter;
LFWCustomFilterIndex: Integer;
end;
TrvActionSave = class;
TrvActionNew = class(TrvAction)
private
FActionSave: TrvActionSave;
FOnNew: TNotifyEvent;
procedure SetActionSave(const Value: TrvActionSave);
function GetActionSave: TrvActionSave;
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Reset(rve: TCustomRichViewEdit);
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
published
property ActionSave: TrvActionSave read FActionSave write SetActionSave;
property OnNew: TNotifyEvent read FOnNew write FOnNew;
end;
TrvActionOpen = class(TrvActionNew)
private
FDialogTitle: string;
FFilter: TrvFileOpenFilterSet;
FLastFilterIndex: Integer;
FInitialDir: String;
FCustomFilter: String;
FOnOpenFile: TRVOpenFileEvent;
public
procedure ExecuteTarget(Target: TObject); override;
constructor Create(AOwner: TComponent); override;
procedure LoadFile(rve: TCustomRichViewEdit; const FileName: String;
FileFormat: TrvFileOpenFilter; CustomFilterIndex: Integer=0);
property LastFilterIndex: Integer read FLastFilterIndex write FLastFilterIndex;
published
property DialogTitle: String read FDialogTitle write FDialogTitle;
property InitialDir: String read FInitialDir write FInitialDir;
property Filter: TrvFileOpenFilterSet read FFilter write FFilter default [ffiRVF..ffiCustom];
property CustomFilter: String read FCustomFilter write FCustomFilter;
property OnOpenFile: TRVOpenFileEvent read FOnOpenFile write FOnOpenFile;
end;
TrvActionSaveAs = class;
TrvActionSave = class(TrvAction)
private
FDocuments: TRVList;
FActionSaveAs: TrvActionSaveAs;
FOnDocumentFileChange: TRVFileChangeEvent;
FLostFormatWarning: TrvFileSaveFilterSet;
procedure SetActionSaveAs(const Value: TrvActionSaveAs);
function GetActionSaveAs: TrvActionSaveAs;
protected
function AddDoc(rve: TCustomRichViewEdit; const FileName: String;
FileFormat: TrvFileSaveFilter; CustomFilterIndex: Integer; Defined: Boolean;
SaveFile, SuppressLFWarn, LFWarned: Boolean): Integer;
procedure DeleteDoc(rve: TCustomRichViewEdit);
function FindDoc(rve: TCustomRichViewEdit): Integer;
function SaveDoc(Index: Integer; SuppressLFWarn: Boolean): Boolean;
function SaveDocEx(rve: TCustomRichViewEdit): Boolean;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure DoDocumentFileChange(Index: Integer);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ExecuteTarget(Target: TObject); override;
function CanCloseDoc(rve: TCustomRichViewEdit): Boolean;
published
property ActionSaveAs: TrvActionSaveAs read FActionSaveAs write SetActionSaveAs;
property OnDocumentFileChange: TRVFileChangeEvent read FOnDocumentFileChange write FOnDocumentFileChange;
property LostFormatWarning: TrvFileSaveFilterSet read FLostFormatWarning write FLostFormatWarning
default [ffeRTF, ffeTextANSI, ffeTextUnicode, ffeCustom];
end;
TrvActionCustomIO = class(TrvAction)
private
FDialogTitle: string;
FLastFilterIndex: Integer;
FFileName: String;
FAutoUpdateFileName: Boolean;
protected
FInitialDir: String;
property FileName: String read FFileName write FFileName;
property AutoUpdateFileName: Boolean read FAutoUpdateFileName write FAutoUpdateFileName default True;
public
constructor Create(AOwner: TComponent); override;
published
property DialogTitle: string read FDialogTitle write FDialogTitle;
property InitialDir: String read FInitialDir write FInitialDir;
end;
TrvActionCustomFileIO = class(TrvActionCustomIO)
private
FCustomFilter: String;
protected
property CustomFilter: String read FCustomFilter write FCustomFilter;
end;
TrvActionSaveAs = class(TrvActionCustomFileIO)
private
FActionSave: TrvActionSave;
FFilter: TrvFileSaveFilterSet;
procedure SetActionSave(const Value: TrvActionSave);
function GetActionSave: TrvActionSave;
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
published
property Filter: TrvFileSaveFilterSet read FFilter write FFilter default [ffeRVF..ffeCustom];
property ActionSave: TrvActionSave read FActionSave write SetActionSave;
property CustomFilter;
end;
TrvActionExport = class(TrvActionCustomFileIO)
private
FFilter: TrvFileExportFilterSet;
FFileTitle, FImagePrefix: String;
FSaveOptions: TRVSaveOptions;
FCreateDirectoryForHTMLImages: Boolean;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
function ExportToFile(Edit: TCustomRichViewEdit; const FileName: String;
ExportFormat: TrvFileExportFilter; ConverterOrCustomIndex: Integer;
rvc: TRVOfficeConverter): Boolean;
property FileName;
published
property Filter: TrvFileExportFilterSet read FFilter write FFilter default [ffeRVF..ffeOfficeConverters];
property FileTitle: String read FFileTitle write FFileTitle;
property ImagePrefix: String read FImagePrefix write FImagePrefix;
property SaveOptions: TRVSaveOptions read FSaveOptions write FSaveOptions;
property CreateDirectoryForHTMLImages: Boolean read FCreateDirectoryForHTMLImages write FCreateDirectoryForHTMLImages default True;
property AutoUpdateFileName;
property CustomFilter;
end;
{ ------------------ Printing ------------------------- }
TrvCustomPrintAction = class(TrvAction)
private
FOldOnPagePrepaint: TRVPagePrepaintEvent;
protected
function FindRVPrint(Form: TComponent): TRVPrint;
procedure InitRVPrint(Form: TComponent; var ARVPrint: TRVPrint;
var ACreated: Boolean);
procedure DoneRVPrint(ARVPrint: TRVPrint; ACreated: Boolean);
procedure PagePrepaint(Sender: TRVPrint; PageNo: Integer; Canvas: TCanvas;
Preview: Boolean; PageRect, PrintAreaRect: TRect);
public
procedure UpdateTarget(Target: TObject); override;
end;
TrvActionPrint = class;
TrvActionPageSetup = class;
TrvActionPrintPreview = class(TrvCustomPrintAction)
private
FActionPrint: TrvActionPrint;
FMaximized: Boolean;
FActionPageSetup: TrvActionPageSetup;
FOnGetPreviewFormClass: TRVGetFormClassEvent;
procedure SetActionPrint(const Value: TrvActionPrint);
function GetActionPrint: TrvActionPrint;
procedure SetActionPageSetup(const Value: TrvActionPageSetup);
function GetPreviewFormClass: TFormClass;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
published
property ActionPrint: TrvActionPrint read FActionPrint write SetActionPrint;
property ActionPageSetup: TrvActionPageSetup read FActionPageSetup write SetActionPageSetup;
property Maximized: Boolean read FMaximized write FMaximized default False;
property OnGetPreviewFormClass: TRVGetFormClassEvent
read FOnGetPreviewFormClass write FOnGetPreviewFormClass;
end;
TrvActionPrint = class(TrvCustomPrintAction)
private
FTitle: string;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
published
property Title: string read FTitle write FTitle;
end;
TrvActionQuickPrint = class(TrvCustomPrintAction)
private
FTitle: string;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
published
property Title: string read FTitle write FTitle;
end;
TrvActionPageSetup = class(TrvCustomAction)
private
FMarginsUnits: TrvPaperMarginsUnits;
FOnChange: TNotifyEvent;
public
constructor Create(AOwner: TComponent); override;
function HandlesTarget(Target: TObject): Boolean; override;
procedure UpdateTarget(Target: TObject); override;
procedure ExecuteTarget(Target: TObject); override;
published
property MarginsUnits: TrvPaperMarginsUnits read FMarginsUnits write FMarginsUnits default rvpmuMillimeters;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;
{ ------------------ Find and Replace ------------------------- }
{$IFDEF USERVTNT}
TRVABasicFindDialog = TTntFindDialog;
TRVABasicReplaceDialog = TTntReplaceDialog;
{$ELSE}
TRVABasicFindDialog = TFindDialog;
TRVABasicReplaceDialog = TReplaceDialog;
{$ENDIF}
TrvActionReplace = class;
TrvActionFind = class(TrvAction)
private
FEdit: TCustomRichViewEdit;
FFindDialog: TRVABasicFindDialog;
FActionReplace: TrvActionReplace;
procedure FindDialogFind(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -