mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-02 21:40:34 +02:00
SynEdit: Some optional debugln
git-svn-id: trunk@25317 -
This commit is contained in:
parent
9fe2459522
commit
4facc6f4d3
@ -254,6 +254,8 @@ type
|
|||||||
TSynEditUndoTxtInsert = class(TSynEditUndoItem)
|
TSynEditUndoTxtInsert = class(TSynEditUndoItem)
|
||||||
private
|
private
|
||||||
FPosX, FPosY, FLen: Integer;
|
FPosX, FPosY, FLen: Integer;
|
||||||
|
protected
|
||||||
|
function DebugString: String; override;
|
||||||
public
|
public
|
||||||
constructor Create(APosX, APosY, ALen: Integer);
|
constructor Create(APosX, APosY, ALen: Integer);
|
||||||
function PerformUndo(Caller: TObject): Boolean; override;
|
function PerformUndo(Caller: TObject): Boolean; override;
|
||||||
@ -265,6 +267,8 @@ type
|
|||||||
private
|
private
|
||||||
FPosX, FPosY: Integer;
|
FPosX, FPosY: Integer;
|
||||||
FText: String;
|
FText: String;
|
||||||
|
protected
|
||||||
|
function DebugString: String; override;
|
||||||
public
|
public
|
||||||
constructor Create(APosX, APosY: Integer; AText: String);
|
constructor Create(APosX, APosY: Integer; AText: String);
|
||||||
function PerformUndo(Caller: TObject): Boolean; override;
|
function PerformUndo(Caller: TObject): Boolean; override;
|
||||||
@ -275,6 +279,8 @@ type
|
|||||||
TSynEditUndoTxtLineBreak = class(TSynEditUndoItem)
|
TSynEditUndoTxtLineBreak = class(TSynEditUndoItem)
|
||||||
private
|
private
|
||||||
FPosY: Integer;
|
FPosY: Integer;
|
||||||
|
protected
|
||||||
|
function DebugString: String; override;
|
||||||
public
|
public
|
||||||
constructor Create(APosY: Integer);
|
constructor Create(APosY: Integer);
|
||||||
function PerformUndo(Caller: TObject): Boolean; override;
|
function PerformUndo(Caller: TObject): Boolean; override;
|
||||||
@ -285,6 +291,8 @@ type
|
|||||||
TSynEditUndoTxtLineJoin = class(TSynEditUndoItem)
|
TSynEditUndoTxtLineJoin = class(TSynEditUndoItem)
|
||||||
private
|
private
|
||||||
FPosX, FPosY: Integer;
|
FPosX, FPosY: Integer;
|
||||||
|
protected
|
||||||
|
function DebugString: String; override;
|
||||||
public
|
public
|
||||||
constructor Create(APosX, APosY: Integer);
|
constructor Create(APosX, APosY: Integer);
|
||||||
function PerformUndo(Caller: TObject): Boolean; override;
|
function PerformUndo(Caller: TObject): Boolean; override;
|
||||||
@ -295,6 +303,8 @@ type
|
|||||||
TSynEditUndoTxtLinesIns = class(TSynEditUndoItem)
|
TSynEditUndoTxtLinesIns = class(TSynEditUndoItem)
|
||||||
private
|
private
|
||||||
FPosY, FCount: Integer;
|
FPosY, FCount: Integer;
|
||||||
|
protected
|
||||||
|
function DebugString: String; override;
|
||||||
public
|
public
|
||||||
constructor Create(ALine, ACount: Integer);
|
constructor Create(ALine, ACount: Integer);
|
||||||
function PerformUndo(Caller: TObject): Boolean; override;
|
function PerformUndo(Caller: TObject): Boolean; override;
|
||||||
@ -305,98 +315,136 @@ type
|
|||||||
TSynEditUndoTxtLinesDel = class(TSynEditUndoItem)
|
TSynEditUndoTxtLinesDel = class(TSynEditUndoItem)
|
||||||
private
|
private
|
||||||
FPosY, FCount: Integer;
|
FPosY, FCount: Integer;
|
||||||
|
protected
|
||||||
|
function DebugString: String; override;
|
||||||
public
|
public
|
||||||
constructor Create(ALine, ACount: Integer);
|
constructor Create(ALine, ACount: Integer);
|
||||||
function PerformUndo(Caller: TObject): Boolean; override;
|
function PerformUndo(Caller: TObject): Boolean; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTxtInsert }
|
{ TSynEditUndoTxtInsert }
|
||||||
|
function TSynEditUndoTxtInsert.DebugString: String;
|
||||||
|
begin
|
||||||
|
Result := 'X='+dbgs(FPosX) + ' Y='+ dbgs(FPosY) + ' len=' + dbgs(FLen);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TSynEditUndoTxtInsert.Create(APosX, APosY, ALen: Integer);
|
constructor TSynEditUndoTxtInsert.Create(APosX, APosY, ALen: Integer);
|
||||||
begin
|
begin
|
||||||
FPosX := APosX;
|
FPosX := APosX;
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
FLen := ALen;
|
FLen := ALen;
|
||||||
|
{$IFDEF SynUndoDebug}debugln(['--- Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTxtInsert.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTxtInsert.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringList;
|
Result := Caller is TSynEditStringList;
|
||||||
|
{$IFDEF SynUndoDebug}if Result then debugln(['--- Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
if Result then
|
if Result then
|
||||||
TSynEditStringList(Caller).EditDelete(FPosX, FPosY, FLen);
|
TSynEditStringList(Caller).EditDelete(FPosX, FPosY, FLen);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTxtDelete }
|
{ TSynEditUndoTxtDelete }
|
||||||
|
function TSynEditUndoTxtDelete.DebugString: String;
|
||||||
|
begin
|
||||||
|
Result := 'X='+dbgs(FPosX) + ' Y='+ dbgs(FPosY) + ' text=' + FText;
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TSynEditUndoTxtDelete.Create(APosX, APosY: Integer; AText: String);
|
constructor TSynEditUndoTxtDelete.Create(APosX, APosY: Integer; AText: String);
|
||||||
begin
|
begin
|
||||||
FPosX := APosX;
|
FPosX := APosX;
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
FText := AText;
|
FText := AText;
|
||||||
|
{$IFDEF SynUndoDebug}debugln(['--- Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTxtDelete.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTxtDelete.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringList;
|
Result := Caller is TSynEditStringList;
|
||||||
|
{$IFDEF SynUndoDebug}if Result then debugln(['--- Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
if Result then
|
if Result then
|
||||||
TSynEditStringList(Caller).EditInsert(FPosX, FPosY, FText);
|
TSynEditStringList(Caller).EditInsert(FPosX, FPosY, FText);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTxtLineBreak }
|
{ TSynEditUndoTxtLineBreak }
|
||||||
|
function TSynEditUndoTxtLineBreak.DebugString: String;
|
||||||
|
begin
|
||||||
|
Result := ' Y='+ dbgs(FPosY);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TSynEditUndoTxtLineBreak.Create(APosY: Integer);
|
constructor TSynEditUndoTxtLineBreak.Create(APosY: Integer);
|
||||||
begin
|
begin
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
|
{$IFDEF SynUndoDebug}debugln(['--- Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTxtLineBreak.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTxtLineBreak.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringList;
|
Result := Caller is TSynEditStringList;
|
||||||
|
{$IFDEF SynUndoDebug}if Result then debugln(['--- Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
if Result then
|
if Result then
|
||||||
TSynEditStringList(Caller).EditLineJoin(FPosY)
|
TSynEditStringList(Caller).EditLineJoin(FPosY)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTxtLineJoin }
|
{ TSynEditUndoTxtLineJoin }
|
||||||
|
function TSynEditUndoTxtLineJoin.DebugString: String;
|
||||||
|
begin
|
||||||
|
Result := 'X='+dbgs(FPosX) + ' Y='+ dbgs(FPosY);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TSynEditUndoTxtLineJoin.Create(APosX, APosY: Integer);
|
constructor TSynEditUndoTxtLineJoin.Create(APosX, APosY: Integer);
|
||||||
begin
|
begin
|
||||||
FPosX := APosX;
|
FPosX := APosX;
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
|
{$IFDEF SynUndoDebug}debugln(['--- Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTxtLineJoin.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTxtLineJoin.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringList;
|
Result := Caller is TSynEditStringList;
|
||||||
|
{$IFDEF SynUndoDebug}if Result then debugln(['--- Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
if Result then
|
if Result then
|
||||||
TSynEditStringList(Caller).EditLineBreak(FPosX, FPosY)
|
TSynEditStringList(Caller).EditLineBreak(FPosX, FPosY)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTxtLinesIns }
|
{ TSynEditUndoTxtLinesIns }
|
||||||
|
function TSynEditUndoTxtLinesIns.DebugString: String;
|
||||||
|
begin
|
||||||
|
Result := 'Y='+dbgs(FPosY) + ' Cnt='+ dbgs(FCount);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TSynEditUndoTxtLinesIns.Create(ALine, ACount: Integer);
|
constructor TSynEditUndoTxtLinesIns.Create(ALine, ACount: Integer);
|
||||||
begin
|
begin
|
||||||
FPosY := ALine;
|
FPosY := ALine;
|
||||||
FCount := ACount;
|
FCount := ACount;
|
||||||
|
{$IFDEF SynUndoDebug}debugln(['--- Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTxtLinesIns.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTxtLinesIns.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringList;
|
Result := Caller is TSynEditStringList;
|
||||||
|
{$IFDEF SynUndoDebug}if Result then debugln(['--- Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
if Result then
|
if Result then
|
||||||
TSynEditStringList(Caller).UndoEditLinesDelete(FPosY, FCount)
|
TSynEditStringList(Caller).UndoEditLinesDelete(FPosY, FCount)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTxtLinesDel }
|
{ TSynEditUndoTxtLinesDel }
|
||||||
|
function TSynEditUndoTxtLinesDel.DebugString: String;
|
||||||
|
begin
|
||||||
|
Result := 'Y='+dbgs(FPosY) + ' Cnt='+ dbgs(FCount);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TSynEditUndoTxtLinesDel.Create(ALine, ACount: Integer);
|
constructor TSynEditUndoTxtLinesDel.Create(ALine, ACount: Integer);
|
||||||
begin
|
begin
|
||||||
FPosY := ALine;
|
FPosY := ALine;
|
||||||
FCount := ACount;
|
FCount := ACount;
|
||||||
|
{$IFDEF SynUndoDebug}debugln(['--- Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTxtLinesDel.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTxtLinesDel.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringList;
|
Result := Caller is TSynEditStringList;
|
||||||
|
{$IFDEF SynUndoDebug}if Result then debugln(['--- Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
if Result then
|
if Result then
|
||||||
TSynEditStringList(Caller).EditLinesInsert(FPosY, FCount)
|
TSynEditStringList(Caller).EditLinesInsert(FPosY, FCount)
|
||||||
end;
|
end;
|
||||||
|
@ -110,6 +110,10 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
{off $Define SynTrimUndoDebug}
|
||||||
|
{off $Define SynTrimDebug}
|
||||||
|
{$IFDEF SynUndoDebug}{$Define SynTrimUndoDebug}{$ENDIF}
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TSynEditUndoTrimMoveTo }
|
{ TSynEditUndoTrimMoveTo }
|
||||||
@ -185,17 +189,20 @@ constructor TSynEditUndoTrimMoveTo.Create(APosY, ALen: Integer);
|
|||||||
begin
|
begin
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
FLen := ALen;
|
FLen := ALen;
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTrimMoveTo.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTrimMoveTo.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringTrimmingList;
|
Result := Caller is TSynEditStringTrimmingList;
|
||||||
if Result then
|
if Result then begin
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
with TSynEditStringTrimmingList(Caller) do begin
|
with TSynEditStringTrimmingList(Caller) do begin
|
||||||
EditMoveFromTrim(FPosY, FLen);
|
EditMoveFromTrim(FPosY, FLen);
|
||||||
SendNotification(senrLineChange, TSynEditStringTrimmingList(Caller),
|
SendNotification(senrLineChange, TSynEditStringTrimmingList(Caller),
|
||||||
FPosY - 1, 1);
|
FPosY - 1, 1);
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTrimMoveFrom }
|
{ TSynEditUndoTrimMoveFrom }
|
||||||
@ -209,17 +216,20 @@ constructor TSynEditUndoTrimMoveFrom.Create(APosY, ALen: Integer);
|
|||||||
begin
|
begin
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
FLen := ALen;
|
FLen := ALen;
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTrimMoveFrom.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTrimMoveFrom.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringTrimmingList;
|
Result := Caller is TSynEditStringTrimmingList;
|
||||||
if Result then
|
if Result then begin
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
with TSynEditStringTrimmingList(Caller) do begin
|
with TSynEditStringTrimmingList(Caller) do begin
|
||||||
EditMoveToTrim(FPosY, FLen);
|
EditMoveToTrim(FPosY, FLen);
|
||||||
SendNotification(senrLineChange, TSynEditStringTrimmingList(Caller),
|
SendNotification(senrLineChange, TSynEditStringTrimmingList(Caller),
|
||||||
FPosY - 1, 1);
|
FPosY - 1, 1);
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTrimInsert }
|
{ TSynEditUndoTrimInsert }
|
||||||
@ -234,12 +244,14 @@ begin
|
|||||||
FPosX := APosX;
|
FPosX := APosX;
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
FLen := ALen;
|
FLen := ALen;
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTrimInsert.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTrimInsert.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringTrimmingList;
|
Result := Caller is TSynEditStringTrimmingList;
|
||||||
if Result then
|
if Result then begin
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
with TSynEditStringTrimmingList(Caller) do begin
|
with TSynEditStringTrimmingList(Caller) do begin
|
||||||
EditDeleteTrim(FPosX, FPosY, FLen);
|
EditDeleteTrim(FPosX, FPosY, FLen);
|
||||||
SendNotification(senrLineChange, TSynEditStringTrimmingList(Caller),
|
SendNotification(senrLineChange, TSynEditStringTrimmingList(Caller),
|
||||||
@ -247,6 +259,7 @@ begin
|
|||||||
SendNotification(senrEditAction, TSynEditStringTrimmingList(Caller),
|
SendNotification(senrEditAction, TSynEditStringTrimmingList(Caller),
|
||||||
FPosY, 0, length(fSynStrings[FPosY-1]) + FPosX - 1, -FLen, '');
|
FPosY, 0, length(fSynStrings[FPosY-1]) + FPosX - 1, -FLen, '');
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTrimDelete }
|
{ TSynEditUndoTrimDelete }
|
||||||
@ -261,12 +274,14 @@ begin
|
|||||||
FPosX := APosX;
|
FPosX := APosX;
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
FText := AText;
|
FText := AText;
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTrimDelete.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTrimDelete.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringTrimmingList;
|
Result := Caller is TSynEditStringTrimmingList;
|
||||||
if Result then
|
if Result then begin
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
with TSynEditStringTrimmingList(Caller) do begin
|
with TSynEditStringTrimmingList(Caller) do begin
|
||||||
EditInsertTrim(FPosX, FPosY, FText);
|
EditInsertTrim(FPosX, FPosY, FText);
|
||||||
SendNotification(senrLineChange, TSynEditStringTrimmingList(Caller),
|
SendNotification(senrLineChange, TSynEditStringTrimmingList(Caller),
|
||||||
@ -274,6 +289,7 @@ begin
|
|||||||
SendNotification(senrEditAction, TSynEditStringTrimmingList(Caller),
|
SendNotification(senrEditAction, TSynEditStringTrimmingList(Caller),
|
||||||
FPosY, 0, length(fSynStrings[FPosY-1]) + FPosX - 1, length(FText), FText);
|
FPosY, 0, length(fSynStrings[FPosY-1]) + FPosX - 1, length(FText), FText);
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSynEditUndoTrimForget }
|
{ TSynEditUndoTrimForget }
|
||||||
@ -287,12 +303,14 @@ constructor TSynEditUndoTrimForget.Create(APosY: Integer; AText: String);
|
|||||||
begin
|
begin
|
||||||
FPosY := APosY;
|
FPosY := APosY;
|
||||||
FText := AText;
|
FText := AText;
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Insert ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynEditUndoTrimForget.PerformUndo(Caller: TObject): Boolean;
|
function TSynEditUndoTrimForget.PerformUndo(Caller: TObject): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := Caller is TSynEditStringTrimmingList;
|
Result := Caller is TSynEditStringTrimmingList;
|
||||||
if Result then
|
if Result then begin
|
||||||
|
{$IFDEF SynTrimUndoDebug}debugln(['--- Trimmer Undo Perform ',DbgSName(self),dbgs(Self), ' - ', DebugString]);{$ENDIF}
|
||||||
with TSynEditStringTrimmingList(Caller) do begin
|
with TSynEditStringTrimmingList(Caller) do begin
|
||||||
CurUndoList.Lock;
|
CurUndoList.Lock;
|
||||||
EditInsertTrim(1, FPosY, FText);
|
EditInsertTrim(1, FPosY, FText);
|
||||||
@ -302,6 +320,7 @@ begin
|
|||||||
SendNotification(senrEditAction, TSynEditStringTrimmingList(Caller),
|
SendNotification(senrEditAction, TSynEditStringTrimmingList(Caller),
|
||||||
FPosY, 0, length(fSynStrings[FPosY-1]), length(FText), FText);
|
FPosY, 0, length(fSynStrings[FPosY-1]), length(FText), FText);
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -355,6 +374,7 @@ begin
|
|||||||
((FTrimType in [settEditLine]) and not FLineEdited) ))
|
((FTrimType in [settEditLine]) and not FLineEdited) ))
|
||||||
then begin
|
then begin
|
||||||
if (fLineIndex <> TSynEditCaret(Sender).LinePos - 1) then begin
|
if (fLineIndex <> TSynEditCaret(Sender).LinePos - 1) then begin
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CarteChnaged - Clearing 1 ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||||
fLineIndex := TSynEditCaret(Sender).LinePos - 1;
|
fLineIndex := TSynEditCaret(Sender).LinePos - 1;
|
||||||
fSpaces := '';
|
fSpaces := '';
|
||||||
end;
|
end;
|
||||||
@ -366,6 +386,7 @@ begin
|
|||||||
if (fLineIndex <> TSynEditCaret(Sender).LinePos - 1) or
|
if (fLineIndex <> TSynEditCaret(Sender).LinePos - 1) or
|
||||||
(FTrimType = settIgnoreAll) then
|
(FTrimType = settIgnoreAll) then
|
||||||
begin
|
begin
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CarteChnaged - Trimming,clear 1 ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||||
CurUndoList.AppendToLastChange(TSynEditUndoTrimForget.Create(FLineIndex+1, FSpaces));
|
CurUndoList.AppendToLastChange(TSynEditUndoTrimForget.Create(FLineIndex+1, FSpaces));
|
||||||
i := length(FSpaces);
|
i := length(FSpaces);
|
||||||
fSpaces := '';
|
fSpaces := '';
|
||||||
@ -380,6 +401,7 @@ begin
|
|||||||
else
|
else
|
||||||
j := i - length(s) - 1;
|
j := i - length(s) - 1;
|
||||||
s := copy(FSpaces, j + 1, MaxInt);
|
s := copy(FSpaces, j + 1, MaxInt);
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- CarteChnaged - Trimming,part to ',length(s),' ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), 'newCaretYPos=',TSynEditCaret(Sender).LinePos]);{$ENDIF}
|
||||||
FSpaces := copy(FSpaces, 1, j);
|
FSpaces := copy(FSpaces, 1, j);
|
||||||
i := length(s);
|
i := length(s);
|
||||||
CurUndoList.AppendToLastChange(TSynEditUndoTrimForget.Create(FLineIndex+1, s));
|
CurUndoList.AppendToLastChange(TSynEditUndoTrimForget.Create(FLineIndex+1, s));
|
||||||
@ -393,6 +415,7 @@ end;
|
|||||||
|
|
||||||
procedure TSynEditStringTrimmingList.ListCleared(Sender: TObject);
|
procedure TSynEditStringTrimmingList.ListCleared(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- LIST CLEARED ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces) ]);{$ENDIF}
|
||||||
fLockList.Clear;
|
fLockList.Clear;
|
||||||
fLineIndex:= -1;
|
fLineIndex:= -1;
|
||||||
fSpaces := '';
|
fSpaces := '';
|
||||||
@ -420,6 +443,7 @@ var
|
|||||||
begin
|
begin
|
||||||
if (not fEnabled) then exit;
|
if (not fEnabled) then exit;
|
||||||
if fLockCount > 0 then begin
|
if fLockCount > 0 then begin
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- Lines Changed (ins/del) locked ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces) ]);{$ENDIF}
|
||||||
for i := fLockList.Count-1 downto 0 do begin
|
for i := fLockList.Count-1 downto 0 do begin
|
||||||
j := Integer(Pointer(fLockList.Objects[i]));
|
j := Integer(Pointer(fLockList.Objects[i]));
|
||||||
if (j >= Index) and (j < Index - N) then
|
if (j >= Index) and (j < Index - N) then
|
||||||
@ -428,6 +452,7 @@ begin
|
|||||||
fLockList.Objects[i] := TObject(Pointer(j + N));
|
fLockList.Objects[i] := TObject(Pointer(j + N));
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- Lines Changed (ins/del) not locked ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces) ]);{$ENDIF}
|
||||||
if (fLineIndex >= Index) and (fLineIndex < Index - N) then
|
if (fLineIndex >= Index) and (fLineIndex < Index - N) then
|
||||||
fLineIndex:=-1
|
fLineIndex:=-1
|
||||||
else if fLineIndex > Index then
|
else if fLineIndex > Index then
|
||||||
@ -464,6 +489,7 @@ var
|
|||||||
temp: String;
|
temp: String;
|
||||||
begin
|
begin
|
||||||
if (not fEnabled) then exit(s);
|
if (not fEnabled) then exit(s);
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- TrimLine ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' RealUndo=', RealUndo ]);{$ENDIF}
|
||||||
if RealUndo then begin
|
if RealUndo then begin
|
||||||
temp := fSynStrings.Strings[Index];
|
temp := fSynStrings.Strings[Index];
|
||||||
l := length(temp);
|
l := length(temp);
|
||||||
@ -489,6 +515,7 @@ procedure TSynEditStringTrimmingList.StoreSpacesForLine(const Index: Integer; co
|
|||||||
var
|
var
|
||||||
i: LongInt;
|
i: LongInt;
|
||||||
begin
|
begin
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- StoreSpacesforLine ', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' Index=', Index, ' Spacestr=',length(SpaceStr), ' LineStr=',length(LineStr), ' fLockCount=',fLockCount]);{$ENDIF}
|
||||||
if fLockCount > 0 then begin
|
if fLockCount > 0 then begin
|
||||||
i := fLockList.IndexOfObject(TObject(pointer(Index)));
|
i := fLockList.IndexOfObject(TObject(pointer(Index)));
|
||||||
if i < 0 then
|
if i < 0 then
|
||||||
@ -513,6 +540,7 @@ begin
|
|||||||
result := ''
|
result := ''
|
||||||
else
|
else
|
||||||
result := fLockList[i];
|
result := fLockList[i];
|
||||||
|
//{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- Spaces (for line / locked)', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' Index=', Index, ' Result=',length(Result)]);{$ENDIF}
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
if Index <> fLineIndex then exit('');
|
if Index <> fLineIndex then exit('');
|
||||||
@ -522,6 +550,7 @@ begin
|
|||||||
fLineText:='';
|
fLineText:='';
|
||||||
end;
|
end;
|
||||||
Result:= fSpaces;
|
Result:= fSpaces;
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- Spaces (for line / not locked)', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' Index=', Index, ' Result=',length(Result)]);{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSynEditStringTrimmingList.Lock;
|
procedure TSynEditStringTrimmingList.Lock;
|
||||||
@ -546,6 +575,7 @@ var
|
|||||||
begin
|
begin
|
||||||
if (not fEnabled) then exit;
|
if (not fEnabled) then exit;
|
||||||
FIsTrimming := True;
|
FIsTrimming := True;
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- TrimAfterLock', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' Index=', Index, ' LockList=',fLockList.CommaText]);{$ENDIF}
|
||||||
i := fLockList.IndexOfObject(TObject(Pointer(fLineIndex)));
|
i := fLockList.IndexOfObject(TObject(Pointer(fLineIndex)));
|
||||||
if i >= 0 then begin
|
if i >= 0 then begin
|
||||||
fSpaces:= fLockList[i];
|
fSpaces:= fLockList[i];
|
||||||
@ -695,6 +725,7 @@ var
|
|||||||
begin
|
begin
|
||||||
if (AText = '') or (FTrimType = settIgnoreAll) then
|
if (AText = '') or (FTrimType = settIgnoreAll) then
|
||||||
exit;
|
exit;
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- EditInsertTrim', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' X=', LogX, ' Y=',LogY, ' text=',length(AText)]);{$ENDIF}
|
||||||
s := Spaces(LogY - 1);
|
s := Spaces(LogY - 1);
|
||||||
StoreSpacesForLine(LogY - 1,
|
StoreSpacesForLine(LogY - 1,
|
||||||
copy(s,1, LogX - 1) + AText + copy(s, LogX, length(s)),
|
copy(s,1, LogX - 1) + AText + copy(s, LogX, length(s)),
|
||||||
@ -709,6 +740,7 @@ var
|
|||||||
begin
|
begin
|
||||||
if (ByteLen <= 0) or (FTrimType = settIgnoreAll) then
|
if (ByteLen <= 0) or (FTrimType = settIgnoreAll) then
|
||||||
exit('');
|
exit('');
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- EditDeleteTrim()', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' X=', LogX, ' Y=',LogY, ' ByteLen=',ByteLen]);{$ENDIF}
|
||||||
s := Spaces(LogY - 1);
|
s := Spaces(LogY - 1);
|
||||||
Result := copy(s, LogX, ByteLen);
|
Result := copy(s, LogX, ByteLen);
|
||||||
StoreSpacesForLine(LogY - 1,
|
StoreSpacesForLine(LogY - 1,
|
||||||
@ -724,6 +756,7 @@ var
|
|||||||
begin
|
begin
|
||||||
if Len <= 0 then
|
if Len <= 0 then
|
||||||
exit;
|
exit;
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- EditMoveToTrim()', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' Y=',LogY, ' len=',Len]);{$ENDIF}
|
||||||
t := fSynStrings[LogY - 1];
|
t := fSynStrings[LogY - 1];
|
||||||
s := copy(t, 1 + length(t) - Len, Len) + Spaces(LogY - 1);
|
s := copy(t, 1 + length(t) - Len, Len) + Spaces(LogY - 1);
|
||||||
t := copy(t, 1, length(t) - Len);
|
t := copy(t, 1, length(t) - Len);
|
||||||
@ -738,6 +771,7 @@ var
|
|||||||
begin
|
begin
|
||||||
if Len <= 0 then
|
if Len <= 0 then
|
||||||
exit;
|
exit;
|
||||||
|
{$IFDEF SynTrimDebug}debugln(['--- Trimmer -- EditMoveFromTrim()', ' fLineIndex=', fLineIndex, ' fSpaces=',length(fSpaces), ' Y=',LogY, ' len=',Len]);{$ENDIF}
|
||||||
s := Spaces(LogY - 1);
|
s := Spaces(LogY - 1);
|
||||||
t := fSynStrings[LogY - 1] + copy(s, 1, Len);
|
t := fSynStrings[LogY - 1] + copy(s, 1, Len);
|
||||||
s := copy(s, 1 + Len, Len);
|
s := copy(s, 1 + Len, Len);
|
||||||
|
Loading…
Reference in New Issue
Block a user