improved IDE source pos jumping when not eoScrollPastEOL

git-svn-id: trunk@8972 -
This commit is contained in:
mattias 2006-03-21 14:17:22 +00:00
parent ca0d0923ed
commit 072dc71ff5
2 changed files with 7 additions and 1 deletions

View File

@ -765,6 +765,7 @@ type
PhysicalPos, StartBytePos, StartPhysicalPos: integer): integer;
procedure MoveCaretToVisibleArea;
procedure MoveCaretIgnoreEOL(const NewCaret: TPoint);
procedure MoveLogicalCaretIgnoreEOL(const NewLogCaret: TPoint);
function NextTokenPos: TPoint; virtual;
{$ELSE}
function LogicalToPhysicalPos(p: TPoint): TPoint;
@ -5550,6 +5551,11 @@ begin
DecPaintLock;
end;
end;
procedure TCustomSynEdit.MoveLogicalCaretIgnoreEOL(const NewLogCaret: TPoint);
begin
MoveCaretIgnoreEOL(LogicalToPhysicalPos(NewLogCaret));
end;
{$ENDIF}
procedure TCustomSynEdit.UpdateCaret;

View File

@ -10666,7 +10666,7 @@ begin
NewTopLine:=Max(1,NewY-(NewSrcEdit.EditorComponent.LinesInWindow div 2));
//writeln('[TMainIDE.DoJumpToCodePos] ',NewX,',',NewY,',',NewTopLine);
with NewSrcEdit.EditorComponent do begin
LogicalCaretXY:=Point(NewX,NewY);
MoveLogicalCaretIgnoreEOL(Point(NewX,NewY));
BlockBegin:=LogicalCaretXY;
BlockEnd:=BlockBegin;
TopLine:=NewTopLine;