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

📄 richviewactions.pas

📁 richviewaction 1.58 需要richview 1.9.46
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -