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

📄 syneditactions.pas

📁 SynEditStudio delphi 代码编辑器
💻 PAS
📖 第 1 页 / 共 5 页
字号:
begin
  if SynEditAllocated(Target) then
  begin
    if not FActiveSynEdit.SelAvail then
      FActiveSynEdit.ExecuteCommand(ecSelectLine, #0, nil);
    FActiveSynEdit.ExecuteCommand(ecBlockIndent, #0, nil);
  end;
end;

{ TSynEditUnindent }

procedure TaSynBlockUnindent.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
  begin
    if not FActiveSynEdit.SelAvail then
      FActiveSynEdit.ExecuteCommand(ecSelectLine, #0, nil);
    FActiveSynEdit.ExecuteCommand(ecBlockUnindent, #0, nil);
  end;
end;

{ TSynEditGotoLastChange }

procedure TaSynGotoLastChange.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecGotoLastChange, #0, nil);
end;

{ TSynEditMatchBracket }

procedure TaSynMatchBracket.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecMatchBracket, #0, nil);
end;

{ TSynEditCommentBlock }

procedure TaSynCommentBlock.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecCommentBlock, #0, nil);
end;

{ TaSynAppendCut }

procedure TaSynAppendCut.ExecuteTarget(Target: TObject);
begin
  IF SynEditAllocated(Target) then
  begin
    Clipboard.AsText := Clipboard.AsText + FActiveSynEdit.SelText;
    FActiveSynEdit.ClearSelection;
  end;
end;

{ TaSynAppendCopy }

procedure TaSynAppendCopy.ExecuteTarget(Target: TObject);
begin
  If SynEditAllocated(Target) then
    Clipboard.AsText := Clipboard.AsText + FActiveSynEdit.SelText
end;

function TaSynAppendCopy.HandlesTarget(Target: TObject): Boolean;
begin
  result := SynEditAllocated(Target) and FActiveSynEdit.SelAvail;
end;

{ TaSynDeleteNextchar }

procedure TaSynDeleteNextchar.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecDeleteChar, #0, nil);
end;

{ TaSynDeleteLastChar }

procedure TaSynDeleteLastChar.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecDeleteLastChar, #0, nil);
end;

{ TaSynDeleteWordToEnd }

procedure TaSynDeleteWordToEnd.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecDeleteWord, #0, nil);
end;

{ TaSynDeleteWordToStart }

procedure TaSynDeleteWordToStart.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecDeleteLastWord, #0, nil);
end;

{ TaSynDeleteCursorWord }

procedure TaSynDeleteWord.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecDeleteCursorWord, #0, nil);
end;

{ TaSynDeleteLineToEnd }

procedure TaSynDeleteLineToEnd.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecDeleteEOL, #0, nil);
end;

{ TaSynDeleteLineToStart }

procedure TaSynDeleteLineToStart.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecDeleteBOL, #0, nil);
end;

{ TaSynDeleteCursorLine }

procedure TaSynDeleteLine.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecDeleteLine, #0, nil);
end;

{ TaSynSelectAll }

procedure TaSynSelectAll.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.SelectAll;
end;

{ TaSynSelectLine }

procedure TaSynSelectLine.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecSelectLine, #0, nil);
end;

{ TaSynSelectNextLine }

procedure TaSynSelectNextLine.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecSelNextLine, #0, nil);
end;

{ TaSynSelectLastLine }

procedure TaSynSelectLastLine.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecSelPrevLine, #0, nil);
end;

{ TaSynSelectWrod }

procedure TaSynSelectWrod.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.SetSelWord;
end;

{ TaSynSelectNextWord }

procedure TaSynSelectNextWord.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecSelNextWord, #0, nil);
end;

{ TaSynSelectLastWord }

procedure TaSynSelectLastWord.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecSelPrevWord, #0, nil);
end;

{ TaSynClearAll }

procedure TaSynClearAll.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.Lines.Text := '';
end;

{ TaSynReadOnly }

procedure TaSynReadOnly.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ReadOnly := not Checked;
end;

procedure TaSynReadOnly.UpdateTarget(Target: TObject);
begin
  inherited;
  if SynEditAllocated(Target) then
    Checked := FActiveSynEdit.ReadOnly;
end;

{ TaSynNormalSelect }

procedure TaSynNormalSelect.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.SelectionMode := smNormal;
end;

procedure TaSynNormalSelect.UpdateTarget(Target: TObject);
begin
  inherited;
  if SynEditAllocated(Target) then
    Checked := FActiveSynEdit.SelectionMode = smNormal;
end;

{ TaSynColumnSelect }

procedure TaSynColumnSelect.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.SelectionMode := smColumn;
end;

procedure TaSynColumnSelect.UpdateTarget(Target: TObject);
begin
  inherited;
  if SynEditAllocated(Target) then
    Checked := FActiveSynEdit.SelectionMode = smColumn;
end;

{ TaSynLineSelect }

procedure TaSynLineSelect.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.SelectionMode := smLine;
end;

procedure TaSynLineSelect.UpdateTarget(Target: TObject);
begin
  inherited;
  if SynEditAllocated(Target) then
    Checked := FActiveSynEdit.SelectionMode = smLine;
end;

{ TaSynInsertLine }

procedure TaSynInsertLine.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecInsertLine, #0, nil);
end;

{ TaSynLineBreak }

procedure TaSynLineBreak.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExecuteCommand(ecLineBreak, #0, nil);
end;

{ TaSynFormatDos }

procedure TaSynFileFormatDos.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    TSynEditStringList(FActiveSynEdit.Lines).FileFormat := sffDos;
end;

procedure TaSynFileFormatDos.UpdateTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    Checked := TSynEditStringList(FActiveSynEdit.Lines).FileFormat = sffDos;
end;

{ TaSynFormatMac }

procedure TaSynFileFormatMac.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    TSynEditStringList(FActiveSynEdit.Lines).FileFormat := sffMac;
end;

procedure TaSynFileFormatMac.UpdateTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    Checked := TSynEditStringList(FActiveSynEdit.Lines).FileFormat = sffMac;
end;

{ TaSynFormatUnix }

procedure TaSynFileFormatUnix.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    TSynEditStringList(FActiveSynEdit.Lines).FileFormat := sffUnix;
end;

procedure TaSynFileFormatUnix.UpdateTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    Checked := TSynEditStringList(FActiveSynEdit.Lines).FileFormat = sffUnix;
end;

{ TaSynPrint }

procedure TaSynPrint.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) and (Print <> nil) and (Printer.Printers.Count > 0) then
    FActiveSynEdit.ExecuteCommand(ecPrint, '1', fPrint);
end;

function TaSynPrint.HandlesTarget(Target: TObject): Boolean;
begin
  result :=  SynEditAllocated(Target) and (Printer.Printers.Count > 0);
end;

{ TaSynQuickPrint }

procedure TaSynQuickPrint.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) and (Print <> nil) and (Printer.Printers.Count > 0) then
    FActiveSynEdit.ExecuteCommand(ecPrint, #0, fPrint);
end;

function TaSynQuickPrint.HandlesTarget(Target: TObject): Boolean;
begin
  result := SynEditAllocated(Target) and (Printer.Printers.Count > 0);
end;

{ TaSynExporter }

procedure TaSynExporter.ExecuteTarget(Target: TObject);
begin
  if SynEditAllocated(Target) then
    FActiveSynEdit.ExportDocument('', fExporter, [doDefine]);
end;

procedure TaSynExporter.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited;
  if (AComponent = fExporter) and (Operation = opRemove) then
    fExporter := nil; 
end;

procedure TaSynExporter.SetExporter(const Value: TSynCustomExporter);
begin
  if fExporter <> nil then
    fExporter.RemoveFreeNotification(self);
  fExporter := Value;
  if fExporter <> nil then
    fExporter.FreeNotification(self);
end;

{ TSynCustomManager }

function TSynCustomManager.AddEditor(SynEditor: TCustomSynEditor): integer;
begin
  result := -1;
  if FSynEditors.IndexOfObject(SynEditor) < 0 then
  begin
    result := FSynEditors.AddObject('', SynEditor);
    SynEditor.FreeNotification(self);
    if EditorsEvent <> nil then
      EditorsEvent.AssignTo(SynEditor);
    IF EditorSource <> nil then
      EditorSource.AssignTo(SynEditor);
    IF AutoCorrect <> nil then
      AutoCorrect.AddEditor(SynEditor);
//    {$IFDEF SPELLCHECK}
//    IF SpellCheck <> nil then
//      SpellCheck.AddEditor(SynEditor);
//    {$ENDIF}
    Highlighters.HighlighterAssignTo(SynEditor, Highlighters.DefaultLanguageIndex);
    if Assigned(FOnAddEditor) then
      FOnAddEditor(Self, Result);
  end;
end;

constructor TSynCustomManager.Create(AOwner: TComponent);
begin
  inherited;
  FSynEditors := TStringList.Create;
  FHighlighters := TSynHighlighters.Create(TSynHighlighterItem);
  FHighlighters.FManager := Self;
  Manager := Self;
end;

function TSynCustomManager.CreateIniFile(FileName : string): TCustomIniFile;
begin
  Result := nil;
  if Assigned(fOnCreateIniFile) then
    fOnCreateIniFile(self, FileName, Result);
  if not Assigned(Result) then
    Result := TIniFile.Create(FileName);
end;

function TSynHighlighters.GetDefaultLanguageIndex: Integer;
begin
  for Result := 0 to Count -1 do
    if LowerCase(Highlighters[Result].LanguageName) = LowerCase(FDefaultLanguage) then
      exit;
  Result := -1;
end;

procedure TSynCustomManager.DeleteEditor(SynEditor: TCustomSynEditor);
var
  i : integer;
begin
  i := FSynEditors.IndexOfObject(SynEditor);
  if i >= 0 then
  begin
    IF fAutoCorrect <> nil then
      fAutoCorrect.RemoveEditor(SynEditor);
    {$IFDEF SPELLCHECK}
    IF fSpellCheck <> nil then
      fSpellCheck.RemoveEditor(SynEditor);
    {$ENDIF}
    if Assigned(FOnDeleteEditor) then
      FOnDeleteEditor(Self, I);
    FSynEditors.Delete(i);
    SynEditor.RemoveFreeNotification(self);
  end;
end;

destructor TSynCustomManager.Destroy;
begin

⌨️ 快捷键说明

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