synedit: codefolding: implemented UnfoldAll

git-svn-id: trunk@10003 -
This commit is contained in:
mattias 2006-09-28 21:11:13 +00:00
parent 05785d7349
commit 4f6130917f
2 changed files with 18 additions and 1 deletions

View File

@ -704,6 +704,7 @@ type
//code fold
procedure CodeFoldAction(iLine: integer);
function FindNextUnfoldedLine(iLine: integer; Down: boolean): Integer;
procedure UnfoldAll;
{$ENDIF}
procedure AddKey(Command: TSynEditorCommand; Key1: word; SS1: TShiftState;
@ -2784,6 +2785,18 @@ begin
and (TSynEditStringList(fLines).Folded[Result-1]) do
if Down then inc(Result) else dec(Result);
end;
procedure TCustomSynEdit.UnfoldAll;
var
SLines: TSynEditStringList;
i: Integer;
begin
SLines:=TSynEditStringList(Lines);
for i:=0 to SLines.Count-1 do
SLines.Folded[i]:=false;
Invalidate;
end;
{$ENDIF}
procedure TCustomSynEdit.PaintGutter(AClip: TRect; FirstLine, LastLine: integer);

View File

@ -2329,7 +2329,11 @@ begin
ASynEdit.Gutter.Visible := fVisibleGutter;
ASynEdit.Gutter.ShowLineNumbers := fShowLineNumbers;
//ASynEdit.Gutter.AutoSize:= fShowLineNumbers;
ASynEdit.Gutter.ShowCodeFolding := FUseCodeFolding;
if ASynEdit.Gutter.ShowCodeFolding<>FUseCodeFolding then begin
ASynEdit.Gutter.ShowCodeFolding := FUseCodeFolding;
if not FUseCodeFolding then
ASynEdit.UnfoldAll;
end;
ASynEdit.Gutter.Color := fGutterColor;
ASynEdit.Gutter.Width := fGutterWidth;
ASynEdit.Gutter.LeftOffset := 2*11; // bookmark + breakpoint