mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 21:19:24 +02:00
IDE, SourceEditor: clean-up / redirect notebook access through new accessors
git-svn-id: trunk@22571 -
This commit is contained in:
parent
d690f24e16
commit
beee4cb71e
@ -668,12 +668,12 @@ type
|
|||||||
procedure NextEditor;
|
procedure NextEditor;
|
||||||
procedure PrevEditor;
|
procedure PrevEditor;
|
||||||
procedure MoveEditor(OldPageIndex, NewPageIndex: integer);
|
procedure MoveEditor(OldPageIndex, NewPageIndex: integer);
|
||||||
procedure MoveEditorLeft(PageIndex: integer);
|
procedure MoveEditorLeft(CurrentPageIndex: integer);
|
||||||
procedure MoveEditorRight(PageIndex: integer);
|
procedure MoveEditorRight(CurrentPageIndex: integer);
|
||||||
procedure MoveActivePageLeft;
|
procedure MoveActivePageLeft;
|
||||||
procedure MoveActivePageRight;
|
procedure MoveActivePageRight;
|
||||||
procedure MoveEditorFirst(PageIndex: integer);
|
procedure MoveEditorFirst(CurrentPageIndex: integer);
|
||||||
procedure MoveEditorLast(PageIndex: integer);
|
procedure MoveEditorLast(CurrentPageIndex: integer);
|
||||||
procedure MoveActivePageFirst;
|
procedure MoveActivePageFirst;
|
||||||
procedure MoveActivePageLast;
|
procedure MoveActivePageLast;
|
||||||
procedure ProcessParentCommand(Sender: TObject;
|
procedure ProcessParentCommand(Sender: TObject;
|
||||||
@ -715,7 +715,7 @@ type
|
|||||||
function Count: integer; override;
|
function Count: integer; override;
|
||||||
function Empty: boolean;
|
function Empty: boolean;
|
||||||
|
|
||||||
function FindSourceEditorWithPageIndex(PageIndex:integer):TSourceEditor;
|
function FindSourceEditorWithPageIndex(APageIndex:integer):TSourceEditor;
|
||||||
function FindPageWithEditor(ASourceEditor: TSourceEditor):integer;
|
function FindPageWithEditor(ASourceEditor: TSourceEditor):integer;
|
||||||
function FindSourceEditorWithEditorComponent(
|
function FindSourceEditorWithEditorComponent(
|
||||||
EditorComp: TComponent): TSourceEditor;
|
EditorComp: TComponent): TSourceEditor;
|
||||||
@ -729,7 +729,7 @@ type
|
|||||||
procedure LockAllEditorsInSourceChangeCache;
|
procedure LockAllEditorsInSourceChangeCache;
|
||||||
procedure UnlockAllEditorsInSourceChangeCache;
|
procedure UnlockAllEditorsInSourceChangeCache;
|
||||||
function GetDiffFiles: TDiffFiles;
|
function GetDiffFiles: TDiffFiles;
|
||||||
procedure GetSourceText(PageIndex: integer; OnlySelection: boolean;
|
procedure GetSourceText(APageIndex: integer; OnlySelection: boolean;
|
||||||
var Source: string);
|
var Source: string);
|
||||||
|
|
||||||
function ActiveFileName: AnsiString;
|
function ActiveFileName: AnsiString;
|
||||||
@ -795,7 +795,7 @@ type
|
|||||||
// new, close, focus
|
// new, close, focus
|
||||||
function NewFile(const NewShortName: String; ASource: TCodeBuffer;
|
function NewFile(const NewShortName: String; ASource: TCodeBuffer;
|
||||||
FocusIt: boolean): TSourceEditor;
|
FocusIt: boolean): TSourceEditor;
|
||||||
procedure CloseFile(PageIndex:integer);
|
procedure CloseFile(APageIndex:integer);
|
||||||
procedure FocusEditor;
|
procedure FocusEditor;
|
||||||
|
|
||||||
// paste and copy
|
// paste and copy
|
||||||
@ -4531,15 +4531,15 @@ begin
|
|||||||
|
|
||||||
// editor layout
|
// editor layout
|
||||||
SrcEditMenuMoveEditorLeft.MenuItem.Enabled:=
|
SrcEditMenuMoveEditorLeft.MenuItem.Enabled:=
|
||||||
(NoteBook<>nil) and (NoteBook.PageCount>1);
|
(NoteBook<>nil) and (PageCount>1);
|
||||||
SrcEditMenuMoveEditorRight.MenuItem.Enabled:=
|
SrcEditMenuMoveEditorRight.MenuItem.Enabled:=
|
||||||
(NoteBook<>nil) and (NoteBook.PageCount>1);
|
(NoteBook<>nil) and (PageCount>1);
|
||||||
SrcEditMenuMoveEditorFirst.MenuItem.Enabled:=
|
SrcEditMenuMoveEditorFirst.MenuItem.Enabled:=
|
||||||
(NoteBook<>nil) and (NoteBook.PageCount>1)
|
(NoteBook<>nil) and (PageCount>1)
|
||||||
and (NoteBook.PageIndex>0);
|
and (PageIndex>0);
|
||||||
SrcEditMenuMoveEditorLast.MenuItem.Enabled:=
|
SrcEditMenuMoveEditorLast.MenuItem.Enabled:=
|
||||||
(NoteBook<>nil) and (NoteBook.PageCount>1)
|
(NoteBook<>nil) and (PageCount>1)
|
||||||
and (NoteBook.PageIndex<(NoteBook.PageCount-1));
|
and (PageIndex<(PageCount-1));
|
||||||
|
|
||||||
EditorPopupPoint:=EditorComp.ScreenToClient(SrcPopUpMenu.PopupPoint);
|
EditorPopupPoint:=EditorComp.ScreenToClient(SrcPopUpMenu.PopupPoint);
|
||||||
if EditorPopupPoint.X>EditorComp.GutterWidth then begin
|
if EditorPopupPoint.X>EditorComp.GutterWidth then begin
|
||||||
@ -4928,18 +4928,18 @@ begin
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
if Pagenum < 0 then begin
|
if Pagenum < 0 then begin
|
||||||
// add a new page right to the current
|
// add a new page right to the current
|
||||||
Pagenum := Notebook.PageIndex+1;
|
Pagenum := PageIndex+1;
|
||||||
Notebook.Pages.Insert(PageNum,FindUniquePageName('',-1));
|
Notebook.Pages.Insert(PageNum,FindUniquePageName('',-1));
|
||||||
end;
|
end;
|
||||||
{$IFDEF IDE_DEBUG}
|
{$IFDEF IDE_DEBUG}
|
||||||
writeln('TSourceNotebook.NewSE B ',Notebook.PageIndex,',',NoteBook.Pages.Count);
|
writeln('TSourceNotebook.NewSE B ', PageIndex,',',NoteBook.Pages.Count);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Result := TSourceEditor.Create(Self,Notebook.Page[PageNum]);
|
Result := TSourceEditor.Create(Self,Notebook.Page[PageNum]);
|
||||||
Result.EditorComponent.BeginUpdate;
|
Result.EditorComponent.BeginUpdate;
|
||||||
FSourceEditorList.Add(Result);
|
FSourceEditorList.Add(Result);
|
||||||
Result.CodeTemplates:=CodeTemplateModul;
|
Result.CodeTemplates:=CodeTemplateModul;
|
||||||
if SwitchToTab then
|
if SwitchToTab then
|
||||||
Notebook.PageIndex := Pagenum;
|
PageIndex := Pagenum;
|
||||||
//debugln(['TSourceNotebook.NewSE C GetActiveSE=Result=',GetActiveSE=Result]);
|
//debugln(['TSourceNotebook.NewSE C GetActiveSE=Result=',GetActiveSE=Result]);
|
||||||
Result.FPageName:=NoteBook.Pages[Pagenum];
|
Result.FPageName:=NoteBook.Pages[Pagenum];
|
||||||
Result.EditorComponent.BookMarkOptions.BookmarkImages := SourceEditorMarks.ImgList;
|
Result.EditorComponent.BookMarkOptions.BookmarkImages := SourceEditorMarks.ImgList;
|
||||||
@ -4961,16 +4961,15 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function TSourceNotebook.FindSourceEditorWithPageIndex(
|
function TSourceNotebook.FindSourceEditorWithPageIndex(
|
||||||
PageIndex: integer): TSourceEditor;
|
APageIndex: integer): TSourceEditor;
|
||||||
var I: integer;
|
var I: integer;
|
||||||
TempEditor: TControl;
|
TempEditor: TControl;
|
||||||
begin
|
begin
|
||||||
Result := nil;
|
Result := nil;
|
||||||
if (FSourceEditorList=nil)
|
if (FSourceEditorList=nil)
|
||||||
or (Notebook=nil)
|
or (APageIndex < 0) or (APageIndex >= PageCount) then exit;
|
||||||
or (PageIndex<0) or (PageIndex>=Notebook.PageCount) then exit;
|
|
||||||
TempEditor:=nil;
|
TempEditor:=nil;
|
||||||
with Notebook.Page[PageIndex] do
|
with Notebook.Page[APageIndex] do
|
||||||
for I := 0 to ControlCount-1 do
|
for I := 0 to ControlCount-1 do
|
||||||
if Controls[I] is TSynEdit then
|
if Controls[I] is TSynEdit then
|
||||||
Begin
|
Begin
|
||||||
@ -4990,8 +4989,8 @@ Function TSourceNotebook.GetActiveSE: TSourceEditor;
|
|||||||
Begin
|
Begin
|
||||||
Result := nil;
|
Result := nil;
|
||||||
if (FSourceEditorList=nil) or (FSourceEditorList.Count=0)
|
if (FSourceEditorList=nil) or (FSourceEditorList.Count=0)
|
||||||
or (Notebook=nil) or (Notebook.PageIndex<0) then exit;
|
or (Notebook=nil) or (PageIndex<0) then exit;
|
||||||
Result:=FindSourceEditorWithPageIndex(Notebook.PageIndex);
|
Result:=FindSourceEditorWithPageIndex(PageIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.SetActiveSE(SrcEdit: TSourceEditor);
|
procedure TSourceNotebook.SetActiveSE(SrcEdit: TSourceEditor);
|
||||||
@ -5000,7 +4999,7 @@ var
|
|||||||
begin
|
begin
|
||||||
i:=FindPageWithEditor(SrcEdit);
|
i:=FindPageWithEditor(SrcEdit);
|
||||||
if i>=0 then
|
if i>=0 then
|
||||||
NoteBook.PageIndex:=i;
|
PageIndex:=i;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSourceNotebook.GetActiveEditor: TSourceEditorInterface;
|
function TSourceNotebook.GetActiveEditor: TSourceEditorInterface;
|
||||||
@ -5063,18 +5062,18 @@ var
|
|||||||
begin
|
begin
|
||||||
Result:=TDiffFiles.Create;
|
Result:=TDiffFiles.Create;
|
||||||
if Notebook=nil then exit;
|
if Notebook=nil then exit;
|
||||||
for i:=0 to NoteBook.PageCount-1 do begin
|
for i:=0 to PageCount-1 do begin
|
||||||
SrcEdit:=FindSourceEditorWithPageIndex(i);
|
SrcEdit:=FindSourceEditorWithPageIndex(i);
|
||||||
Result.Add(TDiffFile.Create(NoteBook.Pages[i],i,SrcEdit.SelectionAvailable));
|
Result.Add(TDiffFile.Create(NoteBook.Pages[i],i,SrcEdit.SelectionAvailable));
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.GetSourceText(PageIndex: integer;
|
procedure TSourceNotebook.GetSourceText(APageIndex: integer;
|
||||||
OnlySelection: boolean; var Source: string);
|
OnlySelection: boolean; var Source: string);
|
||||||
var
|
var
|
||||||
SrcEdit: TSourceEditor;
|
SrcEdit: TSourceEditor;
|
||||||
begin
|
begin
|
||||||
SrcEdit:=FindSourceEditorWithPageIndex(PageIndex);
|
SrcEdit:=FindSourceEditorWithPageIndex(APageIndex);
|
||||||
if SrcEdit=nil then
|
if SrcEdit=nil then
|
||||||
Source:=''
|
Source:=''
|
||||||
else
|
else
|
||||||
@ -5083,7 +5082,7 @@ end;
|
|||||||
|
|
||||||
Function TSourceNotebook.Empty: Boolean;
|
Function TSourceNotebook.Empty: Boolean;
|
||||||
Begin
|
Begin
|
||||||
Result := (not assigned(Notebook)) or (Notebook.PageCount = 0);
|
Result := (not assigned(Notebook)) or (PageCount = 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.FindReplaceDlgKey(Sender: TObject; var Key: Word;
|
procedure TSourceNotebook.FindReplaceDlgKey(Sender: TObject; var Key: Word;
|
||||||
@ -5248,86 +5247,86 @@ end;
|
|||||||
Procedure TSourceNotebook.NextEditor;
|
Procedure TSourceNotebook.NextEditor;
|
||||||
Begin
|
Begin
|
||||||
if NoteBook=nil then exit;
|
if NoteBook=nil then exit;
|
||||||
if Notebook.PageIndex < Notebook.PageCount-1 then
|
if PageIndex < PageCount-1 then
|
||||||
Notebook.PageIndex := Notebook.PageIndex+1
|
PageIndex := PageIndex+1
|
||||||
else
|
else
|
||||||
NoteBook.PageIndex := 0;
|
PageIndex := 0;
|
||||||
NotebookPageChanged(Self);
|
NotebookPageChanged(Self);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TSourceNotebook.PrevEditor;
|
Procedure TSourceNotebook.PrevEditor;
|
||||||
Begin
|
Begin
|
||||||
if NoteBook=nil then exit;
|
if NoteBook=nil then exit;
|
||||||
if Notebook.PageIndex > 0 then
|
if PageIndex > 0 then
|
||||||
Notebook.PageIndex := Notebook.PageIndex-1
|
PageIndex := PageIndex-1
|
||||||
else
|
else
|
||||||
NoteBook.PageIndex := NoteBook.PageCount-1;
|
PageIndex := PageCount-1;
|
||||||
NotebookPageChanged(Self);
|
NotebookPageChanged(Self);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveEditor(OldPageIndex, NewPageIndex: integer);
|
procedure TSourceNotebook.MoveEditor(OldPageIndex, NewPageIndex: integer);
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) or (NoteBook.PageCount<=1)
|
if (NoteBook=nil) or (PageCount<=1)
|
||||||
or (OldPageIndex=NewPageIndex)
|
or (OldPageIndex=NewPageIndex)
|
||||||
or (OldPageIndex<0) or (OldPageIndex>=Notebook.PageCount)
|
or (OldPageIndex<0) or (OldPageIndex>=PageCount)
|
||||||
or (NewPageIndex<0) or (NewPageIndex>=Notebook.PageCount) then exit;
|
or (NewPageIndex<0) or (NewPageIndex>=PageCount) then exit;
|
||||||
if Assigned(OnMovingPage) then
|
if Assigned(OnMovingPage) then
|
||||||
OnMovingPage(Self,OldPageIndex,NewPageIndex);
|
OnMovingPage(Self,OldPageIndex,NewPageIndex);
|
||||||
NoteBook.Pages.Move(OldPageIndex,NewPageIndex);
|
NoteBook.Pages.Move(OldPageIndex,NewPageIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveEditorLeft(PageIndex: integer);
|
procedure TSourceNotebook.MoveEditorLeft(CurrentPageIndex: integer);
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) or (NoteBook.PageCount<=1) then exit;
|
if (PageCount<=1) then exit;
|
||||||
if PageIndex>0 then
|
if CurrentPageIndex>0 then
|
||||||
MoveEditor(PageIndex,PageIndex-1)
|
MoveEditor(CurrentPageIndex, CurrentPageIndex-1)
|
||||||
else
|
else
|
||||||
MoveEditor(PageIndex,NoteBook.PageCount-1);
|
MoveEditor(CurrentPageIndex, PageCount-1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveEditorRight(PageIndex: integer);
|
procedure TSourceNotebook.MoveEditorRight(CurrentPageIndex: integer);
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) or (NoteBook.PageCount<=1) then exit;
|
if (PageCount<=1) then exit;
|
||||||
if PageIndex<Notebook.PageCount-1 then
|
if CurrentPageIndex < PageCount-1 then
|
||||||
MoveEditor(PageIndex,PageIndex+1)
|
MoveEditor(CurrentPageIndex, CurrentPageIndex+1)
|
||||||
else
|
else
|
||||||
MoveEditor(PageIndex,0);
|
MoveEditor(CurrentPageIndex, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveEditorFirst(PageIndex: integer);
|
procedure TSourceNotebook.MoveEditorFirst(CurrentPageIndex: integer);
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) or (NoteBook.PageCount<=1) then exit;
|
if (PageCount<=1) then exit;
|
||||||
MoveEditor(PageIndex,0)
|
MoveEditor(CurrentPageIndex, 0)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveEditorLast(PageIndex: integer);
|
procedure TSourceNotebook.MoveEditorLast(CurrentPageIndex: integer);
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) or (NoteBook.PageCount<=1) then exit;
|
if (PageCount<=1) then exit;
|
||||||
MoveEditor(PageIndex,NoteBook.PageCount-1);
|
MoveEditor(CurrentPageIndex, PageCount-1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveActivePageLeft;
|
procedure TSourceNotebook.MoveActivePageLeft;
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) then exit;
|
if (NoteBook=nil) then exit;
|
||||||
MoveEditorLeft(NoteBook.PageIndex);
|
MoveEditorLeft(PageIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveActivePageRight;
|
procedure TSourceNotebook.MoveActivePageRight;
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) then exit;
|
if (NoteBook=nil) then exit;
|
||||||
MoveEditorRight(NoteBook.PageIndex);
|
MoveEditorRight(PageIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveActivePageFirst;
|
procedure TSourceNotebook.MoveActivePageFirst;
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) then exit;
|
if (NoteBook=nil) then exit;
|
||||||
MoveEditorFirst(NoteBook.PageIndex);
|
MoveEditorFirst(PageIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.MoveActivePageLast;
|
procedure TSourceNotebook.MoveActivePageLast;
|
||||||
begin
|
begin
|
||||||
if (NoteBook=nil) then exit;
|
if (NoteBook=nil) then exit;
|
||||||
MoveEditorLast(NoteBook.PageIndex);
|
MoveEditorLast(PageIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Procedure TSourceNotebook.FindClicked(Sender: TObject);
|
Procedure TSourceNotebook.FindClicked(Sender: TObject);
|
||||||
@ -5641,7 +5640,7 @@ begin
|
|||||||
OnJumpToHistoryPoint(NewCaretXY,NewTopLine,NewPageIndex,CloseAction);
|
OnJumpToHistoryPoint(NewCaretXY,NewTopLine,NewPageIndex,CloseAction);
|
||||||
SrcEdit:=FindSourceEditorWithPageIndex(NewPageIndex);
|
SrcEdit:=FindSourceEditorWithPageIndex(NewPageIndex);
|
||||||
if SrcEdit<>nil then begin
|
if SrcEdit<>nil then begin
|
||||||
NoteBook.PageIndex:=NewPageIndex;
|
PageIndex:=NewPageIndex;
|
||||||
with SrcEdit.EditorComponent do begin
|
with SrcEdit.EditorComponent do begin
|
||||||
TopLine:=NewTopLine;
|
TopLine:=NewTopLine;
|
||||||
LogicalCaretXY:=NewCaretXY;
|
LogicalCaretXY:=NewCaretXY;
|
||||||
@ -5667,7 +5666,7 @@ begin
|
|||||||
SrcEdit:=GetActiveSE;
|
SrcEdit:=GetActiveSE;
|
||||||
if SrcEdit<>nil then begin
|
if SrcEdit<>nil then begin
|
||||||
OnAddJumpPoint(SrcEdit.EditorComponent.LogicalCaretXY,
|
OnAddJumpPoint(SrcEdit.EditorComponent.LogicalCaretXY,
|
||||||
SrcEdit.EditorComponent.TopLine, Notebook.PageIndex, true);
|
SrcEdit.EditorComponent.TopLine, PageIndex, true);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -5781,42 +5780,42 @@ end;
|
|||||||
procedure TSourceNotebook.OnPopupMenuOpenPasFile(Sender: TObject);
|
procedure TSourceNotebook.OnPopupMenuOpenPasFile(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.pas'),
|
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.pas'),
|
||||||
Notebook.PageIndex+1,
|
PageIndex+1,
|
||||||
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.OnPopupMenuOpenPPFile(Sender: TObject);
|
procedure TSourceNotebook.OnPopupMenuOpenPPFile(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.pp'),
|
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.pp'),
|
||||||
Notebook.PageIndex+1,
|
PageIndex+1,
|
||||||
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.OnPopupMenuOpenPFile(Sender: TObject);
|
procedure TSourceNotebook.OnPopupMenuOpenPFile(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.p'),
|
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.p'),
|
||||||
Notebook.PageIndex+1,
|
PageIndex+1,
|
||||||
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.OnPopupMenuOpenLFMFile(Sender: TObject);
|
procedure TSourceNotebook.OnPopupMenuOpenLFMFile(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.lfm'),
|
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.lfm'),
|
||||||
Notebook.PageIndex+1,
|
PageIndex+1,
|
||||||
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.OnPopupMenuOpenLRSFile(Sender: TObject);
|
procedure TSourceNotebook.OnPopupMenuOpenLRSFile(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.lrs'),
|
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.lrs'),
|
||||||
Notebook.PageIndex+1,
|
PageIndex+1,
|
||||||
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.OnPopupMenuOpenSFile(Sender: TObject);
|
procedure TSourceNotebook.OnPopupMenuOpenSFile(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.s'),
|
MainIDEInterface.DoOpenEditorFile(ChangeFileExt(GetActiveSE.Filename,'.s'),
|
||||||
Notebook.PageIndex+1,
|
PageIndex+1,
|
||||||
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofUseCache,ofDoNotLoadResource]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -6175,11 +6174,11 @@ begin
|
|||||||
BestY:=-1;
|
BestY:=-1;
|
||||||
BestPageDistance:=-1;
|
BestPageDistance:=-1;
|
||||||
// where is the cursor
|
// where is the cursor
|
||||||
StartPageIndex:=Notebook.PageIndex;
|
StartPageIndex:=PageIndex;
|
||||||
StartEditorComponent:=SrcEdit.EditorComponent;
|
StartEditorComponent:=SrcEdit.EditorComponent;
|
||||||
StartY:=StartEditorComponent.CaretY;
|
StartY:=StartEditorComponent.CaretY;
|
||||||
// go through all bookmarks
|
// go through all bookmarks
|
||||||
for CurPageIndex:=0 to Notebook.PageCount-1 do begin
|
for CurPageIndex:=0 to PageCount-1 do begin
|
||||||
CurSrcEdit:=FindSourceEditorWithPageIndex(CurPageIndex);
|
CurSrcEdit:=FindSourceEditorWithPageIndex(CurPageIndex);
|
||||||
CurEditorComponent:=CurSrcEdit.EditorComponent;
|
CurEditorComponent:=CurSrcEdit.EditorComponent;
|
||||||
for CurBookmarkID:=0 to 9 do begin
|
for CurBookmarkID:=0 to 9 do begin
|
||||||
@ -6199,13 +6198,13 @@ begin
|
|||||||
if PageDistance<0 then
|
if PageDistance<0 then
|
||||||
// for GoForward=true the pages on the left are farer than the pages
|
// for GoForward=true the pages on the left are farer than the pages
|
||||||
// on the right (and vice versus)
|
// on the right (and vice versus)
|
||||||
inc(PageDistance,Notebook.PageCount);
|
inc(PageDistance, PageCount);
|
||||||
if (PageDistance=0) then begin
|
if (PageDistance=0) then begin
|
||||||
// for GoForward=true the lines in front are farer than the pages
|
// for GoForward=true the lines in front are farer than the pages
|
||||||
// on the left side
|
// on the left side
|
||||||
if (GoForward and (y<StartY))
|
if (GoForward and (y<StartY))
|
||||||
or ((not GoForward) and (y>StartY)) then
|
or ((not GoForward) and (y>StartY)) then
|
||||||
inc(PageDistance,Notebook.PageCount);
|
inc(PageDistance, PageCount);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
BetterFound:=false;
|
BetterFound:=false;
|
||||||
@ -6247,7 +6246,7 @@ begin
|
|||||||
if AnEditor<>nil then begin
|
if AnEditor<>nil then begin
|
||||||
AnEditor.EditorComponent.GotoBookMark(Index);
|
AnEditor.EditorComponent.GotoBookMark(Index);
|
||||||
AnEditor.CenterCursor;
|
AnEditor.CenterCursor;
|
||||||
Notebook.PageIndex:=FindPageWithEditor(AnEditor);
|
PageIndex:=FindPageWithEditor(AnEditor);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -6291,41 +6290,40 @@ Begin
|
|||||||
CheckFont;
|
CheckFont;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSourceNotebook.CloseFile(PageIndex:integer);
|
procedure TSourceNotebook.CloseFile(APageIndex:integer);
|
||||||
var
|
var
|
||||||
TempEditor: TSourceEditor;
|
TempEditor: TSourceEditor;
|
||||||
begin
|
begin
|
||||||
{$IFDEF IDE_DEBUG}
|
{$IFDEF IDE_DEBUG}
|
||||||
writeln('TSourceNotebook.CloseFile A PageIndex=',PageIndex);
|
writeln('TSourceNotebook.CloseFile A APageIndex=',APageIndex);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
TempEditor:=FindSourceEditorWithPageIndex(PageIndex);
|
TempEditor:=FindSourceEditorWithPageIndex(APageIndex);
|
||||||
if TempEditor=nil then exit;
|
if TempEditor=nil then exit;
|
||||||
//debugln(['TSourceNotebook.CloseFile ',TempEditor.FileName,' ',TempEditor.PageIndex]);
|
//debugln(['TSourceNotebook.CloseFile ',TempEditor.FileName,' ',TempEditor.APageIndex]);
|
||||||
Visible:=true;
|
Visible:=true;
|
||||||
EndIncrementalFind;
|
EndIncrementalFind;
|
||||||
TempEditor.Close;
|
TempEditor.Close;
|
||||||
TempEditor.Free;
|
TempEditor.Free;
|
||||||
if Notebook.PageCount>1 then
|
if PageCount>1 then
|
||||||
begin
|
begin
|
||||||
//writeln('TSourceNotebook.CloseFile B PageIndex=',PageIndex,' Notebook.PageIndex=',Notebook.PageIndex);
|
//writeln('TSourceNotebook.CloseFile B APageIndex=',APageIndex,' Notebook.APageIndex=',Notebook.APageIndex);
|
||||||
// if this is the current page, switch to right PageIndex (if possible)
|
// if this is the current page, switch to right APageIndex (if possible)
|
||||||
if (Notebook.PageIndex = PageIndex) then
|
if (PageIndex = APageIndex) then
|
||||||
Notebook.PageIndex := PageIndex +
|
PageIndex := APageIndex + IfThen(APageIndex + 1 < PageCount, 1, -1);
|
||||||
IfThen(PageIndex + 1 < Notebook.PageCount, 1, -1);
|
|
||||||
// delete the page
|
// delete the page
|
||||||
//writeln('TSourceNotebook.CloseFile C PageIndex=',PageIndex,' Notebook.PageCount=',Notebook.PageCount,' NoteBook.PageIndex=',Notebook.PageIndex);
|
//writeln('TSourceNotebook.CloseFile C APageIndex=',APageIndex,' PageCount=',PageCount,' NoteBook.APageIndex=',Notebook.APageIndex);
|
||||||
Notebook.Pages.Delete(PageIndex);
|
Notebook.Pages.Delete(APageIndex);
|
||||||
//writeln('TSourceNotebook.CloseFile D PageIndex=',PageIndex,' Notebook.PageCount=',Notebook.PageCount,' NoteBook.PageIndex=',Notebook.PageIndex);
|
//writeln('TSourceNotebook.CloseFile D APageIndex=',APageIndex,' PageCount=',PageCount,' NoteBook.APageIndex=',Notebook.APageIndex);
|
||||||
UpdateStatusBar;
|
UpdateStatusBar;
|
||||||
// set focus to new editor
|
// set focus to new editor
|
||||||
TempEditor:=FindSourceEditorWithPageIndex(Notebook.PageIndex);
|
TempEditor:=FindSourceEditorWithPageIndex(PageIndex);
|
||||||
if (TempEditor <> nil) then
|
if (TempEditor <> nil) then
|
||||||
TempEditor.EditorComponent.SetFocus;
|
TempEditor.EditorComponent.SetFocus;
|
||||||
end else
|
end else
|
||||||
begin
|
begin
|
||||||
//writeln('TSourceNotebook.CloseFile E PageIndex=',PageIndex);
|
//writeln('TSourceNotebook.CloseFile E APageIndex=',APageIndex);
|
||||||
Notebook.Free;
|
Notebook.Free;
|
||||||
//writeln('TSourceNotebook.CloseFile F PageIndex=',PageIndex);
|
//writeln('TSourceNotebook.CloseFile F APageIndex=',APageIndex);
|
||||||
Notebook:=nil;
|
Notebook:=nil;
|
||||||
Hide;
|
Hide;
|
||||||
end;
|
end;
|
||||||
@ -6391,7 +6389,7 @@ var I:integer;
|
|||||||
begin
|
begin
|
||||||
Result:=false;
|
Result:=false;
|
||||||
if Notebook=nil then exit;
|
if Notebook=nil then exit;
|
||||||
for a:=0 to Notebook.PageCount-1 do begin
|
for a:=0 to PageCount-1 do begin
|
||||||
if (a<>IgnorePageIndex)
|
if (a<>IgnorePageIndex)
|
||||||
and (AnsiCompareText(AName,FindSourceEditorWithPageIndex(a).PageName)=0)
|
and (AnsiCompareText(AName,FindSourceEditorWithPageIndex(a).PageName)=0)
|
||||||
then begin
|
then begin
|
||||||
@ -6540,7 +6538,7 @@ begin
|
|||||||
if Notebook=nil then begin
|
if Notebook=nil then begin
|
||||||
Result:=-1;
|
Result:=-1;
|
||||||
end else begin
|
end else begin
|
||||||
Result:=Notebook.PageCount-1;
|
Result:=PageCount-1;
|
||||||
while (Result>=0) do begin
|
while (Result>=0) do begin
|
||||||
with Notebook.Page[Result] do
|
with Notebook.Page[Result] do
|
||||||
for I := 0 to ControlCount-1 do
|
for I := 0 to ControlCount-1 do
|
||||||
@ -6596,7 +6594,7 @@ var TempEditor:TSourceEditor;
|
|||||||
Begin
|
Begin
|
||||||
TempEditor:=GetActiveSE;
|
TempEditor:=GetActiveSE;
|
||||||
|
|
||||||
//writeln('TSourceNotebook.NotebookPageChanged ',Notebook.Pageindex,' ',TempEditor <> nil,' fAutoFocusLock=',fAutoFocusLock);
|
//writeln('TSourceNotebook.NotebookPageChanged ',Pageindex,' ',TempEditor <> nil,' fAutoFocusLock=',fAutoFocusLock);
|
||||||
if TempEditor <> nil then
|
if TempEditor <> nil then
|
||||||
begin
|
begin
|
||||||
if fAutoFocusLock=0 then begin
|
if fAutoFocusLock=0 then begin
|
||||||
@ -6669,8 +6667,8 @@ begin
|
|||||||
OpenAtCursorClicked(self);
|
OpenAtCursorClicked(self);
|
||||||
|
|
||||||
ecGotoEditor1..ecGotoEditor9,ecGotoEditor0:
|
ecGotoEditor1..ecGotoEditor9,ecGotoEditor0:
|
||||||
if Notebook.PageCount>Command-ecGotoEditor1 then
|
if PageCount>Command-ecGotoEditor1 then
|
||||||
Notebook.PageIndex:=Command-ecGotoEditor1;
|
PageIndex:=Command-ecGotoEditor1;
|
||||||
|
|
||||||
ecToggleFormUnit:
|
ecToggleFormUnit:
|
||||||
ToggleFormUnitClicked(Self);
|
ToggleFormUnitClicked(Self);
|
||||||
|
Loading…
Reference in New Issue
Block a user