mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 14:38:01 +02:00
implemented Break Lines in Selection
git-svn-id: trunk@4767 -
This commit is contained in:
parent
8307c1426c
commit
8e0f2d4356
@ -84,11 +84,12 @@ const
|
||||
ecSelectionComment = ecUserFirst + 54;
|
||||
ecSelectionUncomment = ecUserFirst + 55;
|
||||
ecSelectionSort = ecUserFirst + 56;
|
||||
ecSelectToBrace = ecUserFirst + 57;
|
||||
ecSelectCodeBlock = ecUserFirst + 58;
|
||||
ecSelectLine = ecUserFirst + 59;
|
||||
ecSelectParagraph = ecUserFirst + 60;
|
||||
|
||||
ecSelectionBreakLines = ecUserFirst + 57;
|
||||
ecSelectToBrace = ecUserFirst + 58;
|
||||
ecSelectCodeBlock = ecUserFirst + 59;
|
||||
ecSelectLine = ecUserFirst + 60;
|
||||
ecSelectParagraph = ecUserFirst + 61;
|
||||
|
||||
// insert text
|
||||
ecInsertCharacter = ecUserFirst + 80;
|
||||
ecInsertGPLNotice = ecUserFirst + 81;
|
||||
@ -491,6 +492,7 @@ begin
|
||||
ecSelectionComment: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSelectionUncomment: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSelectionSort: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
ecSelectionBreakLines: SetResult(VK_UNKNOWN, [],VK_UNKNOWN,[]);
|
||||
|
||||
// editing
|
||||
ecBlockIndent: SetResult(VK_I,[ssCtrl],VK_UNKNOWN,[]);
|
||||
@ -1094,6 +1096,7 @@ begin
|
||||
ecSelectionComment : Result:= lismenucommentselection;
|
||||
ecSelectionUncomment : Result:= lismenuuncommentselection;
|
||||
ecSelectionSort : Result:= lismenusortselection;
|
||||
ecSelectionBreakLines : Result:= lismenusortselection;
|
||||
ecSelectToBrace : Result:= lismenuselecttobrace;
|
||||
ecSelectCodeBlock : Result:= lismenuselectcodeblock;
|
||||
ecSelectLine : Result:= lismenuselectline;
|
||||
@ -1889,6 +1892,7 @@ begin
|
||||
AddDefault(C,'Comment selection',ecSelectionComment);
|
||||
AddDefault(C,'Uncomment selection',ecSelectionUncomment);
|
||||
AddDefault(C,'Sort selection',ecSelectionSort);
|
||||
AddDefault(C,'Break Lines in selection',ecSelectionBreakLines);
|
||||
|
||||
// editing
|
||||
C:=Categories[AddCategory('editing commands',srkmCatEditing,caSrcEditOnly)];
|
||||
|
@ -132,6 +132,7 @@ resourcestring
|
||||
lisMenuCommentSelection = 'Comment selection';
|
||||
lisMenuUncommentSelection = 'Uncomment selection';
|
||||
lisMenuSortSelection = 'Sort selection';
|
||||
lisMenuBeakLinesInSelection = 'Break Lines in selection';
|
||||
lisMenuSelect = 'Select';
|
||||
lisMenuSelectAll = 'Select all';
|
||||
lisMenuSelectToBrace = 'Select to brace';
|
||||
|
10
ide/main.pp
10
ide/main.pp
@ -127,6 +127,7 @@ type
|
||||
procedure mnuEditCommentBlockClicked(Sender: TObject);
|
||||
procedure mnuEditUncommentBlockClicked(Sender: TObject);
|
||||
procedure mnuEditSortBlockClicked(Sender: TObject);
|
||||
procedure mnuEditSelectionBreakLinesClicked(Sender: TObject);
|
||||
procedure mnuEditSelectAllClick(Sender: TObject);
|
||||
procedure mnuEditSelectCodeBlockClick(Sender: TObject);
|
||||
procedure mnuEditSelectToBraceClick(Sender: TObject);
|
||||
@ -1444,6 +1445,7 @@ begin
|
||||
itmEditCommentBlock.OnClick:=@mnuEditCommentBlockClicked;
|
||||
itmEditUncommentBlock.OnClick:=@mnuEditUncommentBlockClicked;
|
||||
itmEditSortBlock.OnClick:=@mnuEditSortBlockClicked;
|
||||
itmEditSelectionBreakLines.OnClick:=@mnuEditSelectionBreakLinesClicked;
|
||||
itmEditSelectAll.OnClick:=@mnuEditSelectAllClick;
|
||||
itmEditSelectToBrace.OnClick:=@mnuEditSelectToBraceClick;
|
||||
itmEditSelectCodeBlock.OnClick:=@mnuEditSelectCodeBlockClick;
|
||||
@ -9726,6 +9728,11 @@ begin
|
||||
DoEditMenuCommand(ecSelectionSort);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuEditSelectionBreakLinesClicked(Sender: TObject);
|
||||
begin
|
||||
DoEditMenuCommand(ecSelectionBreakLines);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuEditSelectAllClick(Sender: TObject);
|
||||
begin
|
||||
DoEditMenuCommand(ecSelectAll);
|
||||
@ -9935,6 +9942,9 @@ end.
|
||||
|
||||
{ =============================================================================
|
||||
$Log$
|
||||
Revision 1.664 2003/11/07 16:29:59 mattias
|
||||
implemented Break Lines in Selection
|
||||
|
||||
Revision 1.663 2003/11/06 19:13:34 mattias
|
||||
fixed loading forms with errors
|
||||
|
||||
|
@ -210,6 +210,7 @@ type
|
||||
itmEditCommentBlock: TMenuItem;
|
||||
itmEditUncommentBlock: TMenuItem;
|
||||
itmEditSortBlock: TMenuItem;
|
||||
itmEditSelectionBreakLines: TMenuItem;
|
||||
itmEditSelect: TMenuItem;
|
||||
itmEditSelectAll: TMenuItem;
|
||||
itmEditSelectToBrace: TMenuItem;
|
||||
@ -695,6 +696,11 @@ begin
|
||||
itmEditTabsToSpacesBlock.Caption := lisMenuTabsToSpacesSelection;
|
||||
mnuEdit.Add(itmEditTabsToSpacesBlock);
|
||||
|
||||
itmEditSelectionBreakLines := TMenuItem.Create(Self);
|
||||
itmEditSelectionBreakLines.Name:='itmEditSelectionBreakLines';
|
||||
itmEditSelectionBreakLines.Caption := lisMenuBeakLinesInSelection;
|
||||
mnuEdit.Add(itmEditSelectionBreakLines);
|
||||
|
||||
mnuEdit.Add(CreateMenuSeparator);
|
||||
|
||||
itmEditCommentBlock := TMenuItem.Create(Self);
|
||||
@ -1406,6 +1412,7 @@ begin
|
||||
itmEditCommentBlock.ShortCut:=CommandToShortCut(ecSelectionComment);
|
||||
itmEditUncommentBlock.ShortCut:=CommandToShortCut(ecSelectionUncomment);
|
||||
itmEditSortBlock.ShortCut:=CommandToShortCut(ecSelectionSort);
|
||||
itmEditSelectionBreakLines.ShortCut:=CommandToShortCut(ecSelectionBreakLines);
|
||||
itmEditSelectAll.ShortCut:=CommandToShortCut(ecSelectAll);
|
||||
itmEditSelectToBrace.ShortCut:=CommandToShortCut(ecSelectToBrace);
|
||||
itmEditSelectCodeBlock.ShortCut:=CommandToShortCut(ecSelectCodeBlock);
|
||||
|
@ -34,7 +34,7 @@ unit SourceEditProcs;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, BasicCodeTools, CodeTree, CodeToolManager,
|
||||
Classes, SysUtils, LCLProc, BasicCodeTools, CodeTree, CodeToolManager,
|
||||
PascalParserTool, IdentCompletionTool, GraphType, Graphics, EditorOptions,
|
||||
SynEdit, SynCompletion;
|
||||
|
||||
@ -50,6 +50,7 @@ procedure PaintCompletionItem(const AKey: string; ACanvas: TCanvas;
|
||||
aCompletion : TSynCompletion; CurrentCompletionType: TCompletionType);
|
||||
function GetIdentCompletionValue(aCompletion : TSynCompletion;
|
||||
var ValueType: TIdentComplValue; var CursorToLeft: integer): string;
|
||||
function BreakLinesInText(const s: string; MaxLineLength: integer): string;
|
||||
|
||||
|
||||
implementation
|
||||
@ -296,5 +297,10 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function BreakLinesInText(const s: string; MaxLineLength: integer): string;
|
||||
begin
|
||||
Result:=BreakString(s,MaxLineLength,GetLineIndent(s,1));
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -227,6 +227,7 @@ type
|
||||
procedure CommentSelection;
|
||||
procedure UncommentSelection;
|
||||
procedure SortSelection;
|
||||
procedure BreakLinesInSelection;
|
||||
procedure SelectToBrace;
|
||||
procedure SelectCodeBlock;
|
||||
procedure SelectLine;
|
||||
@ -1063,6 +1064,9 @@ Begin
|
||||
ecSelectionSort:
|
||||
SortSelection;
|
||||
|
||||
ecSelectionBreakLines:
|
||||
BreakLinesInSelection;
|
||||
|
||||
ecSelectToBrace:
|
||||
SelectToBrace;
|
||||
|
||||
@ -1278,6 +1282,20 @@ begin
|
||||
EditorComponent.SelText:=NewSortedText;
|
||||
end;
|
||||
|
||||
procedure TSourceEditor.BreakLinesInSelection;
|
||||
var
|
||||
OldSelection: String;
|
||||
begin
|
||||
if not EditorComponent.SelAvail then exit;
|
||||
FEditor.BeginUpdate;
|
||||
FEditor.BeginUndoBlock;
|
||||
// ToDo: replace step by step to keep bookmarks and breakpoints
|
||||
OldSelection:=EditorComponent.SelText;
|
||||
FEditor.SelText:=BreakLinesInText(OldSelection,FEditor.RightEdge);
|
||||
FEditor.EndUndoBlock;
|
||||
FEditor.EndUpdate;
|
||||
end;
|
||||
|
||||
procedure TSourceEditor.SelectToBrace;
|
||||
begin
|
||||
EditorComponent.SelectToBrace;
|
||||
|
Loading…
Reference in New Issue
Block a user