mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-07 23:16:01 +02:00
Make TProject own an instance of IDEOptions instead of inheriting from it.
git-svn-id: trunk@45802 -
This commit is contained in:
parent
11731e7aa8
commit
2fc0b188b7
@ -104,7 +104,6 @@ type
|
|||||||
TAbstractIDEEnvironmentOptions = class(TAbstractIDEOptions);
|
TAbstractIDEEnvironmentOptions = class(TAbstractIDEOptions);
|
||||||
TAbstractIDEHelpOptions = class(TAbstractIDEEnvironmentOptions);
|
TAbstractIDEHelpOptions = class(TAbstractIDEEnvironmentOptions);
|
||||||
|
|
||||||
TAbstractIDEProjectOptions = class(TAbstractIDEOptions);
|
|
||||||
TAbstractIDEPackageOptions = class(TAbstractIDEOptions);
|
TAbstractIDEPackageOptions = class(TAbstractIDEOptions);
|
||||||
TAbstractIDECompilerOptions = class(TAbstractIDEOptions);
|
TAbstractIDECompilerOptions = class(TAbstractIDEOptions);
|
||||||
|
|
||||||
|
@ -368,7 +368,7 @@ type
|
|||||||
petUnit
|
petUnit
|
||||||
);
|
);
|
||||||
|
|
||||||
TLazProject = class(TAbstractIDEProjectOptions)
|
TLazProject = class(TPersistent)
|
||||||
private
|
private
|
||||||
FCleanOutputFileMask: string;
|
FCleanOutputFileMask: string;
|
||||||
FCleanSourcesFileMask: string;
|
FCleanSourcesFileMask: string;
|
||||||
@ -388,6 +388,7 @@ type
|
|||||||
procedure SetFPDocPaths(const AValue: string);
|
procedure SetFPDocPaths(const AValue: string);
|
||||||
procedure SetUseAppBundle(AValue: Boolean);
|
procedure SetUseAppBundle(AValue: Boolean);
|
||||||
protected
|
protected
|
||||||
|
FIDEOptions: TAbstractIDEOptions; //actually TProjectIDEOptions;
|
||||||
FLazCompilerOptions: TLazCompilerOptions;
|
FLazCompilerOptions: TLazCompilerOptions;
|
||||||
FFlags: TProjectFlags;
|
FFlags: TProjectFlags;
|
||||||
FResources: TObject;
|
FResources: TObject;
|
||||||
|
@ -2661,7 +2661,7 @@ procedure TBuildManager.SetBuildTargetProject1(Quiet: boolean;
|
|||||||
begin
|
begin
|
||||||
FBuildTarget:=Project1;
|
FBuildTarget:=Project1;
|
||||||
if FBuildTarget<>nil then
|
if FBuildTarget<>nil then
|
||||||
TProject(FBuildTarget).AddHandlerDestroy(@OnProjectDestroy);
|
TProject(FBuildTarget).IDEOptions.AddHandlerDestroy(@OnProjectDestroy);
|
||||||
SetBuildTarget('','','',ScanFPCSrc,Quiet);
|
SetBuildTarget('','','',ScanFPCSrc,Quiet);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ procedure TProjectApplicationOptionsFrame.ReadSettings(AOptions: TAbstractIDEOpt
|
|||||||
var
|
var
|
||||||
AStream: TStream;
|
AStream: TStream;
|
||||||
begin
|
begin
|
||||||
FProject := AOptions as TProject;
|
FProject := (AOptions as TProjectIDEOptions).Project;
|
||||||
with FProject do
|
with FProject do
|
||||||
begin
|
begin
|
||||||
TitleEdit.Text := Title;
|
TitleEdit.Text := Title;
|
||||||
@ -273,7 +273,7 @@ procedure TProjectApplicationOptionsFrame.WriteSettings(AOptions: TAbstractIDEOp
|
|||||||
var
|
var
|
||||||
AStream: TStream;
|
AStream: TStream;
|
||||||
begin
|
begin
|
||||||
with AOptions as TProject do
|
with (AOptions as TProjectIDEOptions).Project {AOptions as TProject} do
|
||||||
begin
|
begin
|
||||||
Title := TitleEdit.Text;
|
Title := TitleEdit.Text;
|
||||||
if fIconChanged then
|
if fIconChanged then
|
||||||
@ -298,7 +298,7 @@ end;
|
|||||||
|
|
||||||
class function TProjectApplicationOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
class function TProjectApplicationOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||||
begin
|
begin
|
||||||
Result := TProject;
|
Result := TProjectIDEOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -192,7 +192,7 @@ end;
|
|||||||
|
|
||||||
procedure TProjectFormsOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectFormsOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||||
var
|
var
|
||||||
Project: TProject absolute AOptions;
|
Project: TProject;
|
||||||
|
|
||||||
procedure FillAutoCreateFormsListbox;
|
procedure FillAutoCreateFormsListbox;
|
||||||
var
|
var
|
||||||
@ -257,23 +257,24 @@ var
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
Project := (AOptions as TProjectIDEOptions).Project;
|
||||||
FillAutoCreateFormsListbox;
|
FillAutoCreateFormsListbox;
|
||||||
FillAvailFormsListBox;
|
FillAvailFormsListBox;
|
||||||
|
|
||||||
FormsAutoCreateNewFormsCheckBox.Checked := Project.AutoCreateForms;
|
FormsAutoCreateNewFormsCheckBox.Checked := Project.AutoCreateForms;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TProjectFormsOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectFormsOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||||
var
|
var
|
||||||
Project: TProject absolute AOptions;
|
Project: TProject;
|
||||||
begin
|
begin
|
||||||
|
Project := (AOptions as TProjectIDEOptions).Project;
|
||||||
Project.AutoCreateForms := FormsAutoCreateNewFormsCheckBox.Checked;
|
Project.AutoCreateForms := FormsAutoCreateNewFormsCheckBox.Checked;
|
||||||
Project.TmpAutoCreatedForms := FormsAutoCreatedListBox.Items;
|
Project.TmpAutoCreatedForms := FormsAutoCreatedListBox.Items;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class function TProjectFormsOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
class function TProjectFormsOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||||
begin
|
begin
|
||||||
Result := TProject;
|
Result := TProjectIDEOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -85,7 +85,7 @@ end;
|
|||||||
|
|
||||||
procedure TProjectI18NOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectI18NOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||||
begin
|
begin
|
||||||
FProject := AOptions as TProject;
|
FProject := (AOptions as TProjectIDEOptions).Project;
|
||||||
with FProject do
|
with FProject do
|
||||||
begin
|
begin
|
||||||
POOutDirEdit.Text := POOutputDirectory;
|
POOutDirEdit.Text := POOutputDirectory;
|
||||||
@ -97,7 +97,7 @@ end;
|
|||||||
|
|
||||||
procedure TProjectI18NOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectI18NOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||||
begin
|
begin
|
||||||
with AOptions as TProject do
|
with (AOptions as TProjectIDEOptions).Project do
|
||||||
begin
|
begin
|
||||||
POOutputDirectory := POOutDirEdit.Text;
|
POOutputDirectory := POOutDirEdit.Text;
|
||||||
EnableI18N := EnableI18NCheckBox.Checked;
|
EnableI18N := EnableI18NCheckBox.Checked;
|
||||||
@ -107,7 +107,7 @@ end;
|
|||||||
|
|
||||||
class function TProjectI18NOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
class function TProjectI18NOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||||
begin
|
begin
|
||||||
Result := TProject;
|
Result := TProjectIDEOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -120,7 +120,7 @@ end;
|
|||||||
|
|
||||||
procedure TProjectFPDocOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectFPDocOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||||
begin
|
begin
|
||||||
with AOptions as TProject do begin
|
with (AOptions as TProjectIDEOptions).Project do begin
|
||||||
SplitString(FPDocPaths, ';', PathsListBox.Items, True);
|
SplitString(FPDocPaths, ';', PathsListBox.Items, True);
|
||||||
if FPDocPackageName='' then
|
if FPDocPackageName='' then
|
||||||
FPDocPackageNameEdit.Text:=lisDefaultPlaceholder
|
FPDocPackageNameEdit.Text:=lisDefaultPlaceholder
|
||||||
@ -131,7 +131,7 @@ end;
|
|||||||
|
|
||||||
procedure TProjectFPDocOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectFPDocOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||||
begin
|
begin
|
||||||
with AOptions as TProject do begin
|
with (AOptions as TProjectIDEOptions).Project do begin
|
||||||
FPDocPaths := StringListToText(PathsListBox.Items, ';', True);
|
FPDocPaths := StringListToText(PathsListBox.Items, ';', True);
|
||||||
FPDocPackageName:=GetFPDocPkgNameEditValue;
|
FPDocPackageName:=GetFPDocPkgNameEditValue;
|
||||||
end;
|
end;
|
||||||
@ -139,7 +139,7 @@ end;
|
|||||||
|
|
||||||
class function TProjectFPDocOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
class function TProjectFPDocOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||||
begin
|
begin
|
||||||
Result := TProject;
|
Result := TProjectIDEOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -74,7 +74,7 @@ end;
|
|||||||
|
|
||||||
procedure TProjectMiscOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectMiscOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||||
begin
|
begin
|
||||||
with AOptions as TProject do
|
with (AOptions as TProjectIDEOptions).Project do
|
||||||
begin
|
begin
|
||||||
MainUnitIsPascalSourceCheckBox.Checked := (pfMainUnitIsPascalSource in Flags);
|
MainUnitIsPascalSourceCheckBox.Checked := (pfMainUnitIsPascalSource in Flags);
|
||||||
MainUnitHasUsesSectionForAllUnitsCheckBox.Checked := (pfMainUnitHasUsesSectionForAllUnits in Flags);
|
MainUnitHasUsesSectionForAllUnitsCheckBox.Checked := (pfMainUnitHasUsesSectionForAllUnits in Flags);
|
||||||
@ -100,7 +100,7 @@ end;
|
|||||||
|
|
||||||
procedure TProjectMiscOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectMiscOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||||
var
|
var
|
||||||
Project: TProject absolute AOptions;
|
Project: TProject;
|
||||||
NewFlags: TProjectFlags;
|
NewFlags: TProjectFlags;
|
||||||
|
|
||||||
procedure SetProjectFlag(AFlag: TProjectFlag; AValue: Boolean);
|
procedure SetProjectFlag(AFlag: TProjectFlag; AValue: Boolean);
|
||||||
@ -112,6 +112,7 @@ var
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
Project := (AOptions as TProjectIDEOptions).Project;
|
||||||
NewFlags := Project.Flags;
|
NewFlags := Project.Flags;
|
||||||
SetProjectFlag(pfMainUnitIsPascalSource,
|
SetProjectFlag(pfMainUnitIsPascalSource,
|
||||||
MainUnitIsPascalSourceCheckBox.Checked);
|
MainUnitIsPascalSourceCheckBox.Checked);
|
||||||
@ -139,7 +140,7 @@ end;
|
|||||||
|
|
||||||
class function TProjectMiscOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
class function TProjectMiscOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||||
begin
|
begin
|
||||||
Result := TProject;
|
Result := TProjectIDEOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -185,13 +185,12 @@ end;
|
|||||||
|
|
||||||
procedure TResourcesOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
procedure TResourcesOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||||
var
|
var
|
||||||
Project: TProject absolute AOptions;
|
|
||||||
List: TResourceList;
|
List: TResourceList;
|
||||||
I: Integer;
|
I: Integer;
|
||||||
begin
|
begin
|
||||||
FProject := Project;
|
FProject := (AOptions as TProjectIDEOptions).Project;
|
||||||
lbResources.Items.Clear;
|
lbResources.Items.Clear;
|
||||||
List := Project.ProjResources.UserResources.List;
|
List := FProject.ProjResources.UserResources.List;
|
||||||
lbResources.Items.BeginUpdate;
|
lbResources.Items.BeginUpdate;
|
||||||
try
|
try
|
||||||
for I := 0 to List.Count - 1 do
|
for I := 0 to List.Count - 1 do
|
||||||
@ -204,9 +203,10 @@ end;
|
|||||||
|
|
||||||
procedure TResourcesOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
procedure TResourcesOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||||
var
|
var
|
||||||
Project: TProject absolute AOptions;
|
Project: TProject;
|
||||||
I: Integer;
|
I: Integer;
|
||||||
begin
|
begin
|
||||||
|
Project := (AOptions as TProjectIDEOptions).Project;
|
||||||
Project.ProjResources.UserResources.List.Clear;
|
Project.ProjResources.UserResources.List.Clear;
|
||||||
for I := 0 to lbResources.Items.Count - 1 do
|
for I := 0 to lbResources.Items.Count - 1 do
|
||||||
Project.ProjResources.UserResources.List.AddResource(lbResources.Items[I].Caption,
|
Project.ProjResources.UserResources.List.AddResource(lbResources.Items[I].Caption,
|
||||||
@ -215,7 +215,7 @@ end;
|
|||||||
|
|
||||||
class function TResourcesOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
class function TResourcesOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||||
begin
|
begin
|
||||||
Result := TProject;
|
Result := TProjectIDEOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -88,9 +88,9 @@ end;
|
|||||||
|
|
||||||
procedure TProjectSaveOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
procedure TProjectSaveOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||||
begin
|
begin
|
||||||
if not (AOptions is TProject) then exit;
|
if not (AOptions is TProjectIDEOptions) then exit;
|
||||||
fProject:=TProject(AOptions);
|
fProject:=(AOptions as TProjectIDEOptions).Project;
|
||||||
with AOptions as TProject do
|
with fProject do
|
||||||
begin
|
begin
|
||||||
SaveClosedUnitInfoCheckBox.Checked := (pfSaveClosedUnits in Flags);
|
SaveClosedUnitInfoCheckBox.Checked := (pfSaveClosedUnits in Flags);
|
||||||
SaveOnlyProjectUnitInfoCheckBox.Checked := (pfSaveOnlyProjectUnits in Flags);
|
SaveOnlyProjectUnitInfoCheckBox.Checked := (pfSaveOnlyProjectUnits in Flags);
|
||||||
@ -104,8 +104,8 @@ procedure TProjectSaveOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
|||||||
var
|
var
|
||||||
AFlags: TProjectFlags;
|
AFlags: TProjectFlags;
|
||||||
begin
|
begin
|
||||||
if not (AOptions is TProject) then exit;
|
if not (AOptions is TProjectIDEOptions) then exit;
|
||||||
with AOptions as TProject do
|
with (AOptions as TProjectIDEOptions).Project do
|
||||||
begin
|
begin
|
||||||
AFlags := Flags;
|
AFlags := Flags;
|
||||||
if SaveClosedUnitInfoCheckBox.Checked then
|
if SaveClosedUnitInfoCheckBox.Checked then
|
||||||
@ -132,7 +132,7 @@ end;
|
|||||||
|
|
||||||
class function TProjectSaveOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
class function TProjectSaveOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||||
begin
|
begin
|
||||||
Result := TProject;
|
Result := TProjectIDEOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
@ -170,7 +170,7 @@ var
|
|||||||
i: integer;
|
i: integer;
|
||||||
Attr: TProjectVersionAttribute;
|
Attr: TProjectVersionAttribute;
|
||||||
begin
|
begin
|
||||||
FVersionInfo := (AOptions as TProject).ProjResources.VersionInfo;
|
FVersionInfo := (AOptions as TProjectIDEOptions).Project.ProjResources.VersionInfo;
|
||||||
|
|
||||||
UseVersionInfoCheckBox.Checked := FVersionInfo.UseVersionInfo;
|
UseVersionInfoCheckBox.Checked := FVersionInfo.UseVersionInfo;
|
||||||
MajorVersionSpinEdit.Value := FVersionInfo.MajorVersionNr;
|
MajorVersionSpinEdit.Value := FVersionInfo.MajorVersionNr;
|
||||||
@ -212,7 +212,7 @@ var
|
|||||||
t: TProjectVersionStringTable;
|
t: TProjectVersionStringTable;
|
||||||
attrs: TProjectVersionAttributes;
|
attrs: TProjectVersionAttributes;
|
||||||
begin
|
begin
|
||||||
VersionInfo := (AOptions as TProject).ProjResources.VersionInfo;
|
VersionInfo := (AOptions as TProjectIDEOptions).Project.ProjResources.VersionInfo;
|
||||||
VersionInfo.UseVersionInfo := UseVersionInfoCheckBox.Checked;
|
VersionInfo.UseVersionInfo := UseVersionInfoCheckBox.Checked;
|
||||||
VersionInfo.AutoIncrementBuild := AutomaticallyIncreaseBuildCheckBox.Checked;
|
VersionInfo.AutoIncrementBuild := AutomaticallyIncreaseBuildCheckBox.Checked;
|
||||||
VersionInfo.MajorVersionNr := MajorVersionSpinEdit.Value;
|
VersionInfo.MajorVersionNr := MajorVersionSpinEdit.Value;
|
||||||
@ -240,7 +240,7 @@ end;
|
|||||||
|
|
||||||
class function TProjectVersionInfoOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
class function TProjectVersionInfoOptionsFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||||
begin
|
begin
|
||||||
Result := TProject;
|
Result := TProjectIDEOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
17
ide/main.pp
17
ide/main.pp
@ -425,8 +425,7 @@ type
|
|||||||
procedure OnLoadIDEOptions(Sender: TObject; AOptions: TAbstractIDEOptions);
|
procedure OnLoadIDEOptions(Sender: TObject; AOptions: TAbstractIDEOptions);
|
||||||
procedure OnSaveIDEOptions(Sender: TObject; AOptions: TAbstractIDEOptions);
|
procedure OnSaveIDEOptions(Sender: TObject; AOptions: TAbstractIDEOptions);
|
||||||
procedure DoOpenIDEOptions(AEditor: TAbstractIDEOptionsEditorClass;
|
procedure DoOpenIDEOptions(AEditor: TAbstractIDEOptionsEditorClass;
|
||||||
ACaption: String;
|
ACaption: String; AOptionsFilter: array of TAbstractIDEOptionsClass;
|
||||||
AOptionsFilter: array of TAbstractIDEOptionsClass;
|
|
||||||
ASettings: TIDEOptionsEditorSettings); override;
|
ASettings: TIDEOptionsEditorSettings); override;
|
||||||
|
|
||||||
procedure DoEnvironmentOptionsBeforeRead(Sender: TObject);
|
procedure DoEnvironmentOptionsBeforeRead(Sender: TObject);
|
||||||
@ -4238,7 +4237,7 @@ procedure TMainIDE.mnuProjectOptionsClicked(Sender: TObject);
|
|||||||
begin
|
begin
|
||||||
if Project1=nil then exit;
|
if Project1=nil then exit;
|
||||||
DoOpenIDEOptions(nil, Format(dlgProjectOptionsFor, [Project1.GetTitleOrName]),
|
DoOpenIDEOptions(nil, Format(dlgProjectOptionsFor, [Project1.GetTitleOrName]),
|
||||||
[TAbstractIDEProjectOptions, TProjectCompilerOptions], []);
|
[TProjectIDEOptions, TProjectCompilerOptions], []);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TMainIDE.UpdateProjectPOFile(AProject: TProject): TModalResult;
|
function TMainIDE.UpdateProjectPOFile(AProject: TProject): TModalResult;
|
||||||
@ -5004,7 +5003,7 @@ begin
|
|||||||
//debugln(['TMainIDE.DoProjectOptionsBeforeRead ',DbgSName(Sender)]);
|
//debugln(['TMainIDE.DoProjectOptionsBeforeRead ',DbgSName(Sender)]);
|
||||||
ActiveSrcEdit:=nil;
|
ActiveSrcEdit:=nil;
|
||||||
BeginCodeTool(ActiveSrcEdit, ActiveUnitInfo, []);
|
BeginCodeTool(ActiveSrcEdit, ActiveUnitInfo, []);
|
||||||
AProject:=TProject(Sender);
|
AProject:=(Sender as TProjectIDEOptions).Project;
|
||||||
AProject.BackupSession;
|
AProject.BackupSession;
|
||||||
AProject.BackupBuildModes;
|
AProject.BackupBuildModes;
|
||||||
AProject.UpdateExecutableType;
|
AProject.UpdateExecutableType;
|
||||||
@ -5013,7 +5012,7 @@ end;
|
|||||||
|
|
||||||
procedure TMainIDE.DoProjectOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
procedure TMainIDE.DoProjectOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||||
var
|
var
|
||||||
AProject: TProject absolute Sender;
|
AProject: TProject;
|
||||||
aFilename: String;
|
aFilename: String;
|
||||||
|
|
||||||
function GetTitle: String;
|
function GetTitle: String;
|
||||||
@ -5099,6 +5098,7 @@ var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
//debugln(['TMainIDE.DoProjectOptionsAfterWrite ',DbgSName(Sender),' Restore=',Restore]);
|
//debugln(['TMainIDE.DoProjectOptionsAfterWrite ',DbgSName(Sender),' Restore=',Restore]);
|
||||||
|
AProject:=(Sender as TProjectIDEOptions).Project;
|
||||||
if not Restore then
|
if not Restore then
|
||||||
begin
|
begin
|
||||||
SetTitle;
|
SetTitle;
|
||||||
@ -6189,8 +6189,8 @@ begin
|
|||||||
Result.OnSaveUnitSessionInfo:=@OnSaveProjectUnitSessionInfo;
|
Result.OnSaveUnitSessionInfo:=@OnSaveProjectUnitSessionInfo;
|
||||||
Result.OnGetTestDirectory:=@OnProjectGetTestDirectory;
|
Result.OnGetTestDirectory:=@OnProjectGetTestDirectory;
|
||||||
Result.OnChangeProjectInfoFile:=@OnProjectChangeInfoFile;
|
Result.OnChangeProjectInfoFile:=@OnProjectChangeInfoFile;
|
||||||
Result.OnBeforeRead:=@DoProjectOptionsBeforeRead;
|
Result.IDEOptions.OnBeforeRead:=@DoProjectOptionsBeforeRead;
|
||||||
Result.OnAfterWrite:=@DoProjectOptionsAfterWrite;
|
Result.IDEOptions.OnAfterWrite:=@DoProjectOptionsAfterWrite;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TMainIDE.DoNewProject(ProjectDesc: TProjectDescriptor): TModalResult;
|
function TMainIDE.DoNewProject(ProjectDesc: TProjectDescriptor): TModalResult;
|
||||||
@ -9279,8 +9279,7 @@ begin
|
|||||||
Owners.Free;
|
Owners.Free;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
if FilenameIsAbsolute(CodeToolsOpts.IndentationFileName)
|
if FilenameIsAbsolute(CodeToolsOpts.IndentationFileName) then
|
||||||
then
|
|
||||||
AddFile(CodeToolsOpts.IndentationFileName);
|
AddFile(CodeToolsOpts.IndentationFileName);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -725,6 +725,19 @@ type
|
|||||||
property SessionMatrixOptions: TBuildMatrixOptions read FSessionMatrixOptions;
|
property SessionMatrixOptions: TBuildMatrixOptions read FSessionMatrixOptions;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TProjectIDEOptions }
|
||||||
|
|
||||||
|
TProjectIDEOptions = class(TAbstractIDEOptions)
|
||||||
|
private
|
||||||
|
FProject: TProject;
|
||||||
|
public
|
||||||
|
constructor Create(AProject: TProject);
|
||||||
|
destructor Destroy; override;
|
||||||
|
class function GetInstance: TAbstractIDEOptions; override;
|
||||||
|
class function GetGroupCaption: string; override;
|
||||||
|
property Project: TProject read FProject;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TProject }
|
{ TProject }
|
||||||
|
|
||||||
TEndUpdateProjectEvent =
|
TEndUpdateProjectEvent =
|
||||||
@ -819,6 +832,7 @@ type
|
|||||||
function GetFirstPartOfProject: TUnitInfo;
|
function GetFirstPartOfProject: TUnitInfo;
|
||||||
function GetFirstUnitWithComponent: TUnitInfo;
|
function GetFirstUnitWithComponent: TUnitInfo;
|
||||||
function GetFirstUnitWithEditorIndex: TUnitInfo;
|
function GetFirstUnitWithEditorIndex: TUnitInfo;
|
||||||
|
function GetIDEOptions: TProjectIDEOptions;
|
||||||
function GetMainFilename: String;
|
function GetMainFilename: String;
|
||||||
function GetMainUnitInfo: TUnitInfo;
|
function GetMainUnitInfo: TUnitInfo;
|
||||||
function GetProjResources: TProjectResources;
|
function GetProjResources: TProjectResources;
|
||||||
@ -904,8 +918,6 @@ type
|
|||||||
public
|
public
|
||||||
constructor Create(ProjectDescription: TProjectDescriptor); override;
|
constructor Create(ProjectDescription: TProjectDescriptor); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
class function GetInstance: TAbstractIDEOptions; override;
|
|
||||||
class function GetGroupCaption: string; override;
|
|
||||||
procedure Clear; override;
|
procedure Clear; override;
|
||||||
procedure BeginUpdate(Change: boolean);
|
procedure BeginUpdate(Change: boolean);
|
||||||
procedure EndUpdate;
|
procedure EndUpdate;
|
||||||
@ -1098,6 +1110,7 @@ type
|
|||||||
property FirstRequiredDependency: TPkgDependency read FFirstRequiredDependency;
|
property FirstRequiredDependency: TPkgDependency read FFirstRequiredDependency;
|
||||||
property FirstUnitWithComponent: TUnitInfo read GetFirstUnitWithComponent;
|
property FirstUnitWithComponent: TUnitInfo read GetFirstUnitWithComponent;
|
||||||
property FirstUnitWithEditorIndex: TUnitInfo read GetFirstUnitWithEditorIndex;
|
property FirstUnitWithEditorIndex: TUnitInfo read GetFirstUnitWithEditorIndex;
|
||||||
|
property IDEOptions: TProjectIDEOptions read GetIDEOptions;
|
||||||
property JumpHistory: TProjectJumpHistory read FJumpHistory write FJumpHistory;
|
property JumpHistory: TProjectJumpHistory read FJumpHistory write FJumpHistory;
|
||||||
property LastCompilerFileDate: integer read FLastCompilerFileDate
|
property LastCompilerFileDate: integer read FLastCompilerFileDate
|
||||||
write FLastCompilerFileDate;
|
write FLastCompilerFileDate;
|
||||||
@ -2623,6 +2636,29 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
{ TProjectIDEOptions }
|
||||||
|
|
||||||
|
constructor TProjectIDEOptions.Create(AProject: TProject);
|
||||||
|
begin
|
||||||
|
inherited Create;
|
||||||
|
FProject := AProject;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TProjectIDEOptions.Destroy;
|
||||||
|
begin
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TProjectIDEOptions.GetInstance: TAbstractIDEOptions;
|
||||||
|
begin
|
||||||
|
Result := Project1.IDEOptions;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TProjectIDEOptions.GetGroupCaption: string;
|
||||||
|
begin
|
||||||
|
Result := dlgProjectOptions;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
TProject Class
|
TProject Class
|
||||||
@ -2661,6 +2697,7 @@ begin
|
|||||||
FSourceDirectories:=TFileReferenceList.Create;
|
FSourceDirectories:=TFileReferenceList.Create;
|
||||||
FSourceDirectories.OnChanged:=@SourceDirectoriesChanged;
|
FSourceDirectories.OnChanged:=@SourceDirectoriesChanged;
|
||||||
UpdateProjectDirectory;
|
UpdateProjectDirectory;
|
||||||
|
FIDEOptions:=TProjectIDEOptions.Create(Self);
|
||||||
FPublishOptions:=TPublishProjectOptions.Create(Self);
|
FPublishOptions:=TPublishProjectOptions.Create(Self);
|
||||||
FRunParameters:=TRunParamsOptions.Create;
|
FRunParameters:=TRunParamsOptions.Create;
|
||||||
Title := '';
|
Title := '';
|
||||||
@ -2692,6 +2729,7 @@ begin
|
|||||||
FreeThenNil(FJumpHistory);
|
FreeThenNil(FJumpHistory);
|
||||||
FreeThenNil(FSourceDirectories);
|
FreeThenNil(FSourceDirectories);
|
||||||
FreeThenNil(FPublishOptions);
|
FreeThenNil(FPublishOptions);
|
||||||
|
FreeThenNil(FIDEOptions);
|
||||||
FreeThenNil(FRunParameters);
|
FreeThenNil(FRunParameters);
|
||||||
FreeThenNil(FDefineTemplates);
|
FreeThenNil(FDefineTemplates);
|
||||||
|
|
||||||
@ -3775,16 +3813,6 @@ begin
|
|||||||
TProjectXPManifest(ProjResources[TProjectXPManifest]).UseManifest:=AValue;
|
TProjectXPManifest(ProjResources[TProjectXPManifest]).UseManifest:=AValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class function TProject.GetInstance: TAbstractIDEOptions;
|
|
||||||
begin
|
|
||||||
Result := Project1;
|
|
||||||
end;
|
|
||||||
|
|
||||||
class function TProject.GetGroupCaption: string;
|
|
||||||
begin
|
|
||||||
Result := dlgProjectOptions;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TProject.UnitCount:integer;
|
function TProject.UnitCount:integer;
|
||||||
begin
|
begin
|
||||||
Result:=FUnitList.Count;
|
Result:=FUnitList.Count;
|
||||||
@ -4134,6 +4162,11 @@ begin
|
|||||||
Result:=fFirst[uilWithEditorIndex];
|
Result:=fFirst[uilWithEditorIndex];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TProject.GetIDEOptions: TProjectIDEOptions;
|
||||||
|
begin
|
||||||
|
Result := TProjectIDEOptions(FIDEOptions);
|
||||||
|
end;
|
||||||
|
|
||||||
function TProject.GetMainUnitInfo: TUnitInfo;
|
function TProject.GetMainUnitInfo: TUnitInfo;
|
||||||
begin
|
begin
|
||||||
if (MainUnitID>=0) and (MainUnitID<UnitCount) then
|
if (MainUnitID>=0) and (MainUnitID<UnitCount) then
|
||||||
@ -7316,7 +7349,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
RegisterIDEOptionsGroup(GroupProject, TProject);
|
RegisterIDEOptionsGroup(GroupProject, TProjectIDEOptions);
|
||||||
RegisterIDEOptionsGroup(GroupCompiler, TProjectCompilerOptions);
|
RegisterIDEOptionsGroup(GroupCompiler, TProjectCompilerOptions);
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
Loading…
Reference in New Issue
Block a user