IDE: fixed compilation by breaking a unit circle

git-svn-id: trunk@29466 -
This commit is contained in:
mattias 2011-02-11 15:29:27 +00:00
parent ad16dee4b9
commit 53680baba2
38 changed files with 204 additions and 165 deletions

View File

@ -32,12 +32,12 @@ interface
uses
Classes, SysUtils, LCLProc, FileProcs, Forms, Controls, Graphics,
Dialogs, LConvEncoding, ExtCtrls, StdCtrls, ComCtrls,
IDEWindowIntf, SynRegExpr, SrcEditorIntf,
Dialogs, LConvEncoding, ExtCtrls, StdCtrls, ComCtrls, Buttons,
IDEWindowIntf, SynRegExpr, SrcEditorIntf, IDEHelpIntf,
CodeCache, CodeToolsStructs, CodeToolManager, AVL_Tree,
// IDE
IDEProcs, CodeBrowser, PackageDefs, PackageSystem, Project,
LazarusIDEStrConsts, Buttons, IDEContextHelpEdit;
LazarusIDEStrConsts;
type
@ -227,7 +227,7 @@ end;
procedure TChgEncodingDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TChgEncodingDialog.PreviewButtonClick(Sender: TObject);

View File

@ -6,8 +6,9 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, LCLProc,
ExtCtrls, StdCtrls, Buttons, DebuggerDlg, Debugger, ButtonPanel, EditBtn,
BaseDebugManager, IDEContextHelpEdit, LazarusIDEStrConsts, InputHistory;
ExtCtrls, StdCtrls, Buttons, ButtonPanel, EditBtn,
IDEHelpIntf,
DebuggerDlg, Debugger, BaseDebugManager, LazarusIDEStrConsts, InputHistory;
type
@ -69,7 +70,7 @@ end;
procedure TBreakPropertyDlg.btnHelpClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TBreakPropertyDlg.BreakPointRemove(

View File

@ -40,8 +40,9 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
Buttons, Extctrls, Menus,
IDEContextHelpEdit, Debugger, BaseDebugManager, ButtonPanel;
Buttons, Extctrls, Menus, ButtonPanel,
IDEHelpIntf,
IDEContextHelpEdit, Debugger, BaseDebugManager;
type
@ -102,7 +103,7 @@ end;
procedure TWatchPropertyDlg.btnHelpClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
constructor TWatchPropertyDlg.Create(AOwner: TComponent; const AWatch: TIDEWatch;

View File

@ -6,9 +6,10 @@ interface
uses
Classes, SysUtils, LCLProc, LCLType, Forms, Controls, Graphics, ComCtrls,
Dialogs, Buttons, ExtCtrls, StdCtrls, BasicCodeTools, FileUtil, IDEProcs,
InputHistory, LazarusIDEStrConsts, EnvironmentOpts, TransferMacros,
IDEContextHelpEdit, ButtonPanel;
Dialogs, Buttons, ExtCtrls, StdCtrls, FileUtil, ButtonPanel,
BasicCodeTools,
IDEHelpIntf,
IDEProcs, InputHistory, LazarusIDEStrConsts, EnvironmentOpts, TransferMacros;
type
TIDEDirective = (
@ -496,7 +497,7 @@ end;
procedure TBuildFileDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TBuildFileDialog.OkButtonClick(Sender: TObject);

View File

@ -46,10 +46,13 @@ interface
uses
Classes, SysUtils, LCLProc, LConvEncoding, Forms, Controls, LCLType, LCLIntf,
Graphics, GraphType, StdCtrls, ExtCtrls, Buttons, FileUtil, Dialogs, Types,
InterfaceBase, Themes, ComCtrls, CheckLst, Menus,
DefineTemplates, Laz_XMLCfg, DividerBevel,
LazarusIDEStrConsts, TransferMacros, LazIDEIntf, LazConf, IDEProcs, DialogProcs,
IDEMsgIntf, IDEContextHelpEdit, IDEImagesIntf, IDEWindowIntf, MainBar,
InterfaceBase, Themes, ComCtrls, CheckLst, Menus, DividerBevel,
DefineTemplates, Laz_XMLCfg,
// IDEIntf
LazIDEIntf, IDEMsgIntf, IDEHelpIntf, IDEImagesIntf, IDEWindowIntf,
// IDE
LazarusIDEStrConsts, TransferMacros, LazConf, IDEProcs, DialogProcs,
IDEContextHelpEdit, MainBar,
InputHistory, ExtToolDialog, ExtToolEditDlg, EnvironmentOpts,
{$IFDEF win32}
CodeToolManager, // added for windres workaround
@ -870,7 +873,7 @@ end;
procedure TConfigureBuildLazarusDlg.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TConfigureBuildLazarusDlg.MakeModeListHeaderResize(Sender: TObject);

View File

@ -1669,8 +1669,8 @@ function TBuildManager.OnRunCompilerWithOptions(
begin
if SourceEditorManagerIntf<>nil then
SourceEditorManagerIntf.ClearErrorLines;
Result:=EnvironmentOptions.ExternalTools.Run(ExtTool,GlobalMacroList,
nil,CompOptions,false);
Result:=EnvironmentOptions.ExternalTools.Run(ExtTool,GlobalMacroList,false,
CompOptions);
if LazarusIDE<>nil then
LazarusIDE.DoCheckFilesOnDisk;
end;

View File

@ -34,7 +34,7 @@ uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, Buttons, StdCtrls, ComCtrls, Contnrs, ButtonPanel,
Laz_XMLCfg, DefineTemplates,
IDEImagesIntf, IDEMsgIntf,
IDEImagesIntf, IDEMsgIntf, IDEHelpIntf,
LazarusIDEStrConsts, LazConf, InterfaceBase, IDEProcs,
IDEContextHelpEdit, CompilerOptions;
@ -934,7 +934,7 @@ end;
procedure TBuildProfileManagerForm.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
end.

View File

@ -38,8 +38,10 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Buttons,
StdCtrls, LCLType, LCLProc, LCLUnicodeData, GraphType, LazarusIDEStrConsts, EditorOptions,
EnvironmentOpts, Grids, IDEContextHelpEdit, ButtonPanel, ComCtrls;
StdCtrls, LCLType, LCLProc, LCLUnicodeData, GraphType, Grids, ButtonPanel,
ComCtrls,
IDEHelpIntf,
LazarusIDEStrConsts, EditorOptions, EnvironmentOpts;
type
TOnInsertCharacterEvent = procedure (const C: TUTF8Char) of object;
@ -110,7 +112,7 @@ end;
procedure TCharacterMapDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
function RoundUp(Value, Divi:integer):integer;

View File

@ -31,9 +31,10 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Buttons,
StdCtrls, FileUtil, LCLProc, Laz_XMLCfg, SynRegExpr, IDEContextHelpEdit,
StdCtrls, FileUtil, LCLProc, Laz_XMLCfg, SynRegExpr, ButtonPanel,
IDEHelpIntf,
LazarusIDEStrConsts, LazConf, IDEProcs, TransferMacros, InputHistory,
ButtonPanel, ShowDeletingFilesDlg;
ShowDeletingFilesDlg;
type
@ -136,7 +137,7 @@ end;
procedure TCleanDirectoryDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TCleanDirectoryDialog.DirBrowseButtonClick(Sender: TObject);

View File

@ -32,17 +32,18 @@ interface
uses
Classes, SysUtils, LCLProc, LResources, Forms, Controls, Graphics, Dialogs,
ClipBrd, StdCtrls, Buttons, ExtCtrls, Menus, FileUtil,
ClipBrd, StdCtrls, Buttons, ExtCtrls, Menus, FileUtil, ButtonPanel,
// synedit
SynEdit, SynHighlighterPas, SynEditAutoComplete,
SynEdit, SynHighlighterPas, SynEditAutoComplete, SynRegExpr,
// codetools
CodeToolManager, CodeAtom, CodeCache, KeywordFuncLists, BasicCodeTools,
PascalParserTool,
// IDEIntf
IDECommands, TextTools, SrcEditorIntf, MenuIntf, IDEWindowIntf, LazIDEIntf,
IDEHelpIntf,
// IDE
IDEProcs, InputHistory, LazarusIDEStrConsts, EditorOptions, CodeMacroSelect,
IDEContextHelpEdit, ButtonPanel, SynRegExpr, CodeMacroPrompt;
CodeMacroPrompt;
type
TAutoCompleteOption = (
@ -990,7 +991,7 @@ end;
procedure TCodeTemplateDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TCodeTemplateDialog.InsertMacroButtonClick(Sender: TObject);

View File

@ -31,10 +31,11 @@ interface
uses
Classes, SysUtils, Math,
LCLProc, Forms, Controls, Graphics, Dialogs,
LCLProc, Forms, Controls, Graphics, Dialogs, ButtonPanel,
StdCtrls, Buttons, ComCtrls, ExtCtrls, FileUtil, AVGLvlTree,
SynEdit, DefineTemplates, ExprEval, IDEWindowIntf, EditorOptions,
LazarusIDEStrConsts, InputHistory, CodeToolsOptions, ButtonPanel,
SynEdit, DefineTemplates, ExprEval,
IDEWindowIntf, IDEHelpIntf,
EditorOptions, LazarusIDEStrConsts, InputHistory, CodeToolsOptions,
IDEContextHelpEdit;
type
@ -205,7 +206,7 @@ end;
procedure TCodeToolsDefinesDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TCodeToolsDefinesDialog.ParsedTemplatesTreeViewSelectionChanged(

View File

@ -44,8 +44,9 @@ uses
Dialogs, Controls, GraphType, LCLType,
LinkScanner,
MacroIntf, ProjectIntf, IDEWindowIntf, IDEContextHelpEdit, MainIntf,
IDEHelpIntf, IDEImagesIntf, IDEMsgIntf,
TransferMacros, PathEditorDlg, LazarusIDEStrConsts, IDEOptionDefs, LazConf,
IDEProcs, IDEImagesIntf, ShowCompilerOpts, Project, PackageDefs, IDEMsgIntf,
IDEProcs, ShowCompilerOpts, Project, PackageDefs,
CompilerOptions, CheckCompilerOpts, CompOptsModes, BuildModesEditor,
Compiler_BuildMacro_Options, CheckLst;
@ -565,7 +566,7 @@ end;
procedure TfrmCompilerOptions.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TfrmCompilerOptions.InhTreeViewSelectionChanged(Sender: TObject);

View File

@ -53,10 +53,11 @@ interface
*)
uses
Classes, SysUtils, Messages, Graphics, Controls, Forms, LCLProc, Dialogs,
StdCtrls, Buttons, FileUtil,
Classes, SysUtils, Graphics, Controls, Forms, LCLProc, Dialogs,
StdCtrls, Buttons, FileUtil, ButtonPanel,
Laz_XMLCfg,
LazarusIDEStrConsts, IDEContextHelpEdit, IDEProcs, ButtonPanel;
IDEHelpIntf,
LazarusIDEStrConsts, IDEProcs;
type
@ -132,7 +133,7 @@ end;
procedure TCondForm.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TCondForm.CondFormCLOSE(Sender: TObject; var CloseAction: TCloseAction);

View File

@ -41,8 +41,9 @@ interface
uses
Classes, SysUtils, Math, Forms, Controls, Buttons, StdCtrls, FileUtil,
LazarusIDEStrConsts, EditorOptions, IDEWindowIntf, LCLType,
InputHistory, DiffPatch, ExtCtrls, Dialogs, SynEdit, SynHighlighterDiff, IDEContextHelpEdit,
LazarusIDEStrConsts, EditorOptions, LCLType,
IDEWindowIntf, IDEHelpIntf,
InputHistory, DiffPatch, ExtCtrls, Dialogs, SynEdit, SynHighlighterDiff,
SourceEditor;
type
@ -217,7 +218,7 @@ end;
procedure TDiffDlg.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TDiffDlg.SaveDiffButtonClick(Sender: TObject);

View File

@ -38,10 +38,13 @@ uses
ShlObj,
{$endif}
Classes, SysUtils, Graphics, Controls, Forms, LCLProc, FileProcs, Dialogs,
Laz_XMLCfg, ProjectIntf,
Laz_XMLCfg, LazConfigStorage,
// IDEIntf
ProjectIntf, ObjectInspector, IDEWindowIntf, IDEOptionsIntf,
IDEExternToolIntf,
// IDE
IDEProcs, LazarusIDEStrConsts, IDETranslations, LazConf,
ObjectInspector, IDEOptionDefs, IDEWindowIntf, ExtToolDialog, TransferMacros,
IDEOptionsIntf, Debugger;
IDEOptionDefs, TransferMacros, Debugger;
const
EnvOptsVersion: integer = 106;
@ -137,6 +140,20 @@ const
'Never'
);
type
TBaseExternalToolList = class(TList)
public
function Load(Config: TConfigStorage; const Path: string): TModalResult; virtual; abstract;
function Save(Config: TConfigStorage; const Path: string): TModalResult; virtual; abstract;
function Run(ExtTool: TIDEExternalToolOptions;
Macros: TTransferMacroList;
ShowAbort: boolean;
CompilerOptions: TLazCompilerOptions = nil): TModalResult; virtual; abstract;
end;
TExternalToolListClass = class of TBaseExternalToolList;
var
ExternalToolListClass: TExternalToolListClass; // set by ExtToolDialog
type
{ TEnvironmentOptions - class for storing environment options }
@ -259,7 +276,7 @@ type
FBackupInfoOtherFiles: TBackupInfo;
// external tools
fExternalTools: TExternalToolList;
fExternalTools: TBaseExternalToolList;
// naming conventions
fPascalFileExtension: TPascalExtType;
@ -493,8 +510,8 @@ type
write FBackupInfoOtherFiles;
// external tools
property ExternalTools: TExternalToolList read fExternalTools
write fExternalTools;
property ExternalTools: TBaseExternalToolList read fExternalTools
write fExternalTools;
// naming conventions
property PascalFileExtension: TPascalExtType read fPascalFileExtension
@ -779,7 +796,7 @@ begin
end;
// external tools
fExternalTools:=TExternalToolList.Create;
fExternalTools:=ExternalToolListClass.Create;
// naming
fPascalFileExtension:=petPAS;

View File

@ -36,7 +36,8 @@ uses
Dialogs, ExtCtrls, Buttons, StdCtrls,
BasicCodeTools, CodeTree, CodeAtom, CodeCache, CodeToolManager,
ExtractProcTool,
LazarusIDEStrConsts, IDEProcs, MiscOptions, IDEContextHelpEdit;
IDEHelpIntf,
LazarusIDEStrConsts, IDEProcs, MiscOptions;
type
@ -185,7 +186,7 @@ end;
procedure TExtractProcDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TExtractProcDialog.CreateFunctionCheckBoxChange(Sender: TObject);

View File

@ -40,11 +40,13 @@ uses
MemCheck,
{$ENDIF}
Classes, SysUtils, Process, LCLType, LCLProc, Controls, Forms,
Buttons, StdCtrls, ComCtrls, Dialogs, ExtCtrls,
Buttons, StdCtrls, ComCtrls, Dialogs, ExtCtrls, ButtonPanel,
LazConfigStorage, FileUtil, UTF8Process,
IDEExternToolIntf, IDEImagesIntf, IDEDialogs,
ExtToolEditDlg, IDECommands, KeyMapping, TransferMacros, IDEProcs,
InfoBuild, CompilerOptions, OutputFilter, LazarusIDEStrConsts, ButtonPanel;
IDEExternToolIntf, IDEImagesIntf, IDEDialogs, IDEHelpIntf, IDECommands,
ProjectIntf,
EnvironmentOpts,
ExtToolEditDlg, KeyMapping, TransferMacros, IDEProcs,
InfoBuild, CompilerOptions, OutputFilter, LazarusIDEStrConsts;
const
MaxExtTools = ecExtToolLast-ecExtToolFirst+1;
@ -58,7 +60,7 @@ type
{ TExternalToolList -
the storage object for all external tools }
TExternalToolList = class(TList)
TExternalToolList = class(TBaseExternalToolList)
private
fOnFreeOutputFilter: TOnFreeOutputFilter;
fOnNeedsOutputFilter: TOnNeedsOutputFilter;
@ -76,20 +78,16 @@ type
procedure FreeStoppedProcesses;
procedure Insert(Index: integer; NewTool: TExternalToolOptions);
function Load(Config: TConfigStorage): TModalResult;
function Load(Config: TConfigStorage; const Path: string): TModalResult;
function Load(Config: TConfigStorage; const Path: string): TModalResult; override;
procedure LoadShortCuts(KeyCommandRelationList: TKeyCommandRelationList);
function Run(ExtTool: TIDEExternalToolOptions;
Macros: TTransferMacroList;
ShowAbort: boolean): TModalResult;
function Run(ExtTool: TIDEExternalToolOptions;
Macros: TTransferMacroList;
TheOutputFilter: TOutputFilter;
CompilerOptions: TBaseCompilerOptions;
ShowAbort: boolean): TModalResult;
ShowAbort: boolean;
CompilerOptions: TLazCompilerOptions = nil): TModalResult; override;
function Run(Index: integer; Macros: TTransferMacroList;
ShowAbort: boolean): TModalResult;
function Save(Config: TConfigStorage): TModalResult;
function Save(Config: TConfigStorage; const Path: string): TModalResult;
function Save(Config: TConfigStorage; const Path: string): TModalResult; override;
procedure SaveShortCuts(KeyCommandRelationList: TKeyCommandRelationList);
property Items[Index: integer]: TExternalToolOptions
@ -144,9 +142,6 @@ implementation
{$R *.lfm}
uses
IDEContextHelpEdit;
function ShowExtToolDialog(ExtToolList: TExternalToolList;
TransferMacros: TTransferMacroList):TModalResult;
var ExternalToolDialog: TExternalToolDialog;
@ -283,12 +278,6 @@ begin
end;
end;
function TExternalToolList.Run(ExtTool: TIDEExternalToolOptions;
Macros: TTransferMacroList; ShowAbort: boolean): TModalResult;
begin
Result:=Run(ExtTool,Macros,nil,nil,ShowAbort);
end;
function TExternalToolList.Run(Index: integer;
Macros: TTransferMacroList; ShowAbort: boolean): TModalResult;
begin
@ -298,16 +287,19 @@ begin
end;
function TExternalToolList.Run(ExtTool: TIDEExternalToolOptions;
Macros: TTransferMacroList; TheOutputFilter: TOutputFilter;
CompilerOptions: TBaseCompilerOptions; ShowAbort: boolean): TModalResult;
var WorkingDir, Filename, Params, CmdLine, Title: string;
Macros: TTransferMacroList; ShowAbort: boolean;
CompilerOptions: TLazCompilerOptions): TModalResult;
var
WorkingDir, Filename, Params, CmdLine, Title: string;
TheProcess: TProcessUTF8;
Abort, ErrorOccurred: boolean;
NewFilename: String;
Btns: TMsgDlgButtons;
TheOutputFilter: TOutputFilter;
begin
Result:=mrCancel;
if ExtTool=nil then exit;
TheOutputFilter:=nil;
Filename:=ExtTool.Filename;
WorkingDir:=ExtTool.WorkingDirectory;
Params:=ExtTool.CmdLineParams;
@ -368,7 +360,7 @@ begin
if TheOutputFilter<>nil then begin
ErrorOccurred:=false;
try
TheOutputFilter.CompilerOptions:=CompilerOptions;
TheOutputFilter.CompilerOptions:=CompilerOptions as TBaseCompilerOptions;
TheOutputFilter.Options:=[ofoExceptionOnError,
ofoMakeFilenamesAbsolute];
if ExtTool.ScanOutputForFPCMessages then
@ -602,7 +594,7 @@ end;
procedure TExternalToolDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TExternalToolDialog.RemoveButtonClick(Sender: TObject);
@ -664,4 +656,7 @@ begin
EnableButtons;
end;
initialization
ExternalToolListClass:=TExternalToolList;
end.

View File

@ -45,7 +45,7 @@ uses
Classes, SysUtils, FileUtil,
LCLType, Controls, Forms, Buttons, StdCtrls, ComCtrls,
Dialogs, ExtCtrls, LCLProc, ButtonPanel,
IDEMsgIntf, IDEExternToolIntf,
IDEMsgIntf, IDEExternToolIntf, IDEHelpIntf,
PropEdits, TransferMacros, LazarusIDEStrConsts,
EditMsgScannersDlg;
@ -124,9 +124,6 @@ implementation
{$R *.lfm}
uses
IDEContextHelpEdit;
function ShowExtToolOptionDlg(TransferMacroList: TTransferMacroList;
ExternalToolOptions: TExternalToolOptions):TModalResult;
var ExternalToolOptionDlg: TExternalToolOptionDlg;
@ -287,7 +284,7 @@ end;
procedure TExternalToolOptionDlg.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TExternalToolOptionDlg.SetOptions(TheOptions: TExternalToolOptions);

View File

@ -24,9 +24,12 @@ interface
uses
Classes, SysUtils, LCLProc, LCLIntf, Controls, StdCtrls, Forms, Buttons,
ExtCtrls, FileProcs, LazarusIDEStrConsts, Dialogs, SynEditTypes, MacroIntf,
IDEDialogs, IDEWindowIntf, InputHistory, IDEContextHelpEdit, ButtonPanel,
SrcEditorIntf, EditorOptions, SearchFrm, Project, SynEdit, SearchResultView;
ExtCtrls, FileProcs, LazarusIDEStrConsts, Dialogs, SynEditTypes,
ButtonPanel,
MacroIntf, IDEWindowIntf, SrcEditorIntf, IDEHelpIntf,
InputHistory,
IDEDialogs,
EditorOptions, SearchFrm, Project, SynEdit, SearchResultView;
type
{ TLazFindInFilesDialog }
@ -184,7 +187,7 @@ end;
procedure TLazFindInFilesDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TLazFindInFilesDialog.OKButtonClick(Sender : TObject);

View File

@ -41,8 +41,8 @@ uses
Classes, Math, SysUtils, LCLProc, LCLType, Controls, StdCtrls, Forms, Buttons,
ExtCtrls, Dialogs, Graphics,
SynEditTypes, SynRegExpr, SynEdit,
IDEImagesIntf, IDEWindowIntf, LazarusIdeStrConsts, IDEContextHelpEdit,
InputHistory;
IDEHelpIntf, IDEImagesIntf, IDEWindowIntf,
LazarusIdeStrConsts, InputHistory;
type
TFindDlgComponent = (fdcText, fdcReplace);
@ -298,7 +298,7 @@ end;
procedure TLazFindReplaceDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TLazFindReplaceDialog.OptionsGroupBoxResize(Sender: TObject);

View File

@ -1,3 +1,4 @@
{ ToDo: move to lazcontrols }
unit GenericCheckList;
{$mode objfpc}{$H+}

View File

@ -35,7 +35,7 @@ interface
uses
// FCL+LCL
Classes, SysUtils, AVL_Tree, LCLProc, LCLIntf, LCLType, Forms, Controls, Buttons,
StdCtrls, Dialogs, ExtCtrls, FileProcs, Graphics,
StdCtrls, Dialogs, ExtCtrls, FileProcs, Graphics, ButtonPanel,
// CodeTools
BasicCodeTools, CodeToolManager, CodeAtom, CodeCache, CustomCodeTool, CodeTree,
PascalParserTool, FindDeclarationTool,
@ -47,7 +47,7 @@ uses
LazarusIDEStrConsts, TransferMacros, DialogProcs, IDEOptionDefs,
ObjInspExt, EnvironmentOpts, AboutFrm, MsgView, Project, PackageDefs, MainBar,
OutputFilter, HelpOptions, MainIntf, LazConf, HelpFPCMessages, CodeHelp,
IDEContextHelpEdit, ButtonPanel;
IDEContextHelpEdit, IDEWindowHelp;
type
@ -163,6 +163,8 @@ type
var ErrMsg: string): TShowHelpResult; override;
procedure ShowHelpForMessage(Line: integer); override;
procedure ShowHelpForObjectInspector(Sender: TObject); override;
procedure ShowHelpForIDEControl(Sender: TControl); override;
function CreateHint(aHintWindow: THintWindow; ScreenPos: TPoint;
const BaseURL: string; var TheHint: string;
out HintWinRect: TRect): boolean; override;
@ -1248,11 +1250,17 @@ begin
end;
end else begin
DebugLn('TIDEHelpManager.ShowHelpForObjectInspector show default help for OI');
ShowContextHelpForIDE(AnInspector);
ShowHelpForIDEControl(AnInspector);
end;
end;
end;
procedure TIDEHelpManager.ShowHelpForIDEControl(Sender: TControl);
begin
LoadIDEWindowHelp;
IDEWindowHelpNodes.InvokeHelp(Sender);
end;
function TIDEHelpManager.CreateHint(aHintWindow: THintWindow; ScreenPos: TPoint;
const BaseURL: string; var TheHint: string; out HintWinRect: TRect): boolean;
var

View File

@ -125,7 +125,6 @@ var
ContextHelpEditorDlg: TContextHelpEditorDlg = nil;
function ShowContextHelpEditor(Sender: TObject): TModalResult;
procedure ShowContextHelpForIDE(Sender: TObject);
function FindDeclarationOfIDEControl(AControl: TControl; out Filename: string;
out X, Y: integer): boolean;
@ -149,16 +148,6 @@ begin
end;
end;
procedure ShowContextHelpForIDE(Sender: TObject);
begin
if Sender is TControl then begin
LoadIDEWindowHelp;
IDEWindowHelpNodes.InvokeHelp(TControl(Sender));
end else begin
DebugLn('ShowContextHelpForIDE Sender=',dbgsName(Sender));
end;
end;
function FindDeclarationOfIDEControl(AControl: TControl; out Filename: string;
out X, Y: integer): boolean;
var

View File

@ -32,8 +32,9 @@ interface
uses
Classes, SysUtils, Controls, Forms, ComCtrls, LCLProc, LCLType,
Buttons, ButtonPanel, ExtCtrls,
EnvironmentOpts, LazarusIDEStrConsts, IDEWindowIntf, IDEOptionsIntf,
EditorOptions, IDECommands;
IDEWindowIntf, IDEOptionsIntf, IDECommands, IDEHelpIntf,
EnvironmentOpts, LazarusIDEStrConsts,
EditorOptions;
type
TIDEOptsDlgAction = (
@ -124,9 +125,9 @@ end;
procedure TIDEOptionsDialog.HelpButtonClick(Sender: TObject);
begin
if PrevEditor<>nil then
ShowContextHelpForIDE(PrevEditor)
LazarusHelp.ShowHelpForIDEControl(PrevEditor)
else
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TIDEOptionsDialog.IDEOptionsDialogKeyPress(Sender: TObject;
@ -192,7 +193,7 @@ begin
Command := EditorOpts.KeyMap.TranslateKey(Key,Shift,nil);
if (Command=ecContextHelp) and (PrevEditor <> nil) then begin
Key:=VK_UNKNOWN;
ShowContextHelpForIDE(PrevEditor);
LazarusHelp.ShowHelpForIDEControl(PrevEditor);
end;
end;

View File

@ -31,7 +31,8 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Buttons, LCLType,
LCLProc, ExtCtrls, StdCtrls, LazIDEIntf, LazarusIDEStrConsts, FileCtrl;
LCLProc, ExtCtrls, StdCtrls, LazIDEIntf, LazarusIDEStrConsts, FileCtrl,
EnvironmentOpts;
type
@ -108,9 +109,6 @@ implementation
{$R *.lfm}
uses
EnvironmentOpts;
var
MCompileInfoDlg: TCompileInfoDlg;
MCompileDialogEnabled: Boolean = False;

View File

@ -32,7 +32,8 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, Buttons, KeyMapping, LazarusIDEStrConsts, ButtonPanel;
ExtCtrls, Buttons, KeyMapping, LazarusIDEStrConsts, ButtonPanel,
IDEHelpIntf;
type
@ -97,7 +98,7 @@ end;
procedure TChooseKeySchemeDlg.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
function TChooseKeySchemeDlg.GetKeymapScheme: string;

View File

@ -351,6 +351,7 @@ type
procedure mnuSetBuildModeClick(Sender: TObject); // event for drop down items
private
function DoBuildLazarusSub(Flags: TBuildLazarusFlags): TModalResult;
function ExternalTools: TExternalToolList;
public
// Global IDE events
procedure OnProcessIDECommand(Sender: TObject; Command: word;
@ -1235,11 +1236,11 @@ begin
TranslateResourceStrings(EnvironmentOptions.LazarusDirectory,
EnvironmentOptions.LanguageID);
ExternalTools.OnNeedsOutputFilter := @OnExtToolNeedsOutputFilter;
ExternalTools.OnFreeOutputFilter := @OnExtToolFreeOutputFilter;
Application.ShowButtonGlyphs := ShowButtonGlyphs;
Application.ShowMenuGlyphs := ShowMenuGlyphs;
end;
ExternalTools.OnNeedsOutputFilter := @OnExtToolNeedsOutputFilter;
ExternalTools.OnFreeOutputFilter := @OnExtToolFreeOutputFilter;
IDEWindowCreators.OnShowForm:=@IDEWindowCreators.SimpleLayoutStorage.ApplyAndShow;
UpdateDefaultPascalFileExtensions;
@ -1250,7 +1251,7 @@ begin
SetupIDEMsgQuickFixItems;
EditorOpts.Load;
EnvironmentOptions.ExternalTools.LoadShortCuts(EditorOpts.KeyMap);
ExternalTools.LoadShortCuts(EditorOpts.KeyMap);
MiscellaneousOptions := TMiscellaneousOptions.Create;
MiscellaneousOptions.Load;
@ -4198,13 +4199,13 @@ end;
procedure TMainIDE.mnuToolConfigureClicked(Sender: TObject);
begin
if ShowExtToolDialog(EnvironmentOptions.ExternalTools,GlobalMacroList)=mrOk then
if ShowExtToolDialog(ExternalTools,GlobalMacroList)=mrOk then
begin
// save to environment options
SaveDesktopSettings(EnvironmentOptions);
EnvironmentOptions.Save(false);
// save shortcuts to editor options
EnvironmentOptions.ExternalTools.SaveShortCuts(EditorOpts.KeyMap);
ExternalTools.SaveShortCuts(EditorOpts.KeyMap);
EditorOpts.Save;
UpdateHighlighters(True);
SourceEditorManager.ReloadEditorOptions;
@ -4452,7 +4453,7 @@ var
begin
if not (Sender is TIDEMenuItem) then exit;
Index:=itmCustomTools.IndexOf(TIDEMenuItem(Sender))-1;
if (Index<0) or (Index>=EnvironmentOptions.ExternalTools.Count) then exit;
if (Index<0) or (Index>=ExternalTools.Count) then exit;
DoRunExternalTool(Index,false);
end;
@ -11533,7 +11534,7 @@ function TMainIDE.DoRunExternalTool(Index: integer; ShowAbort: Boolean
): TModalResult;
begin
SourceEditorManager.ClearErrorLines;
Result:=EnvironmentOptions.ExternalTools.Run(Index,GlobalMacroList,ShowAbort);
Result:=ExternalTools.Run(Index,GlobalMacroList,ShowAbort);
DoCheckFilesOnDisk;
end;
@ -11602,7 +11603,7 @@ begin
SourceEditorManager.ClearErrorLines;
CompileProgress.CreateDialog(OwningComponent, 'Lazarus...', '');
Result:=BuildLazarus(MiscellaneousOptions.BuildLazProfiles,
EnvironmentOptions.ExternalTools,GlobalMacroList,
ExternalTools,GlobalMacroList,
'',EnvironmentOptions.GetCompilerFilename,
EnvironmentOptions.MakeFilename,
Flags+[blfWithoutCompilingIDE,blfWithoutLinkingIDE]);
@ -11678,7 +11679,7 @@ begin
// make ide
SourceEditorManager.ClearErrorLines;
Result:=BuildLazarus(MiscellaneousOptions.BuildLazProfiles,
EnvironmentOptions.ExternalTools,GlobalMacroList,
ExternalTools,GlobalMacroList,
PkgOptions,EnvironmentOptions.GetCompilerFilename,
EnvironmentOptions.MakeFilename,
IDEBuildFlags+[blfUseMakeIDECfg]
@ -11698,6 +11699,11 @@ begin
end;
end;
function TMainIDE.ExternalTools: TExternalToolList;
begin
Result:=TExternalToolList(EnvironmentOptions.ExternalTools);
end;
function TMainIDE.DoBuildLazarus(Flags: TBuildLazarusFlags): TModalResult;
begin
Result:=DoBuildLazarusSub(Flags);
@ -11837,7 +11843,7 @@ begin
ExtTool.CmdLineParams:=Params;
// run
Result:=EnvironmentOptions.ExternalTools.Run(ExtTool,GlobalMacroList,true);
Result:=ExternalTools.Run(ExtTool,GlobalMacroList,true);
finally
// clean up
ExtTool.Free;
@ -11924,7 +11930,7 @@ begin
ExtTool.CmdLineParams:=Params;
// run
Result:=EnvironmentOptions.ExternalTools.Run(ExtTool,GlobalMacroList,false);
Result:=ExternalTools.Run(ExtTool,GlobalMacroList,false);
finally
// clean up
ExtTool.Free;
@ -12222,7 +12228,7 @@ var
Index:=0;
while (i<itmCustomTools.Count) do begin
CurMenuItem:=itmCustomTools[i];
ExtTool:=EnvironmentOptions.ExternalTools[Index];
ExtTool:=ExternalTools[Index];
CurMenuItem.Caption:=ExtTool.Title;
if CurMenuItem is TIDEMenuCommand then
TIDEMenuCommand(CurMenuItem).Command:=
@ -12234,7 +12240,7 @@ var
end;
begin
ToolCount:=EnvironmentOptions.ExternalTools.Count;
ToolCount:=ExternalTools.Count;
CreateToolMenuItems;
SetToolMenuItems;
end;
@ -12256,7 +12262,7 @@ end;
function TMainIDE.OnRunExternalTool(Tool: TIDEExternalToolOptions): TModalResult;
begin
SourceEditorManager.ClearErrorLines;
Result:=EnvironmentOptions.ExternalTools.Run(Tool,GlobalMacroList,false);
Result:=ExternalTools.Run(Tool,GlobalMacroList,false);
DoCheckFilesOnDisk;
end;
@ -12674,7 +12680,7 @@ begin
Tool.Title:=lisCommandAfterPublishingModule;
Tool.WorkingDirectory:=DestDir;
Tool.CmdLineParams:=CmdAfterParams;
Result:=EnvironmentOptions.ExternalTools.Run(Tool,GlobalMacroList,false);
Result:=ExternalTools.Run(Tool,GlobalMacroList,false);
if Result<>mrOk then exit;
end else begin
ShowErrorForCommandAfter;
@ -16356,7 +16362,7 @@ begin
if FNeedUpdateHighlighters then
UpdateHighlighters(true);
GetDefaultProcessList.FreeStoppedProcesses;
EnvironmentOptions.ExternalTools.FreeStoppedProcesses;
ExternalTools.FreeStoppedProcesses;
if (SplashForm<>nil) then FreeThenNil(SplashForm);
if FUserInputSinceLastIdle then
@ -16420,9 +16426,9 @@ begin
if Command=ecEditContextHelp then begin
Key:=VK_UNKNOWN;
ShowContextHelpEditor(Sender);
end else if Command=ecContextHelp then begin
end else if (Command=ecContextHelp) and (Sender is TControl) then begin
Key:=VK_UNKNOWN;
ShowContextHelpForIDE(Sender);
LazarusHelp.ShowHelpForIDEControl(TControl(Sender));
end;
end;

View File

@ -41,9 +41,12 @@ interface
uses
Classes, SysUtils, LCLProc, Forms, Controls, Buttons, ComCtrls, StdCtrls,
Dialogs, LazarusIDEStrConsts, IDEWindowIntf, CodeToolManager,
CodeAtom, CodeToolsStructs, CodeCache, SynHighlighterPas, SynEdit,
EditorOptions, InputHistory, MiscOptions, ExtCtrls, IDEContextHelpEdit;
Dialogs, ExtCtrls, IDEWindowIntf,
SynHighlighterPas, SynEdit,
CodeToolManager, CodeAtom, CodeToolsStructs, CodeCache,
IDEHelpIntf,
LazarusIDEStrConsts,
EditorOptions, InputHistory, MiscOptions;
type
@ -210,7 +213,7 @@ end;
procedure TMakeResStrDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TMakeResStrDialog.IdentLengthComboBoxChange(Sender: TObject);

View File

@ -43,8 +43,8 @@ uses
Buttons, SysUtils, Classes, LCLProc, ComCtrls, Controls, Dialogs,
Forms, StdCtrls, ExtCtrls, FileProcs,
IDEWindowIntf, IDEImagesIntf, NewItemIntf, PackageIntf, ProjectIntf,
LazIDEIntf,
LazarusIDEStrConsts, IDEContextHelpEdit, Project, MainIntf, ButtonPanel;
LazIDEIntf, IDEHelpIntf,
LazarusIDEStrConsts, Project, MainIntf, ButtonPanel;
type
{ TNewLazIDEItemCategory }
@ -318,7 +318,7 @@ end;
procedure TNewOtherDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TNewOtherDialog.SetupComponents;

View File

@ -31,9 +31,9 @@ unit NewProjectDlg;
interface
uses
Classes, SysUtils, Forms, Graphics, Controls, Project, Buttons,
StdCtrls, ProjectIntf, ExtCtrls, LazarusIDEStrConsts, IDEContextHelpEdit,
ButtonPanel;
Classes, SysUtils, Forms, Graphics, Controls, Project, Buttons, ButtonPanel,
StdCtrls, ProjectIntf, ExtCtrls, LazarusIDEStrConsts,
IDEHelpIntf;
type
@ -134,7 +134,7 @@ end;
procedure TNewProjectDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TNewProjectDialog.ListBoxDblClick(Sender: TObject);

View File

@ -39,9 +39,9 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Buttons,
StdCtrls, Dialogs, LCLType,
IDEWindowIntf,
IDEWindowIntf, IDEHelpIntf,
ProjectDefs, PackageDefs, PublishModule, IDEOptionDefs, InputHistory,
LazarusIDEStrConsts, ExtCtrls, IDEContextHelpEdit, ButtonPanel;
LazarusIDEStrConsts, ExtCtrls, ButtonPanel;
type
{ TPublishProjectDialog }
@ -183,7 +183,7 @@ end;
procedure TPublishProjectDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TPublishProjectDialog.OkButtonCLICK(Sender: TObject);

View File

@ -49,7 +49,7 @@ uses
{$ENDIF}
Classes, SysUtils, LCLProc, Controls, Forms, Buttons, StdCtrls, ComCtrls,
Dialogs, ExtCtrls, Laz_XMLCfg,
BaseIDEIntf, IDEContextHelpEdit,
BaseIDEIntf, IDEContextHelpEdit, IDEHelpIntf,
IDEProcs, SysVarUserOverrideDlg, InputHistory, LazarusIDEStrConsts, FileUtil,
ButtonPanel;
@ -512,7 +512,7 @@ end;
procedure TRunParamsOptsDlg.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TRunParamsOptsDlg.HostApplicationBrowseBtnClick(Sender: TObject);

View File

@ -40,8 +40,9 @@ interface
uses
SysUtils, Classes, Math, Controls, Forms, Dialogs, Buttons, StdCtrls,
LazarusIdeStrConsts, LCLType, LCLIntf, LMessages, IDEWindowIntf, IDEContextHelpEdit,
ExtCtrls, ButtonPanel, Menus, StrUtils;
LazarusIdeStrConsts, LCLType, LCLIntf, LMessages,
ExtCtrls, ButtonPanel, Menus, StrUtils,
IDEWindowIntf, IDEHelpIntf;
type
TViewUnitsEntry = class
@ -167,7 +168,7 @@ End;
procedure TViewUnitDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TViewUnitDialog.mniSortClick(Sender: TObject);

View File

@ -62,6 +62,7 @@ type
var ErrMsg: string): TShowHelpResult; virtual; abstract;
procedure ShowHelpForMessage(Line: integer); virtual; abstract;
procedure ShowHelpForObjectInspector(Sender: TObject); virtual; abstract;
procedure ShowHelpForIDEControl(Sender: TControl); virtual; abstract;
function GetHintForSourcePosition(const ExpandedFilename: string;
const CodePos: TPoint;
out BaseURL, HTMLHint: string): TShowHelpResult; virtual; abstract;

View File

@ -41,9 +41,9 @@ interface
uses
Classes, SysUtils, Forms, Controls, Buttons, ExtCtrls, StdCtrls,
Dialogs, AVL_Tree, FileUtil, ButtonPanel,
IDEWindowIntf, PackageIntf,
IDEWindowIntf, PackageIntf, IDEHelpIntf,
IDEDefs, LazarusIDEStrConsts, IDEProcs,
AddToPackageDlg, ComponentReg, PackageDefs, PackageSystem, IDEContextHelpEdit;
AddToPackageDlg, ComponentReg, PackageDefs, PackageSystem;
type
@ -123,7 +123,7 @@ end;
procedure TAddFileToAPackageDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TAddFileToAPackageDialog.OkButtonClick(Sender: TObject);

View File

@ -40,7 +40,8 @@ interface
uses
Classes, SysUtils, LCLProc, Forms, Controls, Graphics, Dialogs,
KeywordFuncLists, StdCtrls, Buttons, FileUtil, ExtCtrls, ComCtrls,
AVL_Tree, Laz_XMLCfg, PackageIntf, IDEImagesIntf,
AVL_Tree, Laz_XMLCfg,
PackageIntf, IDEImagesIntf, IDEHelpIntf,
LazarusIDEStrConsts, EnvironmentOpts, InputHistory, LazConf, IDEProcs,
PackageDefs, PackageSystem, PackageLinks, IDEContextHelpEdit;
@ -234,7 +235,7 @@ end;
procedure TInstallPkgSetDialog.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TInstallPkgSetDialog.ImportButtonClick(Sender: TObject);

View File

@ -40,8 +40,9 @@ interface
uses
Classes, SysUtils, Forms, Controls, Buttons, ComCtrls, StdCtrls,
FileCtrl, Dialogs, LCLProc, IDEContextHelpEdit,
PackageDefs, LazarusIDEStrConsts, IDEWindowIntf, PackageSystem, ExtCtrls;
FileCtrl, Dialogs, LCLProc, ExtCtrls,
IDEHelpIntf, IDEWindowIntf,
PackageDefs, LazarusIDEStrConsts, PackageSystem;
type
@ -162,7 +163,7 @@ end;
procedure TOpenInstalledPackagesDlg.HelpButtonClick(Sender: TObject);
begin
ShowContextHelpForIDE(Self);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
function TOpenInstalledPackagesDlg.PkgStateToString(APackage: TLazPackage

View File

@ -43,6 +43,7 @@ uses
// IDEIntf CodeTools
IDEImagesIntf, MenuIntf, HelpIntfs, ExtCtrls, LazIDEIntf, ProjectIntf,
CodeToolsStructs, FormEditingIntf, Laz_XMLCfg, PackageIntf, IDEDialogs,
IDEHelpIntf,
// IDE
MainIntf, IDEProcs, LazConf, LazarusIDEStrConsts, IDEOptionDefs, IDEDefs,
IDEContextHelpEdit, CompilerOptions, CompilerOptionsDlg, ComponentReg,
@ -795,7 +796,7 @@ end;
procedure TPackageEditorForm.HelpBitBtnClick(Sender: TObject);
begin
ShowContextHelpForIDE(HelpBitBtn);
LazarusHelp.ShowHelpForIDEControl(Self);
end;
procedure TPackageEditorForm.InstallClick(Sender: TObject);