IdeIntf: Split IDEOptionsIntf into a new IDEOptEditorIntf.

git-svn-id: trunk@58208 -
This commit is contained in:
juha 2018-06-09 14:40:08 +00:00
parent 880624a747
commit 8bed6f8ca0
128 changed files with 1422 additions and 894 deletions

1
.gitattributes vendored
View File

@ -2001,6 +2001,7 @@ components/ideintf/ideimagesintf.pas svneol=native#text/pascal
components/ideintf/ideintf.lpk svneol=native#text/plain
components/ideintf/ideintf.pas svneol=native#text/plain
components/ideintf/idemsgintf.pas svneol=native#text/plain
components/ideintf/ideopteditorintf.pas svneol=native#text/pascal
components/ideintf/ideoptionsintf.pas svneol=native#text/pascal
components/ideintf/idetextconverter.pas svneol=native#text/plain
components/ideintf/ideutils.pas svneol=native#text/plain

View File

@ -42,7 +42,7 @@ uses
// LazUtils
LazFileCache, LazFileUtils,
// IdeIntf
LCLIntf, IDEWindowIntf, IDEOptionsIntf, LazIDEIntf,
LCLIntf, IDEWindowIntf, IDEOptionsIntf, IDEOptEditorIntf, LazIDEIntf,
// AnchorDocking
AnchorDockStr, AnchorDocking, AnchorDesktopOptions, AnchorDockOptionsDlg;

View File

@ -5,10 +5,17 @@ unit CodyMiscOptsFrame;
interface
uses
Classes, SysUtils, FileUtil, DividerBevel, LResources, Forms, Controls,
StdCtrls, ComCtrls, FileProcs,
IDEOptionsIntf, LazIDEIntf,
CodyOpts, CodyIdentifiersDlg, CodyStrConsts;
Classes, SysUtils,
// LazUtils
FileUtil,
// LCL
LResources, Forms, Controls, StdCtrls, ComCtrls,
// LazControls
DividerBevel,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, LazIDEIntf,
// CodeTools
FileProcs, CodyOpts, CodyIdentifiersDlg, CodyStrConsts;
type
{ TCodyMiscOptionsFrame }

View File

@ -30,10 +30,16 @@ unit CodyRegistration;
interface
uses
Classes, SysUtils, LazUTF8, LResources, LCLProc, Controls, Forms,
MenuIntf, IDEWindowIntf, SrcEditorIntf, IDEOptionsIntf, ProjectIntf,
IDECommands, NewIDEWndDlg,
CodeToolManager,
Classes, SysUtils,
// LazUtils
LazUTF8,
// LCL
LResources, LCLProc, Controls, Forms,
// IdeIntf
MenuIntf, IDEWindowIntf, SrcEditorIntf, IDEOptionsIntf, IDEOptEditorIntf,
ProjectIntf, IDECommands,
// CodeTools
NewIDEWndDlg, CodeToolManager,
CodyStrConsts, CodyUtils, CodyCtrls, CodyOpts,
PPUListDlg, AddAssignMethodDlg, AddWithBlockDlg, CodyFindOverloads,
{$IFDEF EnableCodyExperiments}

View File

@ -25,7 +25,7 @@ uses
// LazUtils
LazConfigStorage, AvgLvlTree,
// IdeIntf
FormEditingIntf, IDEOptionsIntf, ComponentReg, IDEImagesIntf,
FormEditingIntf, IDEOptionsIntf, IDEOptEditorIntf, ComponentReg, IDEImagesIntf,
// Education
EduOptions;

View File

@ -18,9 +18,14 @@ unit EduEnvOptsFrame;
interface
uses
Classes, SysUtils, LCLProc, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, ExtCtrls, StdCtrls,
LazConfigStorage, IDEOptionsIntf, IDEImagesIntf, LazIDEIntf,
Classes, SysUtils,
// LazUtils
LazConfigStorage,
// LCL
LCLProc, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, LazIDEIntf,
// Education
EduOptions;
const

View File

@ -24,7 +24,7 @@ uses
// LazUtils
AvgLvlTree, LazConfigStorage,
// IdeIntf
IDEOptionsIntf, MenuIntf, IDEImagesIntf,
IDEOptionsIntf, IDEOptEditorIntf, MenuIntf, IDEImagesIntf,
// Education
EduOptions;

View File

@ -19,10 +19,20 @@ unit EduNewProgram;
interface
uses
Classes, LCLProc, SysUtils, FileUtil, LResources, Forms, StdCtrls, ExtCtrls,
SynEdit, SynHighlighterPas, BasicCodeTools, ComCtrls, Dialogs, Controls,
LazConfigStorage, IDEOptionsIntf, MenuIntf, IDEImagesIntf, LazIDEIntf,
IDEDialogs, ProjectIntf, IDECommands, EduOptions;
Classes, SysUtils,
// LazUtils
FileUtil, LazConfigStorage,
// LCL
LCLProc, LResources, Forms, Controls, StdCtrls, ExtCtrls, ComCtrls, Dialogs,
// SynEdit
SynEdit, SynHighlighterPas,
// CodeTools
BasicCodeTools,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, MenuIntf, IDEImagesIntf, LazIDEIntf, ProjectIntf,
IDECommands, IDEDialogs,
// Education
EduOptions;
const
FileDescNameSingleFileProgram = 'Single file program for education';

View File

@ -18,8 +18,14 @@ unit EduOIPages;
interface
uses
Classes, Forms, LCLProc, StdCtrls, ExtCtrls, LazConfigStorage,
ObjectInspector, ObjInspStrConsts, IDEOptionsIntf, FormEditingIntf,
Classes,
// LCL
LCLProc, Forms, StdCtrls, ExtCtrls,
// LazUtils
LazConfigStorage,
// IdeIntf
ObjectInspector, ObjInspStrConsts, IDEOptionsIntf, IDEOptEditorIntf, FormEditingIntf,
// Education
EduOptions;
type

View File

@ -18,8 +18,15 @@ unit EduPkgSystem;
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, StdCtrls, EduOptions,
LazConfigStorage, IDEOptionsIntf;
SysUtils,
// LCL
LResources, Forms, Controls, StdCtrls,
// LazUtils
LazConfigStorage,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// Education
EduOptions;
type

View File

@ -18,8 +18,15 @@ unit EduPropsEvents;
interface
uses
Classes, LResources, Forms, StdCtrls, ExtCtrls, LazConfigStorage, IDEOptionsIntf, EduOptions,
ObjectInspector;
Classes,
// LCL
LResources, Forms, StdCtrls, ExtCtrls,
// LazUtils
LazConfigStorage,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// Education
EduOptions;
type

View File

@ -25,7 +25,7 @@ uses
// LazUtils
LazConfigStorage, AvgLvlTree,
// IdeIntf
IDEOptionsIntf, LazIDEIntf, IDEImagesIntf,
IDEOptionsIntf, IDEOptEditorIntf, LazIDEIntf, IDEImagesIntf,
// Education
EduOptions;

View File

@ -35,10 +35,15 @@ unit ExternHelpFrm;
interface
uses
Classes, SysUtils, LCLProc, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, LazConfigStorage, LazFileUtils, ComCtrls, Buttons, StdCtrls,
ExtCtrls, ButtonPanel, LazHelpIntf, PackageIntf, MacroIntf, IDEOptionsIntf,
LazIDEIntf, BaseIDEIntf, IDEDialogs, HelpIntfs, IDEImagesIntf, SrcEditorIntf;
Classes, SysUtils,
// LazUtils
FileUtil, LazFileUtils, LazConfigStorage,
// LCL
LCLProc, LResources, Forms, Controls, Graphics, Dialogs, ComCtrls, Buttons, StdCtrls,
ExtCtrls, ButtonPanel, HelpIntfs,
// IdeIntf
LazHelpIntf, PackageIntf, MacroIntf, IDEOptionsIntf, IDEOptEditorIntf,
LazIDEIntf, BaseIDEIntf, IDEDialogs, IDEImagesIntf, SrcEditorIntf;
const
ExternHelpConfigVersion = 1;

View File

@ -0,0 +1,629 @@
{
***************************************************************************
* *
* This source is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This code is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* A copy of the GNU General Public License is available on the World *
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
* obtain it by writing to the Free Software Foundation, *
* Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA. *
* *
***************************************************************************
}
unit IDEOptEditorIntf;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils,
// LCL
LCLProc, Controls, Buttons, Forms, StdCtrls, Graphics, ComCtrls, Grids,
// LazUtils
Laz2_XMLCfg, LazMethodList,
// IdeIntf
IDEOptionsIntf, EditorSyntaxHighlighterDef;
type
// forward
TAbstractOptionsEditorDialog = class;
// Original font styles, used by filter.
TDefaultFont = class
FStyles: TFontStyles; // FColor: TColor;
constructor Create(AStyles: TFontStyles);
end;
TDefaultFontList = TStringList;
TIDEEditorOptions = class(TAbstractIDEEnvironmentOptions)
protected
function GetTabPosition: TTabPosition; virtual; abstract;
public
// read-only access to options needed by external packages.
// feel free to extend when needed
function ExtensionToLazSyntaxHighlighter(Ext: String): TLazSyntaxHighlighter; virtual; abstract;
property TabPosition: TTabPosition read GetTabPosition;
end;
{ TAbstractIDEOptionsEditor base frame class for all options frames (global, project and packages) }
PIDEOptionsEditorRec = ^TIDEOptionsEditorRec;
PIDEOptionsGroupRec = ^TIDEOptionsGroupRec;
TAbstractIDEOptionsEditor = class(TFrame)
private
FOnChange: TNotifyEvent;
FOnLoadIDEOptions: TOnLoadIDEOptions;
FOnSaveIDEOptions: TOnSaveIDEOptions;
FRec: PIDEOptionsEditorRec;
FGroupRec: PIDEOptionsGroupRec;
FDefaultFonts: TDefaultFontList;
protected
procedure DoOnChange;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function Check: Boolean; virtual;
function GetTitle: String; virtual; abstract;
procedure Setup(ADialog: TAbstractOptionsEditorDialog); virtual; abstract;
procedure ReadSettings(AOptions: TAbstractIDEOptions); virtual; abstract; // options to gui
procedure WriteSettings(AOptions: TAbstractIDEOptions); virtual; abstract; // gui to options
procedure RestoreSettings({%H-}AOptions: TAbstractIDEOptions); virtual;// user cancelled dialog -> restore any changes
class function SupportedOptionsClass: TAbstractIDEOptionsClass; virtual; abstract;
class function DefaultCollapseChildNodes: Boolean; virtual;
function FindOptionControl(AClass: TControlClass): TControl;
procedure RememberDefaultStyles;
function ContainsTextInCaption(AText: string): Boolean;
property OnLoadIDEOptions: TOnLoadIDEOptions read FOnLoadIDEOptions write FOnLoadIDEOptions;
property OnSaveIDEOptions: TOnSaveIDEOptions read FOnSaveIDEOptions write FOnSaveIDEOptions;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
property Rec: PIDEOptionsEditorRec read FRec write FRec;
property GroupRec: PIDEOptionsGroupRec read FGroupRec write FGroupRec;
end;
TAbstractIDEOptionsEditorClass = class of TAbstractIDEOptionsEditor;
TIDEOptionsEditorRec = record
Index: Integer;
Parent: Integer;
EditorClass: TAbstractIDEOptionsEditorClass;
Collapsed, DefaultCollapsed: Boolean;
end;
{ TIDEOptionsEditorList }
TIDEOptionsEditorList = class(TList)
private
function GetItem(AIndex: Integer): PIDEOptionsEditorRec;
procedure SetItem(AIndex: Integer; const AValue: PIDEOptionsEditorRec);
protected
procedure Notify(Ptr: Pointer; Action: TListNotification); override;
function GetByIndex(AIndex: Integer): PIDEOptionsEditorRec;
public
procedure Resort;
function Add(AEditorClass: TAbstractIDEOptionsEditorClass; AIndex, AParent: Integer): PIDEOptionsEditorRec; reintroduce;
property Items[AIndex: Integer]: PIDEOptionsEditorRec read GetItem write SetItem; default;
end;
TIDEOptionsGroupRec = record
Index: Integer;
GroupClass: TAbstractIDEOptionsClass;
Items: TIDEOptionsEditorList;
Collapsed, DefaultCollapsed: Boolean;
end;
{ TIDEOptionsGroupList }
TIDEOptionsGroupList = class(TList)
private
FLastSelected: PIDEOptionsEditorRec;
function GetItem(Position: Integer): PIDEOptionsGroupRec;
procedure SetItem(Position: Integer; const AValue: PIDEOptionsGroupRec);
protected
procedure Notify(Ptr: Pointer; Action: TListNotification); override;
public
procedure Resort;
procedure DoAfterWrite(Restore: boolean);
function GetByIndex(AIndex: Integer): PIDEOptionsGroupRec;
function GetByGroupClass(AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec;
function Add(AGroupIndex: Integer; AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec; reintroduce;
property Items[Position: Integer]: PIDEOptionsGroupRec read GetItem write SetItem; default;
property LastSelected: PIDEOptionsEditorRec read FLastSelected write FLastSelected;
end;
TAbstractOptionsEditorDialog = class(TForm)
public
function AddButton: TBitBtn; virtual; abstract;
procedure AddButtonSeparator; virtual; abstract;
function AddControl(AControlClass: TControlClass): TControl; virtual; abstract; reintroduce;
function FindEditor(AEditor: TAbstractIDEOptionsEditorClass): TAbstractIDEOptionsEditor; virtual; abstract;
function FindEditor(const IDEOptionsEditorClassName: string): TAbstractIDEOptionsEditor; virtual; abstract;
function FindEditor(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditor; virtual; abstract;
function FindEditorClass(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditorClass; virtual; abstract;
procedure OpenEditor(AEditor: TAbstractIDEOptionsEditorClass); virtual; abstract;
procedure OpenEditor(GroupIndex, AIndex: integer); virtual; abstract;
function ResetFilter: Boolean; virtual; abstract;
procedure UpdateBuildModeGUI; virtual; abstract;
end;
function GetFreeIDEOptionsGroupIndex(AStartIndex: Integer): Integer;
function GetFreeIDEOptionsIndex(AGroupIndex: Integer; AStartIndex: Integer): Integer;
function RegisterIDEOptionsGroup(AGroupIndex: Integer;
AGroupClass: TAbstractIDEOptionsClass;
FindFreeIndex: boolean = true): PIDEOptionsGroupRec;
function RegisterIDEOptionsEditor(AGroupIndex: Integer;
AEditorClass: TAbstractIDEOptionsEditorClass;
AIndex: Integer; AParent: Integer = NoParent;
AutoCreateGroup: boolean = false): PIDEOptionsEditorRec;
function IDEEditorGroups: TIDEOptionsGroupList;
var
IDEEditorOptions: TIDEEditorOptions;
const
// Font style used by filter
MatchFontStyle: TFontStyles = [fsBold, fsItalic]; // Color = clFuchsia;
implementation
var
FIDEEditorGroups: TIDEOptionsGroupList;
function IDEEditorGroups: TIDEOptionsGroupList;
begin
if FIDEEditorGroups = nil then
FIDEEditorGroups := TIDEOptionsGroupList.Create;
Result := FIDEEditorGroups;
end;
function RegisterIDEOptionsGroup(AGroupIndex: Integer;
AGroupClass: TAbstractIDEOptionsClass; FindFreeIndex: boolean): PIDEOptionsGroupRec;
begin
if FindFreeIndex then
AGroupIndex:=GetFreeIDEOptionsGroupIndex(AGroupIndex);
Result:=IDEEditorGroups.Add(AGroupIndex, AGroupClass);
end;
function RegisterIDEOptionsEditor(AGroupIndex: Integer;
AEditorClass: TAbstractIDEOptionsEditorClass; AIndex: Integer;
AParent: Integer; AutoCreateGroup: boolean): PIDEOptionsEditorRec;
var
Rec: PIDEOptionsGroupRec;
begin
Rec := IDEEditorGroups.GetByIndex(AGroupIndex);
if Rec = nil then
begin
if not AutoCreateGroup then
raise Exception.Create('RegisterIDEOptionsEditor: missing Group');
Rec := RegisterIDEOptionsGroup(AGroupIndex, nil);
end;
if Rec^.Items = nil then
Rec^.Items := TIDEOptionsEditorList.Create;
Result:=Rec^.Items.Add(AEditorClass, AIndex, AParent);
end;
function GetFreeIDEOptionsGroupIndex(AStartIndex: Integer): Integer;
var
I: Integer;
begin
for I := AStartIndex to High(Integer) do
if IDEEditorGroups.GetByIndex(I) = nil then
Exit(I);
Result := -1;
end;
function GetFreeIDEOptionsIndex(AGroupIndex: Integer; AStartIndex: Integer): Integer;
var
Rec: PIDEOptionsGroupRec;
I: Integer;
begin
Result := -1; // -1 = error
Rec := IDEEditorGroups.GetByIndex(AGroupIndex);
if Rec = nil then
Exit;
for I := AStartIndex to High(Integer) do
if Rec^.Items.GetByIndex(I) = nil then
Exit(I);
end;
function GroupListCompare(Item1, Item2: Pointer): Integer;
var
Rec1: PIDEOptionsGroupRec absolute Item1;
Rec2: PIDEOptionsGroupRec absolute Item2;
begin
if Rec1^.Index < Rec2^.Index then
Result := -1
else
if Rec1^.Index > Rec2^.Index then
Result := 1
else
Result := 0;
end;
function OptionsListCompare(Item1, Item2: Pointer): Integer;
var
Rec1: PIDEOptionsEditorRec absolute Item1;
Rec2: PIDEOptionsEditorRec absolute Item2;
begin
if Rec1^.Index < Rec2^.Index then
Result := -1
else
if Rec1^.Index > Rec2^.Index then
Result := 1
else
Result := 0;
end;
{ TDefaultFont }
constructor TDefaultFont.Create(AStyles: TFontStyles);
begin
FStyles:=AStyles;
end;
{ TAbstractIDEOptionsEditor }
constructor TAbstractIDEOptionsEditor.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FDefaultFonts:=nil;
end;
destructor TAbstractIDEOptionsEditor.Destroy;
var
i: Integer;
begin
if Assigned(FDefaultFonts) then begin
for i := 0 to FDefaultFonts.Count-1 do
FDefaultFonts.Objects[i].Free;
FDefaultFonts.Free;
end;
inherited Destroy;
end;
procedure TAbstractIDEOptionsEditor.DoOnChange;
begin
if Assigned(FOnChange) then
FOnChange(self);
end;
function TAbstractIDEOptionsEditor.Check: Boolean;
begin
Result := True;
end;
procedure TAbstractIDEOptionsEditor.RestoreSettings(AOptions: TAbstractIDEOptions);
begin
end;
class function TAbstractIDEOptionsEditor.DefaultCollapseChildNodes: Boolean;
begin
Result := False;
end;
function TAbstractIDEOptionsEditor.FindOptionControl(AClass: TControlClass): TControl;
function Search(AControl: TControl): TControl;
var
i: Integer;
AWinControl: TWinControl;
begin
if AControl is AClass then
exit(AControl);
// Search child controls inside this one.
if AControl is TWinControl then begin
AWinControl:=TWinControl(AControl);
for i:=0 to AWinControl.ControlCount-1 do begin
Result:=Search(AWinControl.Controls[i]); // Recursive call.
if Result<>nil then exit;
end;
end;
Result:=nil;
end;
begin
Result:=Search(GetParentForm(Self));
end;
procedure TAbstractIDEOptionsEditor.RememberDefaultStyles;
// Store original font styles of controls to a map so the filter can restore them.
procedure Search(AControl: TControl);
var
i: Integer;
AWinControl: TWinControl;
begin
// Store only if there is any style defined
if AControl.Font.Style <> [] then begin
Assert(AControl.Font.Style<>MatchFontStyle, 'Do not use the same font style that filter uses.');
FDefaultFonts.AddObject(AControl.Name, TDefaultFont.Create(AControl.Font.Style));
end;
// Search child controls inside this one.
if AControl is TWinControl then begin
AWinControl:=TWinControl(AControl);
for i:=0 to AWinControl.ControlCount-1 do
Search(AWinControl.Controls[i]); // Recursive call.
end;
end;
begin
if FDefaultFonts=nil then begin
FDefaultFonts:=TDefaultFontList.Create;
Search(Self);
FDefaultFonts.Sorted:=True;
end;
end;
function TAbstractIDEOptionsEditor.ContainsTextInCaption(AText: string): Boolean;
var
LowerText: String;
function SearchComboBox({%H-}AControl: TCustomComboBox): Boolean;
begin
Result:=False; // ToDo...
end;
function SearchListBox(AControl: TCustomListBox): Boolean;
var
i: Integer;
begin
Result:=False;
for i := 0 to AControl.Items.Count-1 do begin
if Pos(LowerText, LowerCase(AControl.Items[i]))>0 then begin
//if Length(LowerText)>2 then
// DebugLn('TAbstractIDEOptionsEditor.ContainsTextInCaption: Searching "',
// LowerText, '", Found "', AControl.Items[i], '", in ListBox ', AControl.Name);
// ToDo: Indicate found item somehow.
Result:=True;
end;
end;
end;
function SearchListView({%H-}AControl: TCustomListView): Boolean;
begin
Result:=False; // ToDo...
end;
function SearchTreeView({%H-}AControl: TCustomTreeView): Boolean;
begin
Result:=False; // ToDo...
end;
function SearchStringGrid({%H-}AControl: TCustomStringGrid): Boolean;
begin
Result:=False; // ToDo...
end;
function SearchMemo({%H-}AControl: TCustomMemo): Boolean;
begin
Result:=False; // Memo.Caption returns all the lines, skip.
end;
function Search(AControl: TControl): Boolean;
var
i: Integer;
AWinControl: TWinControl;
DefStyle: TFontStyles;
begin
Result:=False;
if AControl.Visible then begin
// *** First find matches in different controls ***
// TSynEdit can't be used here in IdeOptionsIntf !
//if AControl is TSynEdit then Found:=SearchSynEdit(AControl)
if AControl is TCustomComboBox then
Result:=SearchComboBox(TCustomComboBox(AControl))
else if AControl is TCustomListBox then
Result:=SearchListBox(TCustomListBox(AControl))
else if AControl is TCustomListView then
Result:=SearchListView(TCustomListView(AControl))
else if AControl is TCustomTreeView then
Result:=SearchTreeView(TCustomTreeView(AControl))
else if AControl is TCustomStringGrid then
Result:=SearchStringGrid(TCustomStringGrid(AControl))
else if AControl is TCustomMemo then
Result:=SearchMemo(TCustomMemo(AControl))
else begin
Result:=Pos(LowerText, LowerCase(AControl.Caption))>0;
// Indicate the match
if Result then
AControl.Font.Style:=MatchFontStyle
// or, remove the indication.
else if AControl.Font.Style=MatchFontStyle then begin
DefStyle:=[];
if FDefaultFonts.Find(AControl.Name, i) then
DefStyle:=TDefaultFont(FDefaultFonts.Objects[i]).FStyles;
AControl.Font.Style:=DefStyle;
end;
end;
end;
// Check child controls inside this one.
if AControl is TWinControl then begin
AWinControl:=TWinControl(AControl);
for i:=0 to AWinControl.ControlCount-1 do
if Search(AWinControl.Controls[i]) then // Recursive call
Result:=True;
end;
end;
begin
LowerText:=LowerCase(AText);
Result:=Search(Self);
end;
{ TIDEOptionsEditorList }
function TIDEOptionsEditorList.GetItem(AIndex: Integer): PIDEOptionsEditorRec;
begin
Result := PIDEOptionsEditorRec(inherited Get(AIndex));
end;
procedure TIDEOptionsEditorList.SetItem(AIndex: Integer; const AValue: PIDEOptionsEditorRec);
begin
inherited Put(AIndex, AValue);
end;
procedure TIDEOptionsEditorList.Notify(Ptr: Pointer; Action: TListNotification);
begin
if Action = lnDeleted then
Dispose(PIDEOptionsEditorRec(Ptr));
inherited Notify(Ptr, Action);
end;
function TIDEOptionsEditorList.GetByIndex(AIndex: Integer): PIDEOptionsEditorRec;
var
i: integer;
begin
Result := nil;
for i := 0 to Count - 1 do
if Items[i]^.Index = AIndex then
begin
Result := Items[i];
break;
end;
end;
procedure TIDEOptionsEditorList.Resort;
begin
Sort(@OptionsListCompare);
end;
function TIDEOptionsEditorList.Add(AEditorClass: TAbstractIDEOptionsEditorClass;
AIndex, AParent: Integer): PIDEOptionsEditorRec;
begin
repeat
Result := GetByIndex(AIndex);
if Result = nil then break;
inc(AIndex);
until false;
New(Result);
Result^.Index := AIndex;
Result^.Parent := AParent;
Result^.Collapsed := AEditorClass.DefaultCollapseChildNodes;
Result^.DefaultCollapsed := AEditorClass.DefaultCollapseChildNodes;
inherited Add(Result);
Result^.EditorClass := AEditorClass;
end;
{ TIDEOptionsGroupList }
function TIDEOptionsGroupList.GetItem(Position: Integer): PIDEOptionsGroupRec;
begin
Result := PIDEOptionsGroupRec(inherited Get(Position));
end;
procedure TIDEOptionsGroupList.SetItem(Position: Integer;
const AValue: PIDEOptionsGroupRec);
begin
inherited Put(Position, AValue);
end;
procedure TIDEOptionsGroupList.Notify(Ptr: Pointer; Action: TListNotification);
begin
if Action = lnDeleted then
begin
PIDEOptionsGroupRec(Ptr)^.Items.Free;
Dispose(PIDEOptionsGroupRec(Ptr));
end;
inherited Notify(Ptr, Action);
end;
function TIDEOptionsGroupList.GetByIndex(AIndex: Integer): PIDEOptionsGroupRec;
var
i: integer;
begin
Result := nil;
for i := 0 to Count - 1 do
if Items[i]^.Index = AIndex then
begin
Result := Items[i];
break;
end;
end;
function TIDEOptionsGroupList.GetByGroupClass(
AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec;
var
i: Integer;
begin
for i:=0 to Count-1 do
begin
Result:=Items[i];
if Result^.GroupClass=AGroupClass then exit;
end;
Result:=nil;
end;
procedure TIDEOptionsGroupList.Resort;
var
i: integer;
begin
Sort(@GroupListCompare);
for i := 0 to Count - 1 do
if Items[i]^.Items <> nil then
Items[i]^.Items.Resort;
end;
procedure TIDEOptionsGroupList.DoAfterWrite(Restore: boolean);
var
i: integer;
Rec: PIDEOptionsGroupRec;
Instance: TAbstractIDEOptions;
begin
for i := 0 to Count - 1 do
begin
Rec := Items[i];
if Rec^.Items <> nil then
begin
if Rec^.GroupClass <> nil then
begin
Instance := Rec^.GroupClass.GetInstance;
if Instance <> nil then
Instance.DoAfterWrite(Restore);
end;
end;
end;
end;
function TIDEOptionsGroupList.Add(AGroupIndex: Integer;
AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec;
begin
Result := GetByIndex(AGroupIndex);
if Result = nil then
begin
New(Result);
Result^.Index := AGroupIndex;
Result^.Items := nil;
Result^.Collapsed := False;
Result^.DefaultCollapsed := False;
inherited Add(Result);
end;
Result^.GroupClass := AGroupClass;
end;
initialization
FIDEEditorGroups := nil;
finalization
FreeAndNil(FIDEEditorGroups);
end.

View File

@ -26,30 +26,13 @@ interface
uses
Classes, SysUtils,
// LCL
LCLProc, Controls, Buttons, Forms, StdCtrls, Graphics, ComCtrls, Grids,
// LazUtils
Laz2_XMLCfg, LazMethodList,
// IdeIntf
EditorSyntaxHighlighterDef;
Laz2_XMLCfg, LazMethodList;
const
NoParent = -1;
type
// forward
TAbstractOptionsEditorDialog = class;
// Original font styles, used by filter.
{ TDefaultFont }
TDefaultFont = class
FStyles: TFontStyles; // FColor: TColor;
constructor Create(AStyles: TFontStyles);
end;
TDefaultFontList = TStringList;
TIDEOptionsHandler = (
iohBeforeRead,
iohAfterRead,
@ -123,6 +106,9 @@ type
TAbstractIDEEnvironmentOptions = class(TAbstractIDEOptions);
TAbstractIDEHelpOptions = class(TAbstractIDEEnvironmentOptions);
TOnLoadIDEOptions = procedure(Sender: TObject; AOptions: TAbstractIDEOptions) of object;
TOnSaveIDEOptions = procedure(Sender: TObject; AOptions: TAbstractIDEOptions) of object;
TOnAddToRecent = procedure(Sender: TObject; AFileName: string; var AAllow: Boolean) of object;
TIDERecentHandler = (irhOpenFiles, irhProjectFiles, irhPackageFiles);
@ -155,140 +141,10 @@ type
procedure RemoveHandlerAddToRecentPackageFiles(Handler: TOnAddToRecent);
end;
TIDEEditorOptions = class(TAbstractIDEEnvironmentOptions)
protected
function GetTabPosition: TTabPosition; virtual; abstract;
public
// read-only access to options needed by external packages.
// feel free to extend when needed
function ExtensionToLazSyntaxHighlighter(Ext: String): TLazSyntaxHighlighter; virtual; abstract;
property TabPosition: TTabPosition read GetTabPosition;
end;
TOnLoadIDEOptions = procedure(Sender: TObject; AOptions: TAbstractIDEOptions) of object;
TOnSaveIDEOptions = procedure(Sender: TObject; AOptions: TAbstractIDEOptions) of object;
{ TAbstractIDEOptionsEditor base frame class for all options frames (global, project and packages) }
PIDEOptionsEditorRec = ^TIDEOptionsEditorRec;
PIDEOptionsGroupRec = ^TIDEOptionsGroupRec;
TAbstractIDEOptionsEditor = class(TFrame)
private
FOnChange: TNotifyEvent;
FOnLoadIDEOptions: TOnLoadIDEOptions;
FOnSaveIDEOptions: TOnSaveIDEOptions;
FRec: PIDEOptionsEditorRec;
FGroupRec: PIDEOptionsGroupRec;
FDefaultFonts: TDefaultFontList;
protected
procedure DoOnChange;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function Check: Boolean; virtual;
function GetTitle: String; virtual; abstract;
procedure Setup(ADialog: TAbstractOptionsEditorDialog); virtual; abstract;
procedure ReadSettings(AOptions: TAbstractIDEOptions); virtual; abstract; // options to gui
procedure WriteSettings(AOptions: TAbstractIDEOptions); virtual; abstract; // gui to options
procedure RestoreSettings({%H-}AOptions: TAbstractIDEOptions); virtual;// user cancelled dialog -> restore any changes
class function SupportedOptionsClass: TAbstractIDEOptionsClass; virtual; abstract;
class function DefaultCollapseChildNodes: Boolean; virtual;
function FindOptionControl(AClass: TControlClass): TControl;
procedure RememberDefaultStyles;
function ContainsTextInCaption(AText: string): Boolean;
property OnLoadIDEOptions: TOnLoadIDEOptions read FOnLoadIDEOptions write FOnLoadIDEOptions;
property OnSaveIDEOptions: TOnSaveIDEOptions read FOnSaveIDEOptions write FOnSaveIDEOptions;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
property Rec: PIDEOptionsEditorRec read FRec write FRec;
property GroupRec: PIDEOptionsGroupRec read FGroupRec write FGroupRec;
end;
TAbstractIDEOptionsEditorClass = class of TAbstractIDEOptionsEditor;
TIDEOptionsEditorRec = record
Index: Integer;
Parent: Integer;
EditorClass: TAbstractIDEOptionsEditorClass;
Collapsed, DefaultCollapsed: Boolean;
end;
{ TIDEOptionsEditorList }
TIDEOptionsEditorList = class(TList)
private
function GetItem(AIndex: Integer): PIDEOptionsEditorRec;
procedure SetItem(AIndex: Integer; const AValue: PIDEOptionsEditorRec);
protected
procedure Notify(Ptr: Pointer; Action: TListNotification); override;
function GetByIndex(AIndex: Integer): PIDEOptionsEditorRec;
public
procedure Resort;
function Add(AEditorClass: TAbstractIDEOptionsEditorClass; AIndex, AParent: Integer): PIDEOptionsEditorRec; reintroduce;
property Items[AIndex: Integer]: PIDEOptionsEditorRec read GetItem write SetItem; default;
end;
TIDEOptionsGroupRec = record
Index: Integer;
GroupClass: TAbstractIDEOptionsClass;
Items: TIDEOptionsEditorList;
Collapsed, DefaultCollapsed: Boolean;
end;
{ TIDEOptionsGroupList }
TIDEOptionsGroupList = class(TList)
private
FLastSelected: PIDEOptionsEditorRec;
function GetItem(Position: Integer): PIDEOptionsGroupRec;
procedure SetItem(Position: Integer; const AValue: PIDEOptionsGroupRec);
protected
procedure Notify(Ptr: Pointer; Action: TListNotification); override;
public
procedure Resort;
procedure DoAfterWrite(Restore: boolean);
function GetByIndex(AIndex: Integer): PIDEOptionsGroupRec;
function GetByGroupClass(AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec;
function Add(AGroupIndex: Integer; AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec; reintroduce;
property Items[Position: Integer]: PIDEOptionsGroupRec read GetItem write SetItem; default;
property LastSelected: PIDEOptionsEditorRec read FLastSelected write FLastSelected;
end;
TAbstractOptionsEditorDialog = class(TForm)
public
function AddButton: TBitBtn; virtual; abstract;
procedure AddButtonSeparator; virtual; abstract;
function AddControl(AControlClass: TControlClass): TControl; virtual; abstract; reintroduce;
function FindEditor(AEditor: TAbstractIDEOptionsEditorClass): TAbstractIDEOptionsEditor; virtual; abstract;
function FindEditor(const IDEOptionsEditorClassName: string): TAbstractIDEOptionsEditor; virtual; abstract;
function FindEditor(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditor; virtual; abstract;
function FindEditorClass(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditorClass; virtual; abstract;
procedure OpenEditor(AEditor: TAbstractIDEOptionsEditorClass); virtual; abstract;
procedure OpenEditor(GroupIndex, AIndex: integer); virtual; abstract;
function ResetFilter: Boolean; virtual; abstract;
procedure UpdateBuildModeGUI; virtual; abstract;
end;
function GetFreeIDEOptionsGroupIndex(AStartIndex: Integer): Integer;
function GetFreeIDEOptionsIndex(AGroupIndex: Integer; AStartIndex: Integer): Integer;
function RegisterIDEOptionsGroup(AGroupIndex: Integer;
AGroupClass: TAbstractIDEOptionsClass;
FindFreeIndex: boolean = true): PIDEOptionsGroupRec;
function RegisterIDEOptionsEditor(AGroupIndex: Integer;
AEditorClass: TAbstractIDEOptionsEditorClass;
AIndex: Integer; AParent: Integer = NoParent;
AutoCreateGroup: boolean = false): PIDEOptionsEditorRec;
function IDEEditorGroups: TIDEOptionsGroupList;
var
IDEEnvironmentOptions: TIDEEnvironmentOptions;
IDEEditorOptions: TIDEEditorOptions;
const
// Font style used by filter
MatchFontStyle: TFontStyles = [fsBold, fsItalic]; // Color = clFuchsia;
// predefined environment options groups
GroupEnvironment = 100;
EnvOptionsFiles = 100;
@ -385,96 +241,6 @@ var
implementation
var
FIDEEditorGroups: TIDEOptionsGroupList;
function IDEEditorGroups: TIDEOptionsGroupList;
begin
if FIDEEditorGroups = nil then
FIDEEditorGroups := TIDEOptionsGroupList.Create;
Result := FIDEEditorGroups;
end;
function RegisterIDEOptionsGroup(AGroupIndex: Integer;
AGroupClass: TAbstractIDEOptionsClass; FindFreeIndex: boolean): PIDEOptionsGroupRec;
begin
if FindFreeIndex then
AGroupIndex:=GetFreeIDEOptionsGroupIndex(AGroupIndex);
Result:=IDEEditorGroups.Add(AGroupIndex, AGroupClass);
end;
function RegisterIDEOptionsEditor(AGroupIndex: Integer;
AEditorClass: TAbstractIDEOptionsEditorClass; AIndex: Integer;
AParent: Integer; AutoCreateGroup: boolean): PIDEOptionsEditorRec;
var
Rec: PIDEOptionsGroupRec;
begin
Rec := IDEEditorGroups.GetByIndex(AGroupIndex);
if Rec = nil then
begin
if not AutoCreateGroup then
raise Exception.Create('RegisterIDEOptionsEditor: missing Group');
Rec := RegisterIDEOptionsGroup(AGroupIndex, nil);
end;
if Rec^.Items = nil then
Rec^.Items := TIDEOptionsEditorList.Create;
Result:=Rec^.Items.Add(AEditorClass, AIndex, AParent);
end;
function GetFreeIDEOptionsGroupIndex(AStartIndex: Integer): Integer;
var
I: Integer;
begin
for I := AStartIndex to High(Integer) do
if IDEEditorGroups.GetByIndex(I) = nil then
Exit(I);
Result := -1;
end;
function GetFreeIDEOptionsIndex(AGroupIndex: Integer; AStartIndex: Integer): Integer;
var
Rec: PIDEOptionsGroupRec;
I: Integer;
begin
Result := -1; // -1 = error
Rec := IDEEditorGroups.GetByIndex(AGroupIndex);
if Rec = nil then
Exit;
for I := AStartIndex to High(Integer) do
if Rec^.Items.GetByIndex(I) = nil then
Exit(I);
end;
function GroupListCompare(Item1, Item2: Pointer): Integer;
var
Rec1: PIDEOptionsGroupRec absolute Item1;
Rec2: PIDEOptionsGroupRec absolute Item2;
begin
if Rec1^.Index < Rec2^.Index then
Result := -1
else
if Rec1^.Index > Rec2^.Index then
Result := 1
else
Result := 0;
end;
function OptionsListCompare(Item1, Item2: Pointer): Integer;
var
Rec1: PIDEOptionsEditorRec absolute Item1;
Rec2: PIDEOptionsEditorRec absolute Item2;
begin
if Rec1^.Index < Rec2^.Index then
Result := -1
else
if Rec1^.Index > Rec2^.Index then
Result := 1
else
Result := 0;
end;
{ TIDEEnvironmentOptions }
constructor TIDEEnvironmentOptions.Create;
@ -571,356 +337,6 @@ begin
inherited Create;
end;
{ TDefaultFont }
constructor TDefaultFont.Create(AStyles: TFontStyles);
begin
FStyles:=AStyles;
end;
{ TAbstractIDEOptionsEditor }
constructor TAbstractIDEOptionsEditor.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FDefaultFonts:=nil;
end;
destructor TAbstractIDEOptionsEditor.Destroy;
var
i: Integer;
begin
if Assigned(FDefaultFonts) then begin
for i := 0 to FDefaultFonts.Count-1 do
FDefaultFonts.Objects[i].Free;
FDefaultFonts.Free;
end;
inherited Destroy;
end;
procedure TAbstractIDEOptionsEditor.DoOnChange;
begin
if Assigned(FOnChange) then
FOnChange(self);
end;
function TAbstractIDEOptionsEditor.Check: Boolean;
begin
Result := True;
end;
procedure TAbstractIDEOptionsEditor.RestoreSettings(AOptions: TAbstractIDEOptions);
begin
end;
class function TAbstractIDEOptionsEditor.DefaultCollapseChildNodes: Boolean;
begin
Result := False;
end;
function TAbstractIDEOptionsEditor.FindOptionControl(AClass: TControlClass): TControl;
function Search(AControl: TControl): TControl;
var
i: Integer;
AWinControl: TWinControl;
begin
if AControl is AClass then
exit(AControl);
// Search child controls inside this one.
if AControl is TWinControl then begin
AWinControl:=TWinControl(AControl);
for i:=0 to AWinControl.ControlCount-1 do begin
Result:=Search(AWinControl.Controls[i]); // Recursive call.
if Result<>nil then exit;
end;
end;
Result:=nil;
end;
begin
Result:=Search(GetParentForm(Self));
end;
procedure TAbstractIDEOptionsEditor.RememberDefaultStyles;
// Store original font styles of controls to a map so the filter can restore them.
procedure Search(AControl: TControl);
var
i: Integer;
AWinControl: TWinControl;
begin
// Store only if there is any style defined
if AControl.Font.Style <> [] then begin
Assert(AControl.Font.Style<>MatchFontStyle, 'Do not use the same font style that filter uses.');
FDefaultFonts.AddObject(AControl.Name, TDefaultFont.Create(AControl.Font.Style));
end;
// Search child controls inside this one.
if AControl is TWinControl then begin
AWinControl:=TWinControl(AControl);
for i:=0 to AWinControl.ControlCount-1 do
Search(AWinControl.Controls[i]); // Recursive call.
end;
end;
begin
if FDefaultFonts=nil then begin
FDefaultFonts:=TDefaultFontList.Create;
Search(Self);
FDefaultFonts.Sorted:=True;
end;
end;
function TAbstractIDEOptionsEditor.ContainsTextInCaption(AText: string): Boolean;
var
LowerText: String;
function SearchComboBox({%H-}AControl: TCustomComboBox): Boolean;
begin
Result:=False; // ToDo...
end;
function SearchListBox(AControl: TCustomListBox): Boolean;
var
i: Integer;
begin
Result:=False;
for i := 0 to AControl.Items.Count-1 do begin
if Pos(LowerText, LowerCase(AControl.Items[i]))>0 then begin
//if Length(LowerText)>2 then
// DebugLn('TAbstractIDEOptionsEditor.ContainsTextInCaption: Searching "',
// LowerText, '", Found "', AControl.Items[i], '", in ListBox ', AControl.Name);
// ToDo: Indicate found item somehow.
Result:=True;
end;
end;
end;
function SearchListView({%H-}AControl: TCustomListView): Boolean;
begin
Result:=False; // ToDo...
end;
function SearchTreeView({%H-}AControl: TCustomTreeView): Boolean;
begin
Result:=False; // ToDo...
end;
function SearchStringGrid({%H-}AControl: TCustomStringGrid): Boolean;
begin
Result:=False; // ToDo...
end;
function SearchMemo({%H-}AControl: TCustomMemo): Boolean;
begin
Result:=False; // Memo.Caption returns all the lines, skip.
end;
function Search(AControl: TControl): Boolean;
var
i: Integer;
AWinControl: TWinControl;
DefStyle: TFontStyles;
begin
Result:=False;
if AControl.Visible then begin
// *** First find matches in different controls ***
// TSynEdit can't be used here in IdeOptionsIntf !
//if AControl is TSynEdit then Found:=SearchSynEdit(AControl)
if AControl is TCustomComboBox then
Result:=SearchComboBox(TCustomComboBox(AControl))
else if AControl is TCustomListBox then
Result:=SearchListBox(TCustomListBox(AControl))
else if AControl is TCustomListView then
Result:=SearchListView(TCustomListView(AControl))
else if AControl is TCustomTreeView then
Result:=SearchTreeView(TCustomTreeView(AControl))
else if AControl is TCustomStringGrid then
Result:=SearchStringGrid(TCustomStringGrid(AControl))
else if AControl is TCustomMemo then
Result:=SearchMemo(TCustomMemo(AControl))
else begin
Result:=Pos(LowerText, LowerCase(AControl.Caption))>0;
// Indicate the match
if Result then
AControl.Font.Style:=MatchFontStyle
// or, remove the indication.
else if AControl.Font.Style=MatchFontStyle then begin
DefStyle:=[];
if FDefaultFonts.Find(AControl.Name, i) then
DefStyle:=TDefaultFont(FDefaultFonts.Objects[i]).FStyles;
AControl.Font.Style:=DefStyle;
end;
end;
end;
// Check child controls inside this one.
if AControl is TWinControl then begin
AWinControl:=TWinControl(AControl);
for i:=0 to AWinControl.ControlCount-1 do
if Search(AWinControl.Controls[i]) then // Recursive call
Result:=True;
end;
end;
begin
LowerText:=LowerCase(AText);
Result:=Search(Self);
end;
{ TIDEOptionsEditorList }
function TIDEOptionsEditorList.GetItem(AIndex: Integer): PIDEOptionsEditorRec;
begin
Result := PIDEOptionsEditorRec(inherited Get(AIndex));
end;
procedure TIDEOptionsEditorList.SetItem(AIndex: Integer; const AValue: PIDEOptionsEditorRec);
begin
inherited Put(AIndex, AValue);
end;
procedure TIDEOptionsEditorList.Notify(Ptr: Pointer; Action: TListNotification);
begin
if Action = lnDeleted then
Dispose(PIDEOptionsEditorRec(Ptr));
inherited Notify(Ptr, Action);
end;
function TIDEOptionsEditorList.GetByIndex(AIndex: Integer): PIDEOptionsEditorRec;
var
i: integer;
begin
Result := nil;
for i := 0 to Count - 1 do
if Items[i]^.Index = AIndex then
begin
Result := Items[i];
break;
end;
end;
procedure TIDEOptionsEditorList.Resort;
begin
Sort(@OptionsListCompare);
end;
function TIDEOptionsEditorList.Add(AEditorClass: TAbstractIDEOptionsEditorClass;
AIndex, AParent: Integer): PIDEOptionsEditorRec;
begin
repeat
Result := GetByIndex(AIndex);
if Result = nil then break;
inc(AIndex);
until false;
New(Result);
Result^.Index := AIndex;
Result^.Parent := AParent;
Result^.Collapsed := AEditorClass.DefaultCollapseChildNodes;
Result^.DefaultCollapsed := AEditorClass.DefaultCollapseChildNodes;
inherited Add(Result);
Result^.EditorClass := AEditorClass;
end;
{ TIDEOptionsGroupList }
function TIDEOptionsGroupList.GetItem(Position: Integer): PIDEOptionsGroupRec;
begin
Result := PIDEOptionsGroupRec(inherited Get(Position));
end;
procedure TIDEOptionsGroupList.SetItem(Position: Integer;
const AValue: PIDEOptionsGroupRec);
begin
inherited Put(Position, AValue);
end;
procedure TIDEOptionsGroupList.Notify(Ptr: Pointer; Action: TListNotification);
begin
if Action = lnDeleted then
begin
PIDEOptionsGroupRec(Ptr)^.Items.Free;
Dispose(PIDEOptionsGroupRec(Ptr));
end;
inherited Notify(Ptr, Action);
end;
function TIDEOptionsGroupList.GetByIndex(AIndex: Integer): PIDEOptionsGroupRec;
var
i: integer;
begin
Result := nil;
for i := 0 to Count - 1 do
if Items[i]^.Index = AIndex then
begin
Result := Items[i];
break;
end;
end;
function TIDEOptionsGroupList.GetByGroupClass(
AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec;
var
i: Integer;
begin
for i:=0 to Count-1 do
begin
Result:=Items[i];
if Result^.GroupClass=AGroupClass then exit;
end;
Result:=nil;
end;
procedure TIDEOptionsGroupList.Resort;
var
i: integer;
begin
Sort(@GroupListCompare);
for i := 0 to Count - 1 do
if Items[i]^.Items <> nil then
Items[i]^.Items.Resort;
end;
procedure TIDEOptionsGroupList.DoAfterWrite(Restore: boolean);
var
i: integer;
Rec: PIDEOptionsGroupRec;
Instance: TAbstractIDEOptions;
begin
for i := 0 to Count - 1 do
begin
Rec := Items[i];
if Rec^.Items <> nil then
begin
if Rec^.GroupClass <> nil then
begin
Instance := Rec^.GroupClass.GetInstance;
if Instance <> nil then
Instance.DoAfterWrite(Restore);
end;
end;
end;
end;
function TIDEOptionsGroupList.Add(AGroupIndex: Integer;
AGroupClass: TAbstractIDEOptionsClass): PIDEOptionsGroupRec;
begin
Result := GetByIndex(AGroupIndex);
if Result = nil then
begin
New(Result);
Result^.Index := AGroupIndex;
Result^.Items := nil;
Result^.Collapsed := False;
Result^.DefaultCollapsed := False;
inherited Add(Result);
end;
Result^.GroupClass := AGroupClass;
end;
{ TAbstractIDEOptions }
constructor TAbstractIDEOptions.Create;
@ -1039,9 +455,4 @@ begin
fHandlers[iohDestroy].Remove(TMethod(Handler));
end;
initialization
FIDEEditorGroups := nil;
finalization
FreeAndNil(FIDEEditorGroups);
end.

View File

@ -22,8 +22,8 @@ uses
// LazUtils
LazMethodList,
// IdeIntf
PropEdits, IDEOptionsIntf, CompOptsIntf, ProjectIntf, IDEExternToolIntf,
SrcEditorIntf, IDEWindowIntf;
PropEdits, IDEOptionsIntf, IDEOptEditorIntf, CompOptsIntf, ProjectIntf,
IDEExternToolIntf, SrcEditorIntf, IDEWindowIntf;
type
TIDEDirective = (

View File

@ -40,7 +40,7 @@ uses
SetComments, SetCaps, SetWordList,
SetAlign, SetReplace, SetUses, SetPreProcessor,
SettingsStream, SetTransform, SetAsm,
JcfVersionConsts, IDEOptionsIntf;
JcfVersionConsts, IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
SysUtils, StdCtrls, ExtCtrls, Spin,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -29,8 +29,9 @@ unit frBlankLines;
interface
uses
Classes, Math, StdCtrls, Spin,
IDEOptionsIntf;
Classes, Math,
StdCtrls, Spin,
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -30,8 +30,9 @@ unit frClarify;
interface
uses
Classes, StdCtrls, ExtCtrls,
IDEOptionsIntf;
Classes,
StdCtrls, ExtCtrls,
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, Spin,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, ExtCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, ExtCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, Spin,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, ExtCtrls, Spin,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, ExtCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, ExtCtrls, Spin,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
StdCtrls, Classes,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, Graphics, Controls, Forms, StdCtrls, ExtCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -30,10 +30,9 @@ unit frFiles;
interface
uses
{ delphi }
SysUtils, Classes, Controls, Forms, StdCtrls, Graphics,
{ lazarus }
IDEOptionsIntf, dialogs;
SysUtils,
Controls, StdCtrls, Graphics, Dialogs,
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, ExtCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type
{ TfObfuscateSettings }

View File

@ -31,7 +31,8 @@ interface
{ preprocessor symbols }
uses
Classes, StdCtrls, IDEOptionsIntf;
Classes, StdCtrls,
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, ExtCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls, ExtCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -30,7 +30,7 @@ interface
uses
Classes, Controls, Forms, StdCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
Classes, StdCtrls,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -31,7 +31,7 @@ interface
uses
StdCtrls, Classes,
IDEOptionsIntf;
IDEOptionsIntf, IDEOptEditorIntf;
type

View File

@ -5,8 +5,13 @@ unit EMSIdeOptions;
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, StdCtrls, IDEOptionsIntf,
SrcEditorIntf, EMScriptMacro, EMSStrings;
SysUtils,
// LCL
StdCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, SrcEditorIntf,
// MacroScript
EMScriptMacro, EMSStrings;
type

View File

@ -5,8 +5,13 @@ unit RegisterEMS;
interface
uses
Classes, SysUtils, SrcEditorIntf, IDEOptionsIntf, EMScriptMacro, EMSSelfTest,
EMSIdeOptions, EMSStrings, Dialogs;
Classes, SysUtils,
// LCL
Dialogs,
// IdeIntf
SrcEditorIntf, IDEOptionsIntf, IDEOptEditorIntf,
// MacroScript
EMScriptMacro, EMSSelfTest, EMSIdeOptions, EMSStrings;
procedure Register;

View File

@ -30,10 +30,17 @@ unit packagetabs_impl;
interface
uses
Classes, SysUtils, Types, Contnrs, Controls, SrcEditorIntf, StdCtrls, Buttons,
ComCtrls, Forms, LazFileUtils, PackageIntf, Graphics, Menus, LazIDEIntf,
ExtCtrls, IDEImagesIntf, Laz2_XMLCfg, IDECommands, LCLIntf,
IDEOptionsIntf, ProjectIntf, packagetabsstr, Clipbrd, LCLProc;
Classes, SysUtils, Types, Contnrs,
// LCL
LCLProc, LCLIntf, Forms, Controls, StdCtrls, Buttons, ComCtrls, ExtCtrls,
Graphics, Menus, Clipbrd,
// LazUtils
LazFileUtils, Laz2_XMLCfg,
// IdeIntf
SrcEditorIntf, PackageIntf, LazIDEIntf, IDEImagesIntf, IDECommands,
IDEOptEditorIntf, ProjectIntf,
// PackageTabs
packagetabsstr;
type
TPackageTabButton = class(TSpeedButton)
@ -589,8 +596,7 @@ end;
{ TPackageTabPanel }
constructor TPackageTabPanel.Create(AParentWindow: TSourceEditorWindowInterface
);
constructor TPackageTabPanel.Create(AParentWindow: TSourceEditorWindowInterface);
begin
inherited Create(nil);

View File

@ -16,7 +16,7 @@ uses
// LazUtils
LazFileCache, LazFileUtils,
// IdeIntf
IDEOptionsIntf, IDEUtils,
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils,
// Pas2Js
PJSDsgnOptions;

View File

@ -5,8 +5,15 @@ unit PJSDsgnRegister;
interface
uses
Classes, SysUtils, Forms, Controls, ProjectIntf, CompOptsIntf, LazIDEIntf, IDEOptionsIntf,
PJSDsgnOptions, PJSDsgnOptsFrame, LazLoggerBase;
Classes, SysUtils,
// LCL
Forms, Controls,
// LazUtils
LazLoggerBase,
// IdeIntf
ProjectIntf, CompOptsIntf, LazIDEIntf, IDEOptionsIntf, IDEOptEditorIntf,
// Pas2js
PJSDsgnOptions, PJSDsgnOptsFrame;
const
ProjDescNamePas2JSWebApp = 'Web Application';

View File

@ -5,8 +5,13 @@ unit pjsprojectoptions;
interface
uses
Classes, SysUtils, Forms, Controls, StdCtrls, ExtCtrls, Spin, projectintf,
CompOptsIntf, IDEOptionsIntf, LazLoggerBase;
Classes, SysUtils,
// LCL
StdCtrls, Spin,
// LazUtils
LazLoggerBase,
// IdeIntf
LazIDEIntf, ProjectIntf, CompOptsIntf, IDEOptionsIntf, IDEOptEditorIntf;
type
@ -54,7 +59,7 @@ Procedure SetDefaultNodeJSCompileOptions(CompOpts: TLazCompilerOptions);
implementation
uses ideintf, lazideintf, pjsdsgnoptions, pjscontroller;
uses pjsdsgnoptions, pjscontroller;
Procedure ResetRunParams(RunParams : TAbstractRunParamsOptionsMode);

View File

@ -41,12 +41,11 @@ uses
// LazUtils
LConvEncoding, FileUtil, LazFileUtils, LazUTF8, LazUTF8Classes, AvgLvlTree,
// IDEIntf
ComponentReg, IDEDialogs,
LazIDEIntf, PackageIntf, ProjectIntf, IDEExternToolIntf, IDEOptionsIntf,
ComponentReg, IDEDialogs, LazIDEIntf, PackageIntf, ProjectIntf,
IDEExternToolIntf, IDEOptEditorIntf,
// IDE
IDEProcs, DialogProcs, CompilerOptions,
ProjPackCommon, Project, ProjectDefs, PackageDefs, PackageSystem, PackageEditor,
BasePkgManager, LazarusIDEStrConsts, ProjectDescriptors,
IDEProcs, DialogProcs, CompilerOptions, ProjPackCommon, Project, ProjectDescriptors,
PackageDefs, PackageSystem, PackageEditor, BasePkgManager, LazarusIDEStrConsts,
// Converter
ConverterTypes, ConvertSettings, ConvCodeTool, MissingUnits, MissingPropertiesDlg,
UsedUnits;

View File

@ -25,9 +25,15 @@ unit debugger_eventlog_options;
interface
uses
Classes, SysUtils, FileUtil, Graphics, Forms, StdCtrls, Spin, CheckLst,
ComCtrls, LCLType, LCLIntf, ColorBox, Debugger, LazarusIDEStrConsts,
IDEOptionsIntf, DbgIntfDebuggerBase, EnvironmentOpts, BaseDebugManager;
Classes, SysUtils,
// LCL
LCLType, LCLIntf, Forms, StdCtrls, Spin, CheckLst, ComCtrls, ColorBox, Graphics,
// DebuggerIntf
DbgIntfDebuggerBase,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
Debugger, LazarusIDEStrConsts, EnvironmentOpts, BaseDebugManager;
type
{ TDebuggerEventLogOptionsFrame }

View File

@ -25,11 +25,18 @@ unit debugger_general_options;
interface
uses
Classes, SysUtils, TypInfo, Forms, Controls, StdCtrls,
ExtCtrls, Buttons, Dialogs, LCLProc, FileUtil, LazFileUtils, LazFileCache, PropEdits,
ObjectInspector, TransferMacros, LazarusIDEStrConsts, IDEOptionsIntf, IDEUtils,
DbgIntfDebuggerBase, PathEditorDlg, InputHistory, IDEProcs, DialogProcs,
EnvironmentOpts, BaseDebugManager, Debugger;
Classes, SysUtils, TypInfo,
// LCL
Forms, Controls, StdCtrls, ExtCtrls, Buttons, Dialogs, LCLProc,
// LazUtils
FileUtil, LazFileUtils, LazFileCache,
// DebuggerIntf
DbgIntfDebuggerBase,
// IdeIntf
PropEdits, ObjectInspector, IDEOptionsIntf, IDEOptEditorIntf, IDEUtils,
// IDE
TransferMacros, LazarusIDEStrConsts, PathEditorDlg, IDEProcs, DialogProcs,
InputHistory, EnvironmentOpts, BaseDebugManager, Debugger;
type

View File

@ -25,9 +25,13 @@ unit debugger_language_exceptions_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, StdCtrls, CheckLst,
Buttons, Dialogs,
LazarusIDEStrConsts, IDEImagesIntf, IDEOptionsIntf, Debugger, BaseDebugManager;
Classes, SysUtils,
// LCL
Forms, Controls, StdCtrls, CheckLst, Buttons, Dialogs,
// IdeIntf
IDEImagesIntf, IDEOptionsIntf, IDEOptEditorIntf,
// IDE
LazarusIDEStrConsts, Debugger, BaseDebugManager;
type

View File

@ -25,9 +25,13 @@ unit debugger_signals_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, StdCtrls, Menus,
ComCtrls, Buttons,
LazarusIDEStrConsts, IDEOptionsIntf, IDEImagesIntf, Debugger, BaseDebugManager;
Classes, SysUtils,
// LCL
Forms, StdCtrls, Menus, ComCtrls, Buttons,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEImagesIntf,
// IDE
LazarusIDEStrConsts, Debugger, BaseDebugManager;
type
{ TDebuggerSignalsOptions }

View File

@ -44,8 +44,13 @@ unit MyIDEHelp;
interface
uses
Classes, SysUtils, LCLProc, Dialogs, ComCtrls, StdCtrls, ExtCtrls, IDEDialogs,
LazConfigStorage, LazHelpIntf, HelpIntfs, IDEHelpIntf, IDEOptionsIntf, BaseIDEIntf;
Classes, SysUtils,
// LCL
LCLProc, Dialogs, ComCtrls, StdCtrls, ExtCtrls, LazHelpIntf, HelpIntfs,
// LazUtils
LazConfigStorage,
// IdeIntf
IDEDialogs, IDEHelpIntf, IDEOptionsIntf, IDEOptEditorIntf, BaseIDEIntf;
const
MyHelpConfigFilename = 'demo_myidehelp.xml';

View File

@ -40,8 +40,17 @@ uses
{$IFDEF IDE_MEM_CHECK}
MemCheck,
{$ENDIF}
Classes, SysUtils, Forms, Project, SourceMarks, DbgIntfBaseTypes, DbgIntfDebuggerBase,
Debugger, ProjectDefs, IDEOptionsIntf, LazarusIDEStrConsts, Laz2_XMLCfg;
Classes, SysUtils,
// LCL
Forms,
// LazUtils
Laz2_XMLCfg,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// DebuggerIntf
DbgIntfBaseTypes, DbgIntfDebuggerBase,
// IDE
Debugger, SourceMarks, Project, ProjectDefs, LazarusIDEStrConsts;
type
TDebugDialogType = (

View File

@ -43,7 +43,7 @@ uses
// LazUtils
AvgLvlTree, Laz2_XMLCfg, LazFileUtils, LazFileCache,
// IDEIntf
IDEOptionsIntf,
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
LazConf, IDEProcs, LazarusIDEStrConsts;

View File

@ -35,9 +35,17 @@ unit CodeToolsOptions;
interface
uses
Classes, SysUtils, LazConf, LazFileUtils, Laz2_XMLCfg, LazUTF8, LazUTF8Classes,
LazFileCache, LclProc, LCLType, CodeToolManager, DefineTemplates, SourceChanger,
IDEOptionsIntf, MacroIntf, LazarusIDEStrConsts, IDEProcs;
Classes, SysUtils,
// LazUtils
LazFileUtils, Laz2_XMLCfg, LazUTF8, LazUTF8Classes, LazFileCache,
// LCL
LCLProc, LCLType,
// CodeTools
CodeToolManager, DefineTemplates, SourceChanger,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, MacroIntf,
// IDE
LazConf, LazarusIDEStrConsts, IDEProcs;
const
DefaultIndentationFilename = 'laz_indentation.pas'; // in directory GetPrimaryConfigPath

View File

@ -49,7 +49,7 @@ uses
CodeCache, CodeTree, CodeToolManager, FindDeclarationTool,
// IDEIntf
PropEdits, PropEditUtils, ObjectInspector, FormEditingIntf, ComponentReg,
UnitResources, IDEOptionsIntf, IDEDialogs, ComponentEditors,
UnitResources, IDEOptEditorIntf, IDEDialogs, ComponentEditors,
// IDE
LazarusIDEStrConsts, EditorOptions, EnvironmentOpts, IDEProcs, Project, MainIntf,
PackageDefs,

View File

@ -65,7 +65,8 @@ uses
// codetools
LinkScanner, CodeToolManager,
// IDEIntf
IDECommands, SrcEditorIntf, IDEOptionsIntf, IDEDialogs, EditorSyntaxHighlighterDef,
IDECommands, SrcEditorIntf, IDEOptionsIntf, IDEOptEditorIntf, IDEDialogs,
EditorSyntaxHighlighterDef,
// IDE
SourceMarks, LazarusIDEStrConsts, IDEProcs, KeyMapping, LazConf;

View File

@ -45,7 +45,7 @@ uses
// CodeTools
FileProcs, SourceChanger, CodeCompletionTool,
// IDEIntf
ProjectIntf, ObjectInspector, IDEWindowIntf, IDEOptionsIntf,
ProjectIntf, ObjectInspector, IDEWindowIntf, IDEOptionsIntf, IDEOptEditorIntf,
ComponentReg, IDEExternToolIntf, MacroDefIntf, SrcEditorIntf,
// DebuggerIntf
DbgIntfDebuggerBase,

View File

@ -25,7 +25,13 @@ unit atom_checkboxes_options;
interface
uses
Classes, IDEOptionsIntf, SourceChanger, StdCtrls;
Classes,
// LCL
StdCtrls,
// CodeTools
SourceChanger,
// IdeIntf
IDEOptEditorIntf;
type
{ TCodetoolsAtomCheckboxesOptionsFrame }

View File

@ -25,8 +25,13 @@ unit Backup_Options;
interface
uses
Classes, SysUtils, FileUtil, Forms, StdCtrls, ExtCtrls,
EnvironmentOpts, LazarusIDEStrConsts, IDEProcs, IDEOptionsIntf, IDEUtils;
SysUtils,
// LCL
StdCtrls, ExtCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils,
// IDE
EnvironmentOpts, LazarusIDEStrConsts, IDEProcs;
type

View File

@ -25,8 +25,13 @@ unit codeexplorer_categories_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, ExtCtrls,
IDEOptionsIntf, LazarusIDEStrConsts, CodeExplOpts;
SysUtils,
// LCL
ExtCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
LazarusIDEStrConsts, CodeExplOpts;
type

View File

@ -25,8 +25,13 @@ unit codeexplorer_update_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, ExtCtrls, StdCtrls,
IDEOptionsIntf, LazarusIDEStrConsts, CodeExplOpts;
SysUtils,
// LCL
Forms, ExtCtrls, StdCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
LazarusIDEStrConsts, CodeExplOpts;
type

View File

@ -25,8 +25,13 @@ unit codeobserver_options;
interface
uses
Classes, Graphics, SysUtils, FileUtil, Forms,
IDEOptionsIntf, LazarusIDEStrConsts, CodeExplOpts, ExtCtrls, Spin, StdCtrls;
Classes, SysUtils,
// LCL
Forms, Graphics, ExtCtrls, Spin, StdCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
LazarusIDEStrConsts, CodeExplOpts;
type

View File

@ -25,8 +25,15 @@ unit codetools_classcompletion_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, ExtCtrls, StdCtrls, Buttons, Dialogs,
SourceChanger, CodeToolsOptions, LazarusIDEStrConsts, IDEOptionsIntf;
SysUtils,
// LCL
Forms, ExtCtrls, StdCtrls, Dialogs,
// CodeTools
SourceChanger,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
CodeToolsOptions, LazarusIDEStrConsts;
type

View File

@ -25,8 +25,17 @@ unit codetools_codecreation_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, ExtCtrls, StdCtrls, Dialogs, EditBtn,
SourceChanger, CodeToolsOptions, LazarusIDEStrConsts, IDEOptionsIntf;
SysUtils,
// LazUtils
FileUtil,
// LCL
StdCtrls, Dialogs, EditBtn,
// CodeTools
SourceChanger,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
CodeToolsOptions, LazarusIDEStrConsts;
type

View File

@ -25,9 +25,13 @@ unit codetools_general_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, StdCtrls, Buttons,
Dialogs, ExtCtrls, Graphics, EditBtn, Spin,
CodeToolsOptions, LazarusIDEStrConsts, IDEOptionsIntf;
SysUtils,
// LCL
Forms, StdCtrls, Dialogs, Graphics, EditBtn, Spin,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
CodeToolsOptions, LazarusIDEStrConsts;
type

View File

@ -25,8 +25,15 @@ unit codetools_identifiercompletion_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, StdCtrls,
CodeToolsOptions, LazarusIDEStrConsts, IDEOptionsIntf, DividerBevel;
SysUtils,
// LCL
Forms, StdCtrls,
// LazControls
DividerBevel,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
CodeToolsOptions, LazarusIDEStrConsts;
type

View File

@ -25,8 +25,17 @@ unit codetools_linesplitting_options;
interface
uses
Classes, SysUtils, LCLProc, Forms, StdCtrls, SynEdit,
SourceChanger, IDEOptionsIntf, EditorOptions, atom_checkboxes_options;
Classes, SysUtils,
// LCL
StdCtrls,
// CodeTools
SourceChanger,
// SynEdit
SynEdit,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
EditorOptions, atom_checkboxes_options;
type
{ TCodetoolsLineSplittingOptionsFrame }

View File

@ -25,8 +25,17 @@ unit codetools_space_options;
interface
uses
Classes, SysUtils, Forms, StdCtrls, SynEdit,
SourceChanger, IDEOptionsIntf, EditorOptions, atom_checkboxes_options;
Classes, SysUtils,
// LCL
StdCtrls,
// CodeTools
SourceChanger,
// SynEdit
SynEdit,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
EditorOptions, atom_checkboxes_options;
type

View File

@ -25,8 +25,15 @@ unit codetools_wordpolicy_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, ExtCtrls, StdCtrls,
SourceChanger, CodeToolsOptions, LazarusIDEStrConsts, IDEOptionsIntf;
SysUtils,
// LCL
ExtCtrls, StdCtrls,
// CodeTools
SourceChanger,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
CodeToolsOptions, LazarusIDEStrConsts;
type

View File

@ -27,11 +27,15 @@ unit Compiler_BuildMacro_Options;
interface
uses
Classes, SysUtils, Controls, Forms, StdCtrls, Buttons, ExtCtrls, Dialogs,
ComCtrls,
Classes, SysUtils,
// LCL
Controls, Forms, StdCtrls, Buttons, ExtCtrls, Dialogs, ComCtrls,
// CodeTools
KeywordFuncLists, CodeToolsCfgScript,
IDEImagesIntf, IDEOptionsIntf, MacroIntf, CompOptsIntf,
CompilerOptions, IDEDialogs, LazarusIDEStrConsts, PackageDefs;
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, CompOptsIntf, MacroIntf, IDEImagesIntf, IDEDialogs,
// IDE
CompilerOptions, LazarusIDEStrConsts, PackageDefs;
type
TCBMNodeType = (

View File

@ -5,8 +5,13 @@ unit compiler_codegen_options;
interface
uses
SysUtils, StdCtrls, IDEOptionsIntf, CompilerOptions, PackageDefs,
LazarusIDEStrConsts;
SysUtils,
// LCL
StdCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
CompilerOptions, LazarusIDEStrConsts;
type

View File

@ -5,15 +5,17 @@ unit compiler_compilation_options;
interface
uses
// RTL + FCL + LCL
// RTL + FCL
Classes, sysutils,
// LCL
Controls, StdCtrls, Dialogs, ComboEx,
// CodeTools
FileProcs, DefineTemplates, CodeToolManager, LinkScanner,
// LazUtils
FileUtil, LazFileUtils,
// IDEIntf
IDEOptionsIntf, CompOptsIntf, IDEDialogs, IDEUtils, IDEExternToolIntf,
IDEOptionsIntf, IDEOptEditorIntf, CompOptsIntf, IDEExternToolIntf,
IDEDialogs, IDEUtils,
// IDE
Project, CompilerOptions, PackageDefs, LazarusIDEStrConsts, EnvironmentOpts,
LazConf, IDEProcs, DialogProcs, InputHistory, InitialSetupProc;

View File

@ -28,10 +28,18 @@ unit compiler_config_target;
interface
uses
Classes, SysUtils, strutils, Controls, Dialogs, Graphics, StdCtrls,
LCLProc, LazFileUtils, DefineTemplates, IDEOptionsIntf, MacroIntf,
IDEDialogs, CompilerOptions, LazarusIDEStrConsts,
TransferMacros, PackageDefs, Project, compiler_parsing_options;
Classes, SysUtils, strutils,
// LCL
LCLProc, Controls, Dialogs, Graphics, StdCtrls,
// LazUtils
LazFileUtils,
// CodeTools
DefineTemplates,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, MacroIntf, IDEDialogs,
// IDE
CompilerOptions, LazarusIDEStrConsts, TransferMacros, PackageDefs, Project,
compiler_parsing_options;
type

View File

@ -5,8 +5,14 @@ unit compiler_debugging_options;
interface
uses
StdCtrls, IDEOptionsIntf, CompilerOptions, CompOptsIntf, LazLoggerBase,
LazarusIDEStrConsts;
// LCL
StdCtrls,
// LazUtils
LazLoggerBase,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, CompOptsIntf,
// IDE
CompilerOptions, LazarusIDEStrConsts;
type

View File

@ -5,10 +5,20 @@ unit compiler_messages_options;
interface
uses
Classes, SysUtils, FileUtil, LazFileCache, LazLoggerBase, ListFilterEdit,
StdCtrls, CheckLst, Dialogs, IDEOptionsIntf, IDEExternToolIntf,
IDEDialogs, CompOptsIntf, IDEImagesIntf, CodeToolsFPCMsgs, CompilerOptions,
LazarusIDEStrConsts, etFPCMsgParser;
Classes, SysUtils,
// LCL
StdCtrls, CheckLst, Dialogs,
// LazUtils
FileUtil, LazFileCache, LazLoggerBase,
// LazControls
ListFilterEdit,
// CodeTools
CodeToolsFPCMsgs,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEExternToolIntf, CompOptsIntf, IDEImagesIntf,
IDEDialogs,
// IDE
CompilerOptions, LazarusIDEStrConsts, etFPCMsgParser;
type

View File

@ -35,10 +35,20 @@ unit Compiler_ModeMatrix;
interface
uses
Classes, SysUtils, types, LazLoggerBase, LazUTF8, Controls, Graphics, ComCtrls,
Menus, LCLProc, IDEOptionsIntf, IDEImagesIntf, CompOptsIntf, EnvironmentOpts,
PackageSystem, PackageDefs, Project, LazarusIDEStrConsts, TransferMacros,
ModeMatrixOpts, ModeMatrixCtrl, compiler_config_target;
//Classes, SysUtils, types, LazLoggerBase, LazUTF8, Controls, Graphics, ComCtrls,
//Menus, LCLProc, IDEOptionsIntf, IDEImagesIntf, CompOptsIntf, EnvironmentOpts,
//PackageSystem, PackageDefs, Project, LazarusIDEStrConsts, TransferMacros,
//ModeMatrixOpts, ModeMatrixCtrl, compiler_config_target;
Classes, SysUtils, types,
// LazUtils
LazLoggerBase, LazUTF8,
// LCL
LCLProc, Controls, Graphics, ComCtrls, Menus,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEImagesIntf, CompOptsIntf,
// IDE
EnvironmentOpts, PackageSystem, PackageDefs, Project, LazarusIDEStrConsts,
TransferMacros, ModeMatrixOpts, ModeMatrixCtrl, compiler_config_target;
type

View File

@ -36,7 +36,7 @@ uses
// Codetools
CodeToolsCfgScript, KeywordFuncLists,
// IdeIntf
IDEOptionsIntf, CompOptsIntf, IDECommands,
IDEOptionsIntf, IDEOptEditorIntf, CompOptsIntf, IDECommands,
// SynEdit
SynEdit, SynEditKeyCmds, SynCompletion,
// IDE

View File

@ -5,8 +5,15 @@ unit compiler_parsing_options;
interface
uses
ExtCtrls, StdCtrls, SysUtils, IDEOptionsIntf, CompilerOptions,
LinkScanner, PackageDefs, LazarusIDEStrConsts;
SysUtils,
// LCL
ExtCtrls, StdCtrls,
// CodeTools
LinkScanner,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
CompilerOptions, PackageDefs, LazarusIDEStrConsts;
type

View File

@ -5,11 +5,16 @@ unit compiler_path_options;
interface
uses
Classes, SysUtils, LCLProc, LazFileUtils, LazFileCache, Controls, Dialogs,
Buttons, StdCtrls, LCLType, IDEOptionsIntf, MacroIntf, IDEDialogs,
CompOptsIntf, Project, CompilerOptions, LazarusIDEStrConsts, IDEImagesIntf,
PathEditorDlg, IDEProcs, CheckCompilerOpts, ShowCompilerOpts,
ImExportCompilerOpts;
Classes, SysUtils,
// LCL
LCLProc, LCLType,Controls, Dialogs, Buttons, StdCtrls,
// LazUtils
LazFileUtils, LazFileCache,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, MacroIntf, CompOptsIntf, IDEImagesIntf, IDEDialogs,
// IDE
Project, CompilerOptions, LazarusIDEStrConsts, PathEditorDlg, IDEProcs,
CheckCompilerOpts, ShowCompilerOpts, ImExportCompilerOpts;
type

View File

@ -5,8 +5,13 @@ unit compiler_verbosity_options;
interface
uses
SysUtils, ExtCtrls, StdCtrls, IDEOptionsIntf, CompilerOptions,
LazarusIDEStrConsts;
SysUtils,
// LCL
ExtCtrls, StdCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
CompilerOptions, LazarusIDEStrConsts;
type

View File

@ -25,11 +25,18 @@ unit ComponentPalette_Options;
interface
uses
Classes, SysUtils, Graphics, Forms, Controls, StdCtrls, Dialogs, Buttons,
ComCtrls, ExtCtrls, FileUtil, LCLProc, LCLType, Menus, IDEProcs, Laz2_XMLCfg,
EnvironmentOpts, LazarusIDEStrConsts, IDEOptionsIntf,
IDEImagesIntf, DividerBevel, ComponentReg, FormEditingIntf, IDEOptionDefs,
PackageDefs, ImgList;
Classes, SysUtils,
// LCL
LCLProc, LCLType, Forms, Controls, StdCtrls, ComCtrls, ExtCtrls,
Dialogs, Buttons, Menus, Graphics,
// LazControls
DividerBevel,
// LazUtils
FileUtil, Laz2_XMLCfg, ImgList,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEImagesIntf, FormEditingIntf, ComponentReg,
// IDE
IDEProcs, EnvironmentOpts, LazarusIDEStrConsts, IDEOptionDefs, PackageDefs;
type

View File

@ -25,9 +25,17 @@ unit desktop_options;
interface
uses
Classes, SysUtils, FileUtil, Forms, StdCtrls, Dialogs, LCLProc, ExtCtrls,
Buttons, EnvironmentOpts, LazarusIDEStrConsts, IDETranslations, InputHistory,
IDEProcs, IDEOptionsIntf, IDEWindowIntf, IDEUtils, DividerBevel;
Classes, SysUtils,
// LazUtils
FileUtil,
// LCL
Forms, StdCtrls, Dialogs, LCLProc, ExtCtrls,
// LazControls
DividerBevel,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEWindowIntf, IDEUtils,
// IDE
EnvironmentOpts, LazarusIDEStrConsts, IDETranslations, InputHistory, IDEProcs;
type

View File

@ -27,13 +27,11 @@ interface
uses
Classes, SysUtils,
// LCL
LCLType, Forms, StdCtrls, ExtCtrls, Graphics, Controls, CheckLst, Buttons,
// LazUtils
FileUtil,
LCLType, Forms, StdCtrls, ExtCtrls, Graphics, CheckLst,
// IdeIntf
EditorSyntaxHighlighterDef, IDEOptionsIntf,
EditorSyntaxHighlighterDef, IDEOptionsIntf, IDEOptEditorIntf,
// SynEdit
SynEditHighlighter, SynEditHighlighterFoldBase,
SynEditHighlighterFoldBase,
// IDE
EditorOptions, LazarusIDEStrConsts;

View File

@ -25,10 +25,15 @@ unit editor_codetools_options;
interface
uses
Classes, StdCtrls, ComCtrls, Graphics, sysutils,
EditorOptions, LazarusIDEStrConsts, IDEOptionsIntf, ExtCtrls,
editor_color_options, editor_general_options,
SynEdit, SynCompletion, LCLType;
sysutils,
// LCL
StdCtrls, ComCtrls, ExtCtrls,
// SynEdit
SynCompletion,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
EditorOptions, LazarusIDEStrConsts;
type
{ TEditorCodetoolsOptionsFrame }

View File

@ -37,7 +37,7 @@ uses
SynEditTypes, SynGutterChanges, SynEditMouseCmds, SynEditHighlighter,
SynColorAttribEditor,
// IdeIntf
IDEOptionsIntf, IDEImagesIntf, IDEUtils,
IDEOptionsIntf, IDEOptEditorIntf, IDEImagesIntf, IDEUtils,
// IDE
EditorOptions, editor_general_options, LazarusIDEStrConsts, IDEProcs, LazConf,
SourceMarks;

View File

@ -25,11 +25,16 @@ unit editor_display_options;
interface
uses
Classes, SysUtils, Graphics, Dialogs, StdCtrls, Spin, LCLType, Controls, LCLProc, SynEdit,
SynEditMouseCmds, EditorOptions, LazarusIDEStrConsts, IDEOptionsIntf,
IDEUtils, editor_general_options, editor_color_options, IDEProcs,
SynGutterLineNumber, SynGutterLineOverview, SynGutter, SourceSynEditor,
SourceMarks;
Classes, SysUtils,
// LCL
Graphics, Dialogs, StdCtrls, Spin, LCLType, Controls, LCLProc,
// SynEdit
SynEdit, SynEditMouseCmds, SynGutterLineNumber, SynGutterLineOverview, SynGutter,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils,
// IDE
EditorOptions, LazarusIDEStrConsts, editor_general_options, editor_color_options,
IDEProcs, SourceSynEditor, SourceMarks;
type
{ TEditorDisplayOptionsFrame }

View File

@ -29,7 +29,7 @@ uses
// LCL
StdCtrls, ExtCtrls, Graphics, Spin, ColorBox, CheckLst, LCLType,
// IdeIntf
EditorSyntaxHighlighterDef, IDEOptionsIntf,
EditorSyntaxHighlighterDef, IDEOptionsIntf, IDEOptEditorIntf,
// SynEdit
SynEditHighlighter,
// IDE

View File

@ -31,9 +31,14 @@ unit editor_general_misc_options;
interface
uses
LCLProc, StdCtrls, SynEdit, ExtCtrls, EditorOptions,
LazarusIDEStrConsts, IDEProcs, IDEOptionsIntf, editor_general_options,
SynEditTextTrimmer;
// LCL
LCLProc, StdCtrls, ExtCtrls,
// SynEdit
SynEdit, SynEditTextTrimmer,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
EditorOptions, LazarusIDEStrConsts, IDEProcs, editor_general_options;
type
{ TEditorGeneralMiscOptionsFrame }

View File

@ -25,9 +25,20 @@ unit editor_general_options;
interface
uses
Classes, SysUtils, math, LCLProc, LCLType, StdCtrls, Controls, ExtCtrls,
Graphics, EditorOptions, LazarusIDEStrConsts, IDEProcs, IDEOptionsIntf,
IDEUtils, SynEdit, SynHighlighterPas, SynPluginMultiCaret, DividerBevel;
//Classes, SysUtils, math, LCLProc, LCLType, StdCtrls, Controls, ExtCtrls,
//Graphics, EditorOptions, LazarusIDEStrConsts, IDEProcs, IDEOptionsIntf,
//IDEUtils, SynEdit, SynHighlighterPas, SynPluginMultiCaret, DividerBevel;
Classes, SysUtils, math,
// LCL
LCLProc, LCLType, StdCtrls, Controls, ExtCtrls, Graphics,
// LazControls
DividerBevel,
// SynEdit
SynEdit, SynHighlighterPas, SynPluginMultiCaret,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils,
// IDE
EditorOptions, LazarusIDEStrConsts, IDEProcs;
type
TPreviewEditor = TSynEdit;

View File

@ -25,11 +25,18 @@ unit editor_indent_options;
interface
uses
Classes, SysUtils, LCLProc, LCLType, StdCtrls, Controls, ExtCtrls, Graphics,
Forms, ComCtrls, Spin, EditorOptions, LazarusIDEStrConsts, IDEProcs,
KeyMapping, editor_keymapping_options, editor_general_options, IDEOptionsIntf,
IDEUtils, SynEdit, SynBeautifier, SynHighlighterPas, SynEditKeyCmds,
DividerBevel;
Classes, SysUtils,
// LCL
LCLProc, LCLType, StdCtrls, Controls, ExtCtrls, Graphics, ComCtrls, Spin,
// LazControls
DividerBevel,
// SynEdit
SynEdit, SynBeautifier, SynHighlighterPas, SynEditKeyCmds,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils,
// IDE
EditorOptions, LazarusIDEStrConsts, IDEProcs, KeyMapping,
editor_keymapping_options, editor_general_options;
type
TPreviewEditor = TSynEdit;

View File

@ -25,11 +25,17 @@ unit editor_keymapping_options;
interface
uses
Classes, SysUtils, FileUtil, TreeFilterEdit, Forms, StdCtrls, ComCtrls,
Controls, Dialogs, LCLType, LazUTF8, Menus, Buttons, Clipbrd, EditorOptions,
LazarusIDEStrConsts, IDEOptionsIntf, IDEImagesIntf, editor_general_options,
KeymapSchemeDlg, KeyMapping, IDECommands, KeyMapShortCutDlg, SrcEditorIntf,
EditBtn, ExtCtrls;
Classes, SysUtils,
// LCL
Forms, StdCtrls, ComCtrls, Controls, Dialogs, LCLType, LazUTF8, Menus, Buttons,
Clipbrd, EditBtn, ExtCtrls,
// LazControls
TreeFilterEdit,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEImagesIntf, SrcEditorIntf,
// IDE
EditorOptions, LazarusIDEStrConsts, editor_general_options,
KeymapSchemeDlg, KeyMapping, IDECommands, KeyMapShortCutDlg;
type

View File

@ -27,13 +27,13 @@ interface
uses
Classes, sysutils,
// LCL
LCLType, CheckLst, Controls, StdCtrls, ComCtrls, Graphics, Spin, ExtCtrls,
LCLType, CheckLst, Controls, StdCtrls, ComCtrls, Graphics, Spin,
// LazControls
DividerBevel,
// IDEIntf
EditorSyntaxHighlighterDef, IDEOptionsIntf,
EditorSyntaxHighlighterDef, IDEOptionsIntf, IDEOptEditorIntf,
// SynEdit
SynEdit, SynCompletion, SynHighlighterPas, SynEditKeyCmds, SynEditHighlighterFoldBase,
SynEdit, SynHighlighterPas, SynEditKeyCmds, SynEditHighlighterFoldBase,
// IDE
EditorOptions, LazarusIDEStrConsts, SourceMarks, SynEditMarkupBracket,
editor_color_options, editor_general_options, editor_keymapping_options,

View File

@ -5,13 +5,21 @@ unit editor_markup_userdefined;
interface
uses
Classes, StdCtrls, ComCtrls, Graphics, sysutils, math, EditorOptions,
Classes, sysutils, math,
// LCL
LCLType, StdCtrls, ComCtrls, Graphics, EditorOptions, Spin, ExtCtrls,
Menus, Grids, Controls, Dialogs, Buttons,
// LazControls
DividerBevel,
// LazUtils
LazLoggerBase,
// SynEdit
SynEditKeyCmds, SynEditMarkupHighAll,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDECommands, IDEDialogs,
// IDE
LazarusIDEStrConsts, SynColorAttribEditor, KeyMapping, KeyMapShortCutDlg,
IDEOptionsIntf, IDECommands, IDEDialogs, Spin, ExtCtrls,
editor_color_options, editor_general_options, editor_keymapping_options,
SynEdit, SynCompletion, SynHighlighterPas, SynEditKeyCmds,
SynEditMarkupHighAll, DividerBevel, LazLoggerBase, LCLType, Menus, Grids,
Controls, Dialogs, Buttons;
editor_keymapping_options;
type

View File

@ -25,8 +25,17 @@ unit editor_mouseaction_options;
interface
uses
math, sysutils, EditorOptions, LazarusIDEStrConsts, IDEOptionsIntf, SynEdit, DividerBevel, StdCtrls,
ExtCtrls, Classes, LCLProc, editor_mouseaction_options_advanced, Controls, Forms, ComCtrls;
sysutils, math,
// LCL
LCLProc, StdCtrls, ExtCtrls, Classes, Forms, ComCtrls,
// LazControls
DividerBevel,
// SynEdit
SynEdit,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
EditorOptions, LazarusIDEStrConsts, editor_mouseaction_options_advanced;
type

View File

@ -25,10 +25,17 @@ unit editor_mouseaction_options_advanced;
interface
uses
EditorOptions, LazarusIDEStrConsts, IDEOptionsIntf, sysutils, StdCtrls,
ExtCtrls, Classes, Controls, Grids, ComCtrls, Dialogs,
SynEditMouseCmds, Laz2_XMLCfg, MouseActionDialog, math, KeyMapping,
IDEImagesIntf, IDEDialogs, LazUTF8, FileUtil;
Classes, sysutils, math,
// LCL
StdCtrls, ExtCtrls, Controls, Grids, ComCtrls, Dialogs,
// LazUtils
Laz2_XMLCfg, LazUTF8, FileUtil,
// SynEdit
SynEditMouseCmds,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEImagesIntf, IDEDialogs,
// IDE
EditorOptions, LazarusIDEStrConsts, MouseActionDialog, KeyMapping;
type

View File

@ -25,8 +25,13 @@ unit editor_multiwindow_options;
interface
uses
Classes, SysUtils, StdCtrls, ExtCtrls, LCLType, EditorOptions, LazarusIDEStrConsts,
SourceEditor, IDEOptionsIntf, CheckLst, ComCtrls;
Classes, SysUtils,
// LCL
LCLType, StdCtrls, ExtCtrls, CheckLst, ComCtrls,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
EditorOptions, LazarusIDEStrConsts, SourceEditor;
type

View File

@ -28,9 +28,15 @@ unit editortoolbar_options;
interface
uses
Classes, SysUtils, ExtCtrls, Buttons, Controls, StdCtrls, DividerBevel,
LazarusIDEStrConsts, LCLProc, IDEOptionsIntf, EnvironmentOpts,
EditorToolbarStatic, ToolbarConfig;
Classes, SysUtils,
// LCL
LCLProc, ExtCtrls, Buttons, Controls, StdCtrls,
// LazControls
DividerBevel,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf,
// IDE
LazarusIDEStrConsts, EnvironmentOpts, EditorToolbarStatic, ToolbarConfig;
type

View File

@ -5,9 +5,14 @@ unit env_file_filters;
interface
uses
Classes, SysUtils, LazFileUtils, LResources, Forms, Grids, Dialogs, Controls,
LCLProc, LCLType, Menus, StdCtrls, LazConfigStorage,
IDEOptionsIntf, BaseIDEIntf, IDEDialogs,
Classes, SysUtils,
// LazUtils
LazFileUtils, LazConfigStorage,
// LCL
LCLProc, LCLType, LResources, Forms, Grids, Dialogs, Controls, StdCtrls, Menus,
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, BaseIDEIntf, IDEDialogs,
// IDE
EnvironmentOpts, IDEOptionDefs, LazarusIDEStrConsts;
const

Some files were not shown because too many files have changed in this diff Show More