mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-06 13:59:37 +01:00
IDE: further migration external tools
git-svn-id: trunk@42335 -
This commit is contained in:
parent
0fbb1e90df
commit
ddd03e966d
@ -79,8 +79,7 @@ type
|
|||||||
);
|
);
|
||||||
TMessageLineFlags = set of TMessageLineFlag;
|
TMessageLineFlags = set of TMessageLineFlag;
|
||||||
|
|
||||||
{ TMessageLine
|
{ TMessageLine }
|
||||||
Access needs Lines.Tool.Enter/LeaveCriticalSection }
|
|
||||||
|
|
||||||
TMessageLine = packed class
|
TMessageLine = packed class
|
||||||
private
|
private
|
||||||
@ -176,8 +175,7 @@ type
|
|||||||
property MaxLine: integer read FMaxLine;
|
property MaxLine: integer read FMaxLine;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TMessageLines
|
{ TMessageLines }
|
||||||
Access needs Tool.Enter/LeaveCriticalSection }
|
|
||||||
|
|
||||||
TETMarksFixedEvent = procedure(ListOfTMessageLine: TFPList) of object;
|
TETMarksFixedEvent = procedure(ListOfTMessageLine: TFPList) of object;
|
||||||
|
|
||||||
@ -235,7 +233,7 @@ type
|
|||||||
{ TExtToolParser
|
{ TExtToolParser
|
||||||
Read the output of a tool, for example the output of the Free Pascal compiler.
|
Read the output of a tool, for example the output of the Free Pascal compiler.
|
||||||
It does not filter. Some parsers can work together, for example make and fpc.
|
It does not filter. Some parsers can work together, for example make and fpc.
|
||||||
Usage: Tool.AddParser('fpc');
|
Usage: Tool.AddParsers('fpc');
|
||||||
}
|
}
|
||||||
TExtToolParser = class(TComponent)
|
TExtToolParser = class(TComponent)
|
||||||
private
|
private
|
||||||
@ -270,7 +268,7 @@ type
|
|||||||
TMakeParser = class(TExtToolParser)
|
TMakeParser = class(TExtToolParser)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TDefaultParser - simple parser for simple text output, no filter at all }
|
{ TDefaultParser - simple parser for simple text output, no filtering }
|
||||||
|
|
||||||
TDefaultParser = class(TExtToolParser)
|
TDefaultParser = class(TExtToolParser)
|
||||||
public
|
public
|
||||||
@ -283,8 +281,7 @@ type
|
|||||||
const
|
const
|
||||||
DefaultETViewMinUrgency = mluHint;
|
DefaultETViewMinUrgency = mluHint;
|
||||||
type
|
type
|
||||||
{ TExtToolView
|
{ TExtToolView }
|
||||||
Access needs Enter/LeaveCriticalSection }
|
|
||||||
|
|
||||||
TExtToolView = class(TComponent)
|
TExtToolView = class(TComponent)
|
||||||
private
|
private
|
||||||
@ -1985,7 +1982,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
{$ELSE}
|
{$ELSE EnableNewExtTools}
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
|
|||||||
@ -285,7 +285,12 @@ type
|
|||||||
// progress and error messages
|
// progress and error messages
|
||||||
function ShowProgress(const SomeText: string;
|
function ShowProgress(const SomeText: string;
|
||||||
Step, MaxStep: integer): boolean; virtual; abstract; // False if canceled by user
|
Step, MaxStep: integer): boolean; virtual; abstract; // False if canceled by user
|
||||||
function DoJumpToCompilerMessage(Index:integer;
|
function DoJumpToCompilerMessage(
|
||||||
|
{$IFDEF EnableNewExtTools}
|
||||||
|
Msg: TMessageLine; // if nil then it jumps to first message
|
||||||
|
{$ELSE}
|
||||||
|
Index:integer;
|
||||||
|
{$ENDIF}
|
||||||
FocusEditor: boolean): boolean; virtual; abstract;
|
FocusEditor: boolean): boolean; virtual; abstract;
|
||||||
procedure DoJumpToNextError(DirectionDown: boolean); virtual; abstract;
|
procedure DoJumpToNextError(DirectionDown: boolean); virtual; abstract;
|
||||||
procedure DoShowMessagesView(BringToFront: boolean = true); virtual; abstract;
|
procedure DoShowMessagesView(BringToFront: boolean = true); virtual; abstract;
|
||||||
|
|||||||
@ -694,7 +694,7 @@ begin
|
|||||||
LfmFixer.RootMustBeClassInIntf:=true;
|
LfmFixer.RootMustBeClassInIntf:=true;
|
||||||
LfmFixer.ObjectsMustExist:=true;
|
LfmFixer.ObjectsMustExist:=true;
|
||||||
if LfmFixer.ConvertAndRepair<>mrOK then begin
|
if LfmFixer.ConvertAndRepair<>mrOK then begin
|
||||||
LazarusIDE.DoJumpToCompilerMessage(-1,true);
|
LazarusIDE.DoJumpToCompilerMessage({$IFDEF EnableNewExtTools}nil{$ELSE}-1{$ENDIF},true);
|
||||||
fOwnerConverter.fErrorMsg:='Problems when repairing form file '
|
fOwnerConverter.fErrorMsg:='Problems when repairing form file '
|
||||||
+ChangeFileExt(fOrigUnitFilename, '.lfm');
|
+ChangeFileExt(fOrigUnitFilename, '.lfm');
|
||||||
exit(mrAbort);
|
exit(mrAbort);
|
||||||
|
|||||||
@ -53,8 +53,25 @@ type
|
|||||||
ImgIDFatal: integer;
|
ImgIDFatal: integer;
|
||||||
function GetDblClickJumps: boolean;
|
function GetDblClickJumps: boolean;
|
||||||
procedure SetDblClickJumps(AValue: boolean);
|
procedure SetDblClickJumps(AValue: boolean);
|
||||||
|
protected
|
||||||
|
function GetViews(Index: integer): TExtToolView; override;
|
||||||
public
|
public
|
||||||
SourceMarks: TETMarks;
|
SourceMarks: TETMarks;
|
||||||
|
function AddCustomMessage(TheUrgency: TMessageLineUrgency; Msg: string;
|
||||||
|
aSrcFilename: string=''; LineNumber: integer=0; Column: integer=0;
|
||||||
|
const ViewCaption: string=''): TMessageLine; override;
|
||||||
|
procedure Clear; override;
|
||||||
|
procedure DeleteView(View: TExtToolView); override;
|
||||||
|
function FindUnfinishedView: TExtToolView; override;
|
||||||
|
function GetSelectedLine: TMessageLine; override;
|
||||||
|
function GetView(aCaption: string; CreateIfNotExist: boolean
|
||||||
|
): TExtToolView; override;
|
||||||
|
function IndexOfView(View: TExtToolView): integer; override;
|
||||||
|
function SelectFirstUrgentMessage(aMinUrgency: TMessageLineUrgency;
|
||||||
|
WithSrcPos: boolean): boolean; override;
|
||||||
|
function SelectNextUrgentMessage(aMinUrgency: TMessageLineUrgency;
|
||||||
|
WithSrcPos, Downwards: boolean): boolean; override;
|
||||||
|
function ViewCount: integer; override;
|
||||||
property DblClickJumps: boolean read GetDblClickJumps write SetDblClickJumps;
|
property DblClickJumps: boolean read GetDblClickJumps write SetDblClickJumps;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -137,6 +154,71 @@ begin
|
|||||||
MessagesFrame1.MessagesCtrl.Options+[mcoSingleClickOpensFile]
|
MessagesFrame1.MessagesCtrl.Options+[mcoSingleClickOpensFile]
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.GetViews(Index: integer): TExtToolView;
|
||||||
|
begin
|
||||||
|
Result:=MessagesFrame1.Views[Index];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.AddCustomMessage(TheUrgency: TMessageLineUrgency;
|
||||||
|
Msg: string; aSrcFilename: string; LineNumber: integer; Column: integer;
|
||||||
|
const ViewCaption: string): TMessageLine;
|
||||||
|
begin
|
||||||
|
Result:=MessagesFrame1.AddCustomMessage(TheUrgency,Msg,aSrcFilename,
|
||||||
|
LineNumber,Column,ViewCaption);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMessagesView.Clear;
|
||||||
|
begin
|
||||||
|
MessagesFrame1.ClearViews;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMessagesView.DeleteView(View: TExtToolView);
|
||||||
|
begin
|
||||||
|
if View is TLMsgWndView then
|
||||||
|
MessagesFrame1.DeleteView(TLMsgWndView(View));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.FindUnfinishedView: TExtToolView;
|
||||||
|
begin
|
||||||
|
Result:=MessagesFrame1.FindUnfinishedView;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.GetSelectedLine: TMessageLine;
|
||||||
|
begin
|
||||||
|
Result:=MessagesFrame1.MessagesCtrl.GetSelectedMsg;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.GetView(aCaption: string; CreateIfNotExist: boolean
|
||||||
|
): TExtToolView;
|
||||||
|
begin
|
||||||
|
Result:=MessagesFrame1.GetView(aCaption,CreateIfNotExist);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.IndexOfView(View: TExtToolView): integer;
|
||||||
|
begin
|
||||||
|
if View is TLMsgWndView then
|
||||||
|
Result:=MessagesFrame1.IndexOfView(TLMsgWndView(View))
|
||||||
|
else
|
||||||
|
Result:=-1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.SelectFirstUrgentMessage(
|
||||||
|
aMinUrgency: TMessageLineUrgency; WithSrcPos: boolean): boolean;
|
||||||
|
begin
|
||||||
|
Result:=MessagesFrame1.SelectFirstUrgentMessage(aMinUrgency,WithSrcPos);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.SelectNextUrgentMessage(
|
||||||
|
aMinUrgency: TMessageLineUrgency; WithSrcPos, Downwards: boolean): boolean;
|
||||||
|
begin
|
||||||
|
Result:=MessagesFrame1.SelectNextUrgentMessage(aMinUrgency,WithSrcPos,Downwards);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMessagesView.ViewCount: integer;
|
||||||
|
begin
|
||||||
|
Result:=MessagesFrame1.ViewCount;
|
||||||
|
end;
|
||||||
|
|
||||||
function TMessagesView.GetDblClickJumps: boolean;
|
function TMessagesView.GetDblClickJumps: boolean;
|
||||||
begin
|
begin
|
||||||
Result:=not (mcoSingleClickOpensFile in MessagesFrame1.MessagesCtrl.Options);
|
Result:=not (mcoSingleClickOpensFile in MessagesFrame1.MessagesCtrl.Options);
|
||||||
|
|||||||
@ -603,9 +603,13 @@ end;
|
|||||||
|
|
||||||
function TExternalToolDialog.ToolDescription(Index: integer): string;
|
function TExternalToolDialog.ToolDescription(Index: integer): string;
|
||||||
begin
|
begin
|
||||||
|
{$IFDEF EnableNewExtTools}
|
||||||
|
Result:=fExtToolList[Index].Title;
|
||||||
|
{$ELSE}
|
||||||
Result:=fExtToolList[Index].ShortDescription;
|
Result:=fExtToolList[Index].ShortDescription;
|
||||||
if Result='' then
|
if Result='' then
|
||||||
Result:=fExtToolList[Index].Title;
|
Result:=fExtToolList[Index].Title;
|
||||||
|
{$ENDIF}
|
||||||
if Result='' then
|
if Result='' then
|
||||||
Result:=ExtractFilename(fExtToolList[Index].Filename);
|
Result:=ExtractFilename(fExtToolList[Index].Filename);
|
||||||
//DebugLn(['TExternalToolDialog.ToolDescription Index=',Index,' Result=',Result,' Cmd="',fExtToolList[Index].Filename,' ',fExtToolList[Index].CmdLineParams,'"']);
|
//DebugLn(['TExternalToolDialog.ToolDescription Index=',Index,' Result=',Result,' Cmd="',fExtToolList[Index].Filename,' ',fExtToolList[Index].CmdLineParams,'"']);
|
||||||
@ -638,7 +642,7 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
{$IFDEF EnableNewExtTools}
|
{$IFDEF EnableNewExtTools}
|
||||||
NewTool:=TExternalToolMenuItem.Create;
|
NewTool:=TExternalToolMenuItem.Create(nil);
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
NewTool:=TExternalToolOptions.Create;
|
NewTool:=TExternalToolOptions.Create;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -668,7 +672,7 @@ begin
|
|||||||
OldTool := fExtToolList.Items[Listbox.ItemIndex];
|
OldTool := fExtToolList.Items[Listbox.ItemIndex];
|
||||||
If Assigned(OldTool) Then Begin
|
If Assigned(OldTool) Then Begin
|
||||||
{$IFDEF EnableNewExtTools}
|
{$IFDEF EnableNewExtTools}
|
||||||
NewTool:=TExternalToolMenuItem.Create;
|
NewTool:=TExternalToolMenuItem.Create(nil);
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
NewTool:=TExternalToolOptions.Create;
|
NewTool:=TExternalToolOptions.Create;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -783,7 +787,9 @@ begin
|
|||||||
EnableButtons;
|
EnableButtons;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
initialization
|
initialization
|
||||||
ExternalToolListClass:=TExternalToolList;
|
ExternalToolListClass:=TExternalToolList;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -126,6 +126,7 @@ type
|
|||||||
procedure Assign(Src: TExternalToolMenuItems);
|
procedure Assign(Src: TExternalToolMenuItems);
|
||||||
procedure Add(Item: TExternalToolMenuItem);
|
procedure Add(Item: TExternalToolMenuItem);
|
||||||
procedure Insert(Index: integer; Item: TExternalToolMenuItem);
|
procedure Insert(Index: integer; Item: TExternalToolMenuItem);
|
||||||
|
procedure Delete(Index: integer);
|
||||||
procedure Move(CurIndex, NewIndex: integer);
|
procedure Move(CurIndex, NewIndex: integer);
|
||||||
function Load(Config: TConfigStorage): TModalResult;
|
function Load(Config: TConfigStorage): TModalResult;
|
||||||
function Load(Config: TConfigStorage; const Path: string): TModalResult;
|
function Load(Config: TConfigStorage; const Path: string): TModalResult;
|
||||||
@ -138,6 +139,9 @@ type
|
|||||||
function Count: integer; inline;
|
function Count: integer; inline;
|
||||||
property Items[Index: integer]: TExternalToolMenuItem read GetItems; default;
|
property Items[Index: integer]: TExternalToolMenuItem read GetItems; default;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
ExternalToolMenuItems: TExternalToolMenuItems = nil;
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
type
|
type
|
||||||
{ TExternalToolOptions }
|
{ TExternalToolOptions }
|
||||||
@ -472,6 +476,8 @@ end;
|
|||||||
|
|
||||||
destructor TExternalToolMenuItems.Destroy;
|
destructor TExternalToolMenuItems.Destroy;
|
||||||
begin
|
begin
|
||||||
|
if ExternalToolMenuItems=Self then
|
||||||
|
ExternalToolMenuItems:=nil;
|
||||||
Clear;
|
Clear;
|
||||||
FreeAndNil(fItems);
|
FreeAndNil(fItems);
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
@ -519,6 +525,11 @@ begin
|
|||||||
fItems.Insert(Index,Item);
|
fItems.Insert(Index,Item);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TExternalToolMenuItems.Delete(Index: integer);
|
||||||
|
begin
|
||||||
|
fItems.Delete(Index);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TExternalToolMenuItems.Move(CurIndex, NewIndex: integer);
|
procedure TExternalToolMenuItems.Move(CurIndex, NewIndex: integer);
|
||||||
begin
|
begin
|
||||||
fItems.Move(CurIndex,NewIndex);
|
fItems.Move(CurIndex,NewIndex);
|
||||||
|
|||||||
66
ide/main.pp
66
ide/main.pp
@ -625,7 +625,9 @@ type
|
|||||||
Scanner: TLinkScanner);
|
Scanner: TLinkScanner);
|
||||||
|
|
||||||
// MessagesView events
|
// MessagesView events
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
procedure MessagesViewSelectionChanged(sender: TObject);
|
procedure MessagesViewSelectionChanged(sender: TObject);
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
// SearchResultsView events
|
// SearchResultsView events
|
||||||
procedure SearchResultsViewSelectionChanged(sender: TObject);
|
procedure SearchResultsViewSelectionChanged(sender: TObject);
|
||||||
@ -693,7 +695,9 @@ type
|
|||||||
procedure SetupDialogs;
|
procedure SetupDialogs;
|
||||||
procedure SetupComponentPalette;
|
procedure SetupComponentPalette;
|
||||||
procedure SetupHints;
|
procedure SetupHints;
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
procedure SetupOutputFilter;
|
procedure SetupOutputFilter;
|
||||||
|
{$ENDIF}
|
||||||
procedure SetupObjectInspector;
|
procedure SetupObjectInspector;
|
||||||
procedure SetupFormEditor;
|
procedure SetupFormEditor;
|
||||||
procedure SetupSourceNotebook;
|
procedure SetupSourceNotebook;
|
||||||
@ -839,7 +843,9 @@ type
|
|||||||
|
|
||||||
// external tools
|
// external tools
|
||||||
function PrepareForCompile: TModalResult; override;
|
function PrepareForCompile: TModalResult; override;
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
function OnRunExternalTool(Tool: TIDEExternalToolOptions): TModalResult;
|
function OnRunExternalTool(Tool: TIDEExternalToolOptions): TModalResult;
|
||||||
|
{$ENDIF}
|
||||||
function DoRunExternalTool(Index: integer; ShowAbort: Boolean): TModalResult;
|
function DoRunExternalTool(Index: integer; ShowAbort: Boolean): TModalResult;
|
||||||
function DoSaveBuildIDEConfigs(Flags: TBuildLazarusFlags): TModalResult; override;
|
function DoSaveBuildIDEConfigs(Flags: TBuildLazarusFlags): TModalResult; override;
|
||||||
function DoExampleManager: TModalResult; override;
|
function DoExampleManager: TModalResult; override;
|
||||||
@ -964,8 +970,13 @@ type
|
|||||||
function DoConvertDelphiPackage(const DelphiFilename: string): TModalResult;
|
function DoConvertDelphiPackage(const DelphiFilename: string): TModalResult;
|
||||||
|
|
||||||
// message view
|
// message view
|
||||||
function DoJumpToCompilerMessage(Index:integer;
|
function DoJumpToCompilerMessage(
|
||||||
FocusEditor: boolean): boolean; override;
|
{$IFDEF EnableNewExtTools}
|
||||||
|
Msg: TMessageLine;
|
||||||
|
{$ELSE}
|
||||||
|
Index:integer;
|
||||||
|
{$ENDIF}
|
||||||
|
FocusEditor: boolean): boolean; override;
|
||||||
procedure DoJumpToNextError(DirectionDown: boolean); override;
|
procedure DoJumpToNextError(DirectionDown: boolean); override;
|
||||||
procedure DoShowMessagesView(BringToFront: boolean = true); override;
|
procedure DoShowMessagesView(BringToFront: boolean = true); override;
|
||||||
|
|
||||||
@ -1289,7 +1300,12 @@ begin
|
|||||||
SetupIDEMsgQuickFixItems;
|
SetupIDEMsgQuickFixItems;
|
||||||
EditorOpts.Load;
|
EditorOpts.Load;
|
||||||
|
|
||||||
|
{$IFDEF EnableNewExtTools}
|
||||||
|
ExternalToolMenuItems:=TExternalToolMenuItems(EnvironmentOptions.ExternalToolMenuItems);
|
||||||
|
ExternalToolMenuItems.LoadShortCuts(EditorOpts.KeyMap);
|
||||||
|
{$ELSE}
|
||||||
ExternalTools.LoadShortCuts(EditorOpts.KeyMap);
|
ExternalTools.LoadShortCuts(EditorOpts.KeyMap);
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
MiscellaneousOptions := TMiscellaneousOptions.Create;
|
MiscellaneousOptions := TMiscellaneousOptions.Create;
|
||||||
MiscellaneousOptions.Load;
|
MiscellaneousOptions.Load;
|
||||||
@ -1327,6 +1343,7 @@ begin
|
|||||||
FWaitForClose := False;
|
FWaitForClose := False;
|
||||||
|
|
||||||
SetupDialogs;
|
SetupDialogs;
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
RunExternalTool:=@OnRunExternalTool;
|
RunExternalTool:=@OnRunExternalTool;
|
||||||
{$IFDEF UseAsyncProcess}
|
{$IFDEF UseAsyncProcess}
|
||||||
if Widgetset.GetLCLCapability(lcAsyncProcess) = 1 then
|
if Widgetset.GetLCLCapability(lcAsyncProcess) = 1 then
|
||||||
@ -1336,6 +1353,7 @@ begin
|
|||||||
{$ELSE}
|
{$ELSE}
|
||||||
TOutputFilterProcess := TProcessUTF8;
|
TOutputFilterProcess := TProcessUTF8;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
MainBuildBoss:=TBuildManager.Create(nil);
|
MainBuildBoss:=TBuildManager.Create(nil);
|
||||||
MainBuildBoss.HasGUI:=true;
|
MainBuildBoss.HasGUI:=true;
|
||||||
@ -1431,7 +1449,9 @@ begin
|
|||||||
HelpBoss.ConnectMainBarEvents;
|
HelpBoss.ConnectMainBarEvents;
|
||||||
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.Create MANAGERS');{$ENDIF}
|
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.Create MANAGERS');{$ENDIF}
|
||||||
// setup the IDE components
|
// setup the IDE components
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
SetupOutputFilter;
|
SetupOutputFilter;
|
||||||
|
{$ENDIF}
|
||||||
MainBuildBoss.SetupCompilerInterface;
|
MainBuildBoss.SetupCompilerInterface;
|
||||||
SetupObjectInspector;
|
SetupObjectInspector;
|
||||||
SetupFormEditor;
|
SetupFormEditor;
|
||||||
@ -1532,7 +1552,13 @@ begin
|
|||||||
// free IDE parts
|
// free IDE parts
|
||||||
FreeFormEditor;
|
FreeFormEditor;
|
||||||
FreeTextConverters;
|
FreeTextConverters;
|
||||||
|
{$IFDEF EnableNewExtTools}
|
||||||
|
FreeThenNil(IDEQuickFixes);
|
||||||
|
{$ELSE}
|
||||||
FreeStandardIDEQuickFixItems;
|
FreeStandardIDEQuickFixItems;
|
||||||
|
FreeThenNil(IDEMsgScanners);
|
||||||
|
FreeThenNil(TheOutputFilter);
|
||||||
|
{$ENDIF}
|
||||||
FreeThenNil(GlobalDesignHook);
|
FreeThenNil(GlobalDesignHook);
|
||||||
FreeThenNil(LPKInfoCache);
|
FreeThenNil(LPKInfoCache);
|
||||||
FreeThenNil(PkgBoss);
|
FreeThenNil(PkgBoss);
|
||||||
@ -1541,8 +1567,6 @@ begin
|
|||||||
FreeThenNil(TheCompiler);
|
FreeThenNil(TheCompiler);
|
||||||
FreeThenNil(HiddenWindowsOnRun);
|
FreeThenNil(HiddenWindowsOnRun);
|
||||||
FreeThenNil(LastActivatedWindows);
|
FreeThenNil(LastActivatedWindows);
|
||||||
FreeThenNil(IDEMsgScanners);
|
|
||||||
FreeThenNil(TheOutputFilter);
|
|
||||||
FreeThenNil(GlobalMacroList);
|
FreeThenNil(GlobalMacroList);
|
||||||
FreeThenNil(IDEMacros);
|
FreeThenNil(IDEMacros);
|
||||||
FreeThenNil(IDECodeMacros);
|
FreeThenNil(IDECodeMacros);
|
||||||
@ -1577,7 +1601,9 @@ end;
|
|||||||
procedure TMainIDE.CreateOftenUsedForms;
|
procedure TMainIDE.CreateOftenUsedForms;
|
||||||
begin
|
begin
|
||||||
MessagesView:=TMessagesView.Create(nil);
|
MessagesView:=TMessagesView.Create(nil);
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
MessagesView.OnSelectionChanged := @MessagesViewSelectionChanged;
|
MessagesView.OnSelectionChanged := @MessagesViewSelectionChanged;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
LazFindReplaceDialog:=TLazFindReplaceDialog.Create(nil);
|
LazFindReplaceDialog:=TLazFindReplaceDialog.Create(nil);
|
||||||
end;
|
end;
|
||||||
@ -2030,12 +2056,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
procedure TMainIDE.SetupOutputFilter;
|
procedure TMainIDE.SetupOutputFilter;
|
||||||
begin
|
begin
|
||||||
TheOutputFilter:=TOutputFilter.Create;
|
TheOutputFilter:=TOutputFilter.Create;
|
||||||
TheOutputFilter.OnGetIncludePath:=@CodeToolBoss.GetIncludePathForDirectory;
|
TheOutputFilter.OnGetIncludePath:=@CodeToolBoss.GetIncludePathForDirectory;
|
||||||
IDEMsgScanners:=TMessageScanners.Create;
|
IDEMsgScanners:=TMessageScanners.Create;
|
||||||
end;
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
procedure TMainIDE.SetupObjectInspector;
|
procedure TMainIDE.SetupObjectInspector;
|
||||||
begin
|
begin
|
||||||
@ -3136,7 +3164,7 @@ begin
|
|||||||
|
|
||||||
ecContextHelp:
|
ecContextHelp:
|
||||||
if Sender=MessagesView then
|
if Sender=MessagesView then
|
||||||
HelpBoss.ShowHelpForMessage(-1)
|
HelpBoss.ShowHelpForMessage{$IFDEF EnableNewExtTools}(){$ELSE}(-1){$ENDIF}
|
||||||
else if Sender is TObjectInspectorDlg then
|
else if Sender is TObjectInspectorDlg then
|
||||||
HelpBoss.ShowHelpForObjectInspector(Sender);
|
HelpBoss.ShowHelpForObjectInspector(Sender);
|
||||||
ecEditContextHelp:
|
ecEditContextHelp:
|
||||||
@ -4374,12 +4402,14 @@ end;
|
|||||||
|
|
||||||
procedure TMainIDE.mnuToolConfigureClicked(Sender: TObject);
|
procedure TMainIDE.mnuToolConfigureClicked(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if ShowExtToolDialog(ExternalTools,GlobalMacroList)=mrOk then
|
if ShowExtToolDialog(
|
||||||
|
{$IFDEF EnableNewExtTools}ExternalToolMenuItems{$ELSE}ExternalTools{$ENDIF},
|
||||||
|
GlobalMacroList)=mrOk then
|
||||||
begin
|
begin
|
||||||
// save to environment options
|
// save to environment options
|
||||||
SaveEnvironment(true);
|
SaveEnvironment(true);
|
||||||
// save shortcuts to editor options
|
// save shortcuts to editor options
|
||||||
ExternalTools.SaveShortCuts(EditorOpts.KeyMap);
|
{$IFDEF EnableNewExtTools}ExternalToolMenuItems{$ELSE}ExternalTools{$ENDIF}.SaveShortCuts(EditorOpts.KeyMap);
|
||||||
EditorOpts.Save;
|
EditorOpts.Save;
|
||||||
UpdateHighlighters(True);
|
UpdateHighlighters(True);
|
||||||
SourceEditorManager.ReloadEditorOptions;
|
SourceEditorManager.ReloadEditorOptions;
|
||||||
@ -6866,7 +6896,7 @@ var
|
|||||||
NeedBuildAllFlag: Boolean;
|
NeedBuildAllFlag: Boolean;
|
||||||
UnitOutputDirectory: String;
|
UnitOutputDirectory: String;
|
||||||
TargetExeName: String;
|
TargetExeName: String;
|
||||||
err : TFPCErrorType;
|
err: TFPCErrorType;
|
||||||
TargetExeDirectory: String;
|
TargetExeDirectory: String;
|
||||||
FPCVersion, FPCRelease, FPCPatch: integer;
|
FPCVersion, FPCRelease, FPCPatch: integer;
|
||||||
Note: String;
|
Note: String;
|
||||||
@ -7083,10 +7113,13 @@ begin
|
|||||||
OldToolStatus := ToolStatus; // It can still be itDebugger, if the debugger is still stopping. Prevent any "Run" command after building, until the debugger is clear
|
OldToolStatus := ToolStatus; // It can still be itDebugger, if the debugger is still stopping. Prevent any "Run" command after building, until the debugger is clear
|
||||||
ToolStatus:=itBuilder;
|
ToolStatus:=itBuilder;
|
||||||
|
|
||||||
|
{$IFDEF EnableNewExtTools}
|
||||||
|
{$ELSE}
|
||||||
ConnectOutputFilter;
|
ConnectOutputFilter;
|
||||||
for err := Low(TFPCErrorType) to High(TFPCErrorType) do
|
for err := Low(TFPCErrorType) to High(TFPCErrorType) do
|
||||||
with Project1.CompilerOptions.CompilerMessages do
|
with Project1.CompilerOptions.CompilerMessages do
|
||||||
TheOutputFilter.ErrorTypeName[err] := ErrorNames[err];
|
TheOutputFilter.ErrorTypeName[err] := ErrorNames[err];
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
// compile
|
// compile
|
||||||
CompilerFilename:=Project1.GetCompilerFilename;
|
CompilerFilename:=Project1.GetCompilerFilename;
|
||||||
@ -7180,7 +7213,7 @@ function TMainIDE.DoAbortBuild: TModalResult;
|
|||||||
begin
|
begin
|
||||||
Result:=mrOk;
|
Result:=mrOk;
|
||||||
if ToolStatus<>itBuilder then exit;
|
if ToolStatus<>itBuilder then exit;
|
||||||
TheOutputFilter.StopExecute:=true;
|
AbortBuild;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainIDE.DoQuickCompile;
|
procedure TMainIDE.DoQuickCompile;
|
||||||
@ -8080,12 +8113,14 @@ begin
|
|||||||
MainBuildBoss.RescanCompilerDefines(false,false,false,false);
|
MainBuildBoss.RescanCompilerDefines(false,false,false,false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
function TMainIDE.OnRunExternalTool(Tool: TIDEExternalToolOptions): TModalResult;
|
function TMainIDE.OnRunExternalTool(Tool: TIDEExternalToolOptions): TModalResult;
|
||||||
begin
|
begin
|
||||||
SourceEditorManager.ClearErrorLines;
|
SourceEditorManager.ClearErrorLines;
|
||||||
Result:=ExternalTools.Run(Tool,GlobalMacroList,false);
|
Result:=ExternalTools.Run(Tool,GlobalMacroList,false);
|
||||||
DoCheckFilesOnDisk;
|
DoCheckFilesOnDisk;
|
||||||
end;
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
function TMainIDE.DoCheckSyntax: TModalResult;
|
function TMainIDE.DoCheckSyntax: TModalResult;
|
||||||
var
|
var
|
||||||
@ -8521,8 +8556,12 @@ end;
|
|||||||
|
|
||||||
procedure TMainIDE.AbortBuild;
|
procedure TMainIDE.AbortBuild;
|
||||||
begin
|
begin
|
||||||
|
{$IFDEF EnableNewExtTools}
|
||||||
|
ExternalTools.TerminateAll;
|
||||||
|
{$ELSE}
|
||||||
if TheOutputFilter<>nil then
|
if TheOutputFilter<>nil then
|
||||||
TheOutputFilter.StopExecute:=true;
|
TheOutputFilter.StopExecute:=true;
|
||||||
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainIDE.UpdateCaption;
|
procedure TMainIDE.UpdateCaption;
|
||||||
@ -8841,7 +8880,12 @@ begin
|
|||||||
ErrType:=FPCErrorTypeNameToType(ALine.Parts.Values['Type']);
|
ErrType:=FPCErrorTypeNameToType(ALine.Parts.Values['Type']);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TMainIDE.DoJumpToCompilerMessage(Index:integer;
|
function TMainIDE.DoJumpToCompilerMessage(
|
||||||
|
{$IFDEF EnableNewExtTools}
|
||||||
|
Msg: TMessageLine;
|
||||||
|
{$ELSE}
|
||||||
|
Index:integer;
|
||||||
|
{$ENDIF}
|
||||||
FocusEditor: boolean): boolean;
|
FocusEditor: boolean): boolean;
|
||||||
var
|
var
|
||||||
MaxMessages: integer;
|
MaxMessages: integer;
|
||||||
@ -11141,10 +11185,12 @@ end;
|
|||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
{$IFNDEF EnableNewExtTools}
|
||||||
procedure TMainIDE.MessagesViewSelectionChanged(sender: TObject);
|
procedure TMainIDE.MessagesViewSelectionChanged(sender: TObject);
|
||||||
begin
|
begin
|
||||||
DoJumpToCompilerMessage(TMessagesView(Sender).SelectedMessageIndex,True);
|
DoJumpToCompilerMessage(TMessagesView(Sender).SelectedMessageIndex,True);
|
||||||
end;
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
procedure TMainIDE.SearchResultsViewSelectionChanged(sender: TObject);
|
procedure TMainIDE.SearchResultsViewSelectionChanged(sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
|||||||
@ -3943,7 +3943,7 @@ begin
|
|||||||
mtInformation,[mbOk],'');
|
mtInformation,[mbOk],'');
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
MainIDE.DoJumpToCompilerMessage(-1,true);
|
MainIDE.DoJumpToCompilerMessage({$IFDEF EnableNewExtTools}nil{$ELSE}-1{$ENDIF},true);
|
||||||
Result:=mrAbort;
|
Result:=mrAbort;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user