IDEIntf: FindUnitsOfOwner: added AddTabs parameter, issue #31006, from Silvio Clécio

git-svn-id: trunk@53450 -
This commit is contained in:
mattias 2016-11-25 11:53:51 +00:00
parent 733394319b
commit 534385f4eb
5 changed files with 18 additions and 14 deletions

View File

@ -383,7 +383,7 @@ type
procedure DoJumpToCodeToolBossError; virtual; abstract; procedure DoJumpToCodeToolBossError; virtual; abstract;
function NeedSaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; virtual; abstract; function NeedSaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; virtual; abstract;
function SaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; virtual; abstract; // true if something was saved function SaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; virtual; abstract; // true if something was saved
function FindUnitsOfOwner(TheOwner: TObject; AddListed, AddUsed, AddPackages: boolean): TStrings; virtual; abstract; function FindUnitsOfOwner(TheOwner: TObject; AddListed, AddUsed, AddPackages, AddTabs: boolean): TStrings; virtual; abstract;
property OpenEditorsOnCodeToolChange: boolean read FOpenEditorsOnCodeToolChange property OpenEditorsOnCodeToolChange: boolean read FOpenEditorsOnCodeToolChange
write FOpenEditorsOnCodeToolChange; write FOpenEditorsOnCodeToolChange;
property SaveClosedSourcesOnCodeToolChange: boolean read FSaveClosedSourcesOnCodeToolChange property SaveClosedSourcesOnCodeToolChange: boolean read FSaveClosedSourcesOnCodeToolChange

View File

@ -29,7 +29,7 @@ unit ToDoDlg;
interface interface
uses uses
Classes, SysUtils, LCLProc, Forms, Controls, Graphics, Dialogs, StdCtrls, Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, Buttons, ButtonPanel, Menus, Spin, ExtCtrls, Buttons, ButtonPanel, Menus, Spin,
TodoList, ToDoListStrConsts, IDECommands, LCLType, TodoList, ToDoListStrConsts, IDECommands, LCLType,
MenuIntf, PackageIntf, SrcEditorIntf, IDEWindowIntf, LazIDEIntf; MenuIntf, PackageIntf, SrcEditorIntf, IDEWindowIntf, LazIDEIntf;
@ -49,10 +49,6 @@ type
TodoLabel: TLabel; TodoLabel: TLabel;
TodoMemo: TMemo; TodoMemo: TMemo;
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
private
public
end; end;
var var

View File

@ -281,7 +281,7 @@ begin
end; end;
ResolveIDEItem(CurOwner,CurProject,CurPkg); ResolveIDEItem(CurOwner,CurProject,CurPkg);
Units:=LazarusIDE.FindUnitsOfOwner(CurOwner,true,true,false); Units:=LazarusIDE.FindUnitsOfOwner(CurOwner,true,true,false,false);
for i:=0 to Units.Count-1 do for i:=0 to Units.Count-1 do
ScanFile(Units[i]); ScanFile(Units[i]);
@ -311,6 +311,7 @@ end;
procedure TIDETodoWindow.FormShow(Sender: TObject); procedure TIDETodoWindow.FormShow(Sender: TObject);
begin begin
IdleConnected:=true; IdleConnected:=true;
UpdateTodos(true);
end; end;
procedure TIDETodoWindow.HelpButtonClick(Sender: TObject); procedure TIDETodoWindow.HelpButtonClick(Sender: TObject);

View File

@ -894,7 +894,7 @@ type
function NeedSaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; override; function NeedSaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; override;
function SaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; override; function SaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; override;
function FindUnitsOfOwner(TheOwner: TObject; AddListed, AddUsed, function FindUnitsOfOwner(TheOwner: TObject; AddListed, AddUsed,
AddPackages: boolean): TStrings; override; AddPackages, AddTabs: boolean): TStrings; override;
procedure ApplyCodeToolChanges; procedure ApplyCodeToolChanges;
procedure DoJumpToOtherProcedureSection; procedure DoJumpToOtherProcedureSection;
procedure DoFindDeclarationAtCursor; procedure DoFindDeclarationAtCursor;
@ -9476,9 +9476,9 @@ begin
end; end;
function TMainIDE.FindUnitsOfOwner(TheOwner: TObject; AddListed, AddUsed, function TMainIDE.FindUnitsOfOwner(TheOwner: TObject; AddListed, AddUsed,
AddPackages: boolean): TStrings; AddPackages, AddTabs: boolean): TStrings;
begin begin
Result:=SourceFileMgr.FindUnitsOfOwner(TheOwner,AddListed,AddUsed,AddPackages); Result:=SourceFileMgr.FindUnitsOfOwner(TheOwner,AddListed,AddUsed,AddPackages,AddTabs);
end; end;
function TMainIDE.DoJumpToSourcePosition(const Filename: string; NewX, NewY, function TMainIDE.DoJumpToSourcePosition(const Filename: string; NewX, NewY,

View File

@ -212,7 +212,7 @@ type
function FindSourceFile(const AFilename, BaseDirectory: string; function FindSourceFile(const AFilename, BaseDirectory: string;
Flags: TFindSourceFlags): string; Flags: TFindSourceFlags): string;
function FindUnitsOfOwner(TheOwner: TObject; AddListed, AddUsed, function FindUnitsOfOwner(TheOwner: TObject; AddListed, AddUsed,
AddPackages: boolean): TStrings; AddPackages, AddTabs: boolean): TStrings;
function AddUnitToProject(const AEditor: TSourceEditorInterface): TModalResult; function AddUnitToProject(const AEditor: TSourceEditorInterface): TModalResult;
function AddActiveUnitToProject: TModalResult; function AddActiveUnitToProject: TModalResult;
@ -3045,13 +3045,13 @@ begin
end; end;
function TLazSourceFileManager.FindUnitsOfOwner(TheOwner: TObject; AddListed, function TLazSourceFileManager.FindUnitsOfOwner(TheOwner: TObject; AddListed,
AddUsed, AddPackages: boolean): TStrings; AddUsed, AddPackages, AddTabs: boolean): TStrings;
var var
Files: TFilenameToStringTree; Files: TFilenameToStringTree;
UnitPath: string; // only if not AddPackages: UnitPath: string; // only if not AddPackages:
// owner unitpath without unitpaths of required packages // owner unitpath without unitpaths of required packages
function Add(aFilename: string): boolean; function Add(const aFilename: string): boolean;
begin begin
if Files.Contains(aFilename) then exit(false); if Files.Contains(aFilename) then exit(false);
//debugln([' Add ',aFilename]); //debugln([' Add ',aFilename]);
@ -3075,7 +3075,7 @@ var
end; end;
end; end;
procedure AddUsedUnit(aFilename: string); procedure AddUsedUnit(const aFilename: string);
// add recursively all units // add recursively all units
procedure AddUses(UsesSection: TStrings); procedure AddUses(UsesSection: TStrings);
@ -3237,6 +3237,13 @@ begin
AddUsedUnit(TCodeBuffer(NormalUnits.Objects[i]).Filename); AddUsedUnit(TCodeBuffer(NormalUnits.Objects[i]).Filename);
end; end;
end; end;
if AddTabs then
for i := 0 to pred(SourceEditorManager.SourceEditorCount) do
begin
CurFilename := SourceEditorManager.SourceEditors[i].FileName;
if FilenameIsPascalUnit(CurFilename) then
Add(CurFilename);
end;
finally finally
FoundInUnits.Free; FoundInUnits.Free;
MissingUnits.Free; MissingUnits.Free;