mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 20:19:10 +02:00
IDEIntf: started RestoreSettings for options dialogs
git-svn-id: trunk@27677 -
This commit is contained in:
parent
3ff98d74ff
commit
8ff93b3a7e
@ -81,7 +81,10 @@ inherited BuildModesEditorFrame: TBuildModesEditorFrame
|
|||||||
Width = 170
|
Width = 170
|
||||||
end>
|
end>
|
||||||
FixedCols = 0
|
FixedCols = 0
|
||||||
|
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goSmoothScroll]
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
OnCheckboxToggled = BuildModesStringGridCheckboxToggled
|
||||||
|
OnValidateEntry = BuildModesStringGridValidateEntry
|
||||||
ColWidths = (
|
ColWidths = (
|
||||||
170
|
170
|
||||||
170
|
170
|
||||||
|
@ -21,7 +21,20 @@
|
|||||||
Abstract:
|
Abstract:
|
||||||
The frame for 'build modes' on the compiler options.
|
The frame for 'build modes' on the compiler options.
|
||||||
Allows to edit build modes and build macro values.
|
Allows to edit build modes and build macro values.
|
||||||
It does not allow to define new build macros.
|
It does not allow to define new build macros, only values.
|
||||||
|
|
||||||
|
ToDo:
|
||||||
|
- add build mode
|
||||||
|
- delete build mode
|
||||||
|
- move build mode up/down
|
||||||
|
- in session attribute
|
||||||
|
- cancel
|
||||||
|
- extend ide options with CancelSettings
|
||||||
|
- create central copy of build modes at setup and store modified flags
|
||||||
|
- access active build modes directly
|
||||||
|
- on cancel: copy back and restore modified flags
|
||||||
|
- on write: check is something has changed: if not restore modified flags
|
||||||
|
- activate another build mode
|
||||||
}
|
}
|
||||||
unit BuildModesEditor;
|
unit BuildModesEditor;
|
||||||
|
|
||||||
@ -62,13 +75,17 @@ type
|
|||||||
procedure BuildModeDeleteSpeedButtonClick(Sender: TObject);
|
procedure BuildModeDeleteSpeedButtonClick(Sender: TObject);
|
||||||
procedure BuildModeMoveDownSpeedButtonClick(Sender: TObject);
|
procedure BuildModeMoveDownSpeedButtonClick(Sender: TObject);
|
||||||
procedure BuildModeMoveUpSpeedButtonClick(Sender: TObject);
|
procedure BuildModeMoveUpSpeedButtonClick(Sender: TObject);
|
||||||
|
procedure BuildModesStringGridCheckboxToggled(sender: TObject; aCol,
|
||||||
|
aRow: Integer; aState: TCheckboxState);
|
||||||
|
procedure BuildModesStringGridValidateEntry(sender: TObject; aCol,
|
||||||
|
aRow: Integer; const OldValue: string; var NewValue: String);
|
||||||
private
|
private
|
||||||
FMacroValues: TProjectBuildMacros;
|
FMacroValues: TProjectBuildMacros;
|
||||||
FProject: TProject;
|
FProject: TProject;
|
||||||
procedure UpdateMacrosControls;
|
procedure UpdateMacrosControls;
|
||||||
function GetAllBuildMacros: TStrings;
|
function GetAllBuildMacros: TStrings;
|
||||||
procedure CleanMacrosGrid;
|
procedure CleanMacrosGrid;
|
||||||
procedure Save(UpdateControls: boolean);
|
procedure SaveMacros(UpdateControls: boolean);
|
||||||
procedure UpdateInheritedOptions;
|
procedure UpdateInheritedOptions;
|
||||||
function FindOptionFrame(AClass: TComponentClass): TComponent;
|
function FindOptionFrame(AClass: TComponentClass): TComponent;
|
||||||
procedure FillBuildModesGrid;
|
procedure FillBuildModesGrid;
|
||||||
@ -155,7 +172,7 @@ procedure TBuildModesEditorFrame.BuildMacroValuesStringGridEditingDone(
|
|||||||
Sender: TObject);
|
Sender: TObject);
|
||||||
begin
|
begin
|
||||||
//debugln(['TBuildModesEditorFrame.BuildMacroValuesStringGridEditingDone ']);
|
//debugln(['TBuildModesEditorFrame.BuildMacroValuesStringGridEditingDone ']);
|
||||||
Save(true);
|
SaveMacros(true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBuildModesEditorFrame.BuildMacroValuesStringGridSelection(
|
procedure TBuildModesEditorFrame.BuildMacroValuesStringGridSelection(
|
||||||
@ -165,8 +182,21 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBuildModesEditorFrame.BuildModeAddSpeedButtonClick(Sender: TObject);
|
procedure TBuildModesEditorFrame.BuildModeAddSpeedButtonClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
NewName: String;
|
||||||
begin
|
begin
|
||||||
ShowMessage('ToDo: TBuildModesEditorFrame.BuildModeAddSpeedButtonClick');
|
i:=0;
|
||||||
|
repeat
|
||||||
|
inc(i);
|
||||||
|
NewName:='Mode'+IntToStr(i);
|
||||||
|
until AProject.BuildModes.Find(NewName)=nil;
|
||||||
|
AProject.BuildModes.Add(NewName);
|
||||||
|
FillBuildModesGrid;
|
||||||
|
// select identifier
|
||||||
|
BuildModesStringGrid.Col:=2;
|
||||||
|
BuildModesStringGrid.Row:=BuildModesStringGrid.RowCount-1;
|
||||||
|
BuildModesStringGrid.EditorMode:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBuildModesEditorFrame.BuildModeDeleteSpeedButtonClick(Sender: TObject
|
procedure TBuildModesEditorFrame.BuildModeDeleteSpeedButtonClick(Sender: TObject
|
||||||
@ -177,14 +207,108 @@ end;
|
|||||||
|
|
||||||
procedure TBuildModesEditorFrame.BuildModeMoveDownSpeedButtonClick(
|
procedure TBuildModesEditorFrame.BuildModeMoveDownSpeedButtonClick(
|
||||||
Sender: TObject);
|
Sender: TObject);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
ShowMessage('ToDo: TBuildModesEditorFrame.BuildModeMoveDownSpeedButtonClick');
|
i:=BuildModesStringGrid.Row-1;
|
||||||
|
if i+1>=AProject.BuildModes.Count then exit;
|
||||||
|
AProject.BuildModes.Move(i,i+1);
|
||||||
|
AProject.BuildModes[0].InSession:=false;
|
||||||
|
inc(i);
|
||||||
|
FillBuildModesGrid;
|
||||||
|
BuildModesStringGrid.Row:=i+1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBuildModesEditorFrame.BuildModeMoveUpSpeedButtonClick(Sender: TObject
|
procedure TBuildModesEditorFrame.BuildModeMoveUpSpeedButtonClick(Sender: TObject
|
||||||
);
|
);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
ShowMessage('ToDo: TBuildModesEditorFrame.BuildModeMoveUpSpeedButtonClick');
|
i:=BuildModesStringGrid.Row-1;
|
||||||
|
if i<=0 then exit;
|
||||||
|
AProject.BuildModes.Move(i,i-1);
|
||||||
|
dec(i);
|
||||||
|
AProject.BuildModes[0].InSession:=false;
|
||||||
|
FillBuildModesGrid;
|
||||||
|
BuildModesStringGrid.Row:=i+1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBuildModesEditorFrame.BuildModesStringGridCheckboxToggled(
|
||||||
|
sender: TObject; aCol, aRow: Integer; aState: TCheckboxState);
|
||||||
|
var
|
||||||
|
CurMode: TProjectBuildMode;
|
||||||
|
b: Boolean;
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
debugln(['TBuildModesEditorFrame.BuildModesStringGridCheckboxToggled Row=',aRow,' Col=',aCol,' ',ord(aState)]);
|
||||||
|
i:=aRow-1;
|
||||||
|
if (i<0) or (i>=AProject.BuildModes.Count) then exit;
|
||||||
|
debugln(['TBuildModesEditorFrame.BuildModesStringGridCheckboxToggled ',i]);
|
||||||
|
CurMode:=AProject.BuildModes[i];
|
||||||
|
case aCol of
|
||||||
|
0:
|
||||||
|
// activate
|
||||||
|
;
|
||||||
|
1:
|
||||||
|
begin
|
||||||
|
// in session
|
||||||
|
b:=aState=cbChecked;
|
||||||
|
if b and (i=0) then
|
||||||
|
begin
|
||||||
|
|
||||||
|
MessageDlg('Error',
|
||||||
|
'The first build mode is the default mode and must be stored in the project, not in the session.',
|
||||||
|
mtError,[mbCancel],0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
CurMode.InSession:=b;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBuildModesEditorFrame.BuildModesStringGridValidateEntry(
|
||||||
|
sender: TObject; aCol, aRow: Integer; const OldValue: string;
|
||||||
|
var NewValue: String);
|
||||||
|
var
|
||||||
|
CurMode: TProjectBuildMode;
|
||||||
|
s: string;
|
||||||
|
j: Integer;
|
||||||
|
b: Boolean;
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
debugln(['TBuildModesEditorFrame.BuildModesStringGridValidateEntry Row=',aRow,' Col=',aCol,' ',NewValue]);
|
||||||
|
i:=aRow-1;
|
||||||
|
if (i<0) or (i>=AProject.BuildModes.Count) then exit;
|
||||||
|
debugln(['TBuildModesEditorFrame.SaveModes ',i]);
|
||||||
|
CurMode:=AProject.BuildModes[i];
|
||||||
|
case aCol of
|
||||||
|
0:
|
||||||
|
// activate
|
||||||
|
;
|
||||||
|
1:
|
||||||
|
begin
|
||||||
|
// in session
|
||||||
|
b:=NewValue=BuildModesStringGrid.Columns[1].ValueChecked;
|
||||||
|
if b and (i=0) then
|
||||||
|
begin
|
||||||
|
NewValue:=OldValue;
|
||||||
|
MessageDlg('Error',
|
||||||
|
'The first build mode is the default mode and must be stored in the project, not in the session.',
|
||||||
|
mtError,[mbCancel],0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
CurMode.InSession:=b;
|
||||||
|
end;
|
||||||
|
2:
|
||||||
|
begin
|
||||||
|
// identifier
|
||||||
|
s:=NewValue;
|
||||||
|
for j:=1 to length(s) do
|
||||||
|
if s[j]<' ' then s[j]:=' ';
|
||||||
|
CurMode.Identifier:=s;
|
||||||
|
NewValue:=s;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBuildModesEditorFrame.UpdateMacrosControls;
|
procedure TBuildModesEditorFrame.UpdateMacrosControls;
|
||||||
@ -275,7 +399,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBuildModesEditorFrame.Save(UpdateControls: boolean);
|
procedure TBuildModesEditorFrame.SaveMacros(UpdateControls: boolean);
|
||||||
var
|
var
|
||||||
Grid: TStringGrid;
|
Grid: TStringGrid;
|
||||||
aRow: Integer;
|
aRow: Integer;
|
||||||
@ -399,6 +523,11 @@ begin
|
|||||||
BuildModesStringGrid.Cells[1, 0]:=lisInSession;
|
BuildModesStringGrid.Cells[1, 0]:=lisInSession;
|
||||||
BuildModesStringGrid.Cells[2, 0]:=lisDebugOptionsFrmName;
|
BuildModesStringGrid.Cells[2, 0]:=lisDebugOptionsFrmName;
|
||||||
|
|
||||||
|
BuildModeAddSpeedButton.LoadGlyphFromLazarusResource('laz_add');
|
||||||
|
BuildModeDeleteSpeedButton.LoadGlyphFromLazarusResource('laz_delete');
|
||||||
|
BuildModeMoveUpSpeedButton.LoadGlyphFromLazarusResource('arrow_up');
|
||||||
|
BuildModeMoveDownSpeedButton.LoadGlyphFromLazarusResource('arrow_down');
|
||||||
|
|
||||||
BuildMacroValuesGroupBox.Caption:=lisSetMacroValues;
|
BuildMacroValuesGroupBox.Caption:=lisSetMacroValues;
|
||||||
Grid:=BuildMacroValuesStringGrid;
|
Grid:=BuildMacroValuesStringGrid;
|
||||||
Grid.Columns.Add;
|
Grid.Columns.Add;
|
||||||
@ -430,7 +559,7 @@ var
|
|||||||
begin
|
begin
|
||||||
if AOptions is TProjectCompilerOptions then begin
|
if AOptions is TProjectCompilerOptions then begin
|
||||||
PCOptions:=TProjectCompilerOptions(AOptions);
|
PCOptions:=TProjectCompilerOptions(AOptions);
|
||||||
Save(false);
|
SaveMacros(false);
|
||||||
if not PCOptions.LazProject.MacroValues.Equals(MacroValues) then begin
|
if not PCOptions.LazProject.MacroValues.Equals(MacroValues) then begin
|
||||||
PCOptions.LazProject.MacroValues.Assign(MacroValues);
|
PCOptions.LazProject.MacroValues.Assign(MacroValues);
|
||||||
IncreaseBuildMacroChangeStamp;
|
IncreaseBuildMacroChangeStamp;
|
||||||
|
@ -36,6 +36,12 @@ uses
|
|||||||
EditorOptions, IDECommands;
|
EditorOptions, IDECommands;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
TIDEOptsDlgAction = (
|
||||||
|
iodaRead,
|
||||||
|
iodaWrite,
|
||||||
|
iodaRestore
|
||||||
|
);
|
||||||
|
|
||||||
{ TIDEOptionsDialog }
|
{ TIDEOptionsDialog }
|
||||||
|
|
||||||
TIDEOptionsDialog = class(TAbstractOptionsEditorDialog)
|
TIDEOptionsDialog = class(TAbstractOptionsEditorDialog)
|
||||||
@ -77,8 +83,7 @@ type
|
|||||||
function FindEditor(AEditor: TAbstractIDEOptionsEditorClass): TAbstractIDEOptionsEditor; override;
|
function FindEditor(AEditor: TAbstractIDEOptionsEditorClass): TAbstractIDEOptionsEditor; override;
|
||||||
function FindEditor(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditor; override;
|
function FindEditor(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditor; override;
|
||||||
function FindEditorClass(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditorClass; override;
|
function FindEditorClass(GroupIndex, AIndex: integer): TAbstractIDEOptionsEditorClass; override;
|
||||||
procedure ReadSettings(AOptions: TAbstractIDEOptions);
|
procedure TraverseSettings(AOptions: TAbstractIDEOptions; anAction: TIDEOptsDlgAction);
|
||||||
procedure WriteSettings(AOptions: TAbstractIDEOptions);
|
|
||||||
procedure ReadAll;
|
procedure ReadAll;
|
||||||
procedure WriteAll;
|
procedure WriteAll;
|
||||||
|
|
||||||
@ -204,7 +209,8 @@ begin
|
|||||||
ModalResult := mrCancel;
|
ModalResult := mrCancel;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TIDEOptionsDialog.ReadSettings(AOptions: TAbstractIDEOptions);
|
procedure TIDEOptionsDialog.TraverseSettings(AOptions: TAbstractIDEOptions;
|
||||||
|
anAction: TIDEOptsDlgAction);
|
||||||
var
|
var
|
||||||
ClassTypeForCompare: TClass;
|
ClassTypeForCompare: TClass;
|
||||||
|
|
||||||
@ -216,7 +222,13 @@ var
|
|||||||
with TAbstractIDEOptionsEditor(Node.Data) do
|
with TAbstractIDEOptionsEditor(Node.Data) do
|
||||||
if ((ClassTypeForCompare = nil) and (SupportedOptionsClass = nil)) or
|
if ((ClassTypeForCompare = nil) and (SupportedOptionsClass = nil)) or
|
||||||
((SupportedOptionsClass <> nil) and ClassTypeForCompare.InheritsFrom(SupportedOptionsClass)) then
|
((SupportedOptionsClass <> nil) and ClassTypeForCompare.InheritsFrom(SupportedOptionsClass)) then
|
||||||
ReadSettings(AOptions);
|
begin
|
||||||
|
case anAction of
|
||||||
|
iodaRead: ReadSettings(AOptions);
|
||||||
|
iodaWrite: WriteSettings(AOptions);
|
||||||
|
iodaRestore: RestoreSettings(AOptions);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
Traverse(Node.GetFirstChild);
|
Traverse(Node.GetFirstChild);
|
||||||
Traverse(Node.GetNextSibling);
|
Traverse(Node.GetNextSibling);
|
||||||
end;
|
end;
|
||||||
@ -232,33 +244,6 @@ begin
|
|||||||
Traverse(CategoryTree.Items.GetFirstNode);
|
Traverse(CategoryTree.Items.GetFirstNode);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TIDEOptionsDialog.WriteSettings(AOptions: TAbstractIDEOptions);
|
|
||||||
var
|
|
||||||
ClassTypeForCompare: TClass;
|
|
||||||
|
|
||||||
procedure Traverse(Node: TTreeNode);
|
|
||||||
begin
|
|
||||||
if Node <> nil then
|
|
||||||
begin
|
|
||||||
if Node.Data <> nil then
|
|
||||||
with TAbstractIDEOptionsEditor(Node.Data) do
|
|
||||||
if ((ClassTypeForCompare = nil) and (SupportedOptionsClass = nil)) or
|
|
||||||
((SupportedOptionsClass <> nil) and ClassTypeForCompare.InheritsFrom(SupportedOptionsClass)) then
|
|
||||||
WriteSettings(AOptions);
|
|
||||||
Traverse(Node.GetFirstChild);
|
|
||||||
Traverse(Node.GetNextSibling);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
begin
|
|
||||||
if AOptions <> nil then
|
|
||||||
ClassTypeForCompare := AOptions.ClassType
|
|
||||||
else
|
|
||||||
ClassTypeForCompare := nil;
|
|
||||||
|
|
||||||
Traverse(CategoryTree.Items.GetFirstNode);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TIDEOptionsDialog.ReadAll;
|
procedure TIDEOptionsDialog.ReadAll;
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
@ -281,14 +266,14 @@ begin
|
|||||||
begin
|
begin
|
||||||
InstanceList.Add(Instance);
|
InstanceList.Add(Instance);
|
||||||
Instance.DoBeforeRead;
|
Instance.DoBeforeRead;
|
||||||
ReadSettings(Instance);
|
TraverseSettings(Instance,iodaRead);
|
||||||
Instance.DoAfterRead;
|
Instance.DoAfterRead;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
// load settings that does not belong to any group
|
// load settings that does not belong to any group
|
||||||
ReadSettings(nil);
|
TraverseSettings(nil,iodaRead);
|
||||||
InstanceList.Free;
|
InstanceList.Free;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -311,14 +296,14 @@ begin
|
|||||||
if Instance <> nil then
|
if Instance <> nil then
|
||||||
begin
|
begin
|
||||||
Instance.DoBeforeWrite;
|
Instance.DoBeforeWrite;
|
||||||
WriteSettings(Instance);
|
TraverseSettings(Instance,iodaWrite);
|
||||||
Instance.DoAfterWrite;
|
Instance.DoAfterWrite;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
// save settings that does not belong to any group
|
// save settings that does not belong to any group
|
||||||
WriteSettings(nil);
|
TraverseSettings(nil,iodaWrite);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TIDEOptionsDialog.CheckValues: boolean;
|
function TIDEOptionsDialog.CheckValues: boolean;
|
||||||
@ -348,12 +333,12 @@ procedure TIDEOptionsDialog.LoadIDEOptions(Sender: TObject; AOptions: TAbstractI
|
|||||||
begin
|
begin
|
||||||
if Assigned(OnLoadIDEOptions) then
|
if Assigned(OnLoadIDEOptions) then
|
||||||
OnLoadIDEOptions(Self, AOptions);
|
OnLoadIDEOptions(Self, AOptions);
|
||||||
ReadSettings(AOptions);
|
TraverseSettings(AOptions,iodaRead);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TIDEOptionsDialog.SaveIDEOptions(Sender: TObject; AOptions: TAbstractIDEOptions);
|
procedure TIDEOptionsDialog.SaveIDEOptions(Sender: TObject; AOptions: TAbstractIDEOptions);
|
||||||
begin
|
begin
|
||||||
WriteSettings(AOptions);
|
TraverseSettings(AOptions,iodaWrite);
|
||||||
if Assigned(OnSaveIDEOptions) then
|
if Assigned(OnSaveIDEOptions) then
|
||||||
OnSaveIDEOptions(Self, AOptions);
|
OnSaveIDEOptions(Self, AOptions);
|
||||||
end;
|
end;
|
||||||
|
@ -696,6 +696,7 @@ type
|
|||||||
function IndexOf(Identifier: string): integer;
|
function IndexOf(Identifier: string): integer;
|
||||||
function Find(Identifier: string): TProjectBuildMode;
|
function Find(Identifier: string): TProjectBuildMode;
|
||||||
function Add(Identifier: string): TProjectBuildMode;
|
function Add(Identifier: string): TProjectBuildMode;
|
||||||
|
procedure Move(FromIndex, ToIndex: integer);
|
||||||
function Count: integer;
|
function Count: integer;
|
||||||
property Items[Index: integer]: TProjectBuildMode read GetItems; default;
|
property Items[Index: integer]: TProjectBuildMode read GetItems; default;
|
||||||
property ChangeStamp: integer read FChangeStamp;
|
property ChangeStamp: integer read FChangeStamp;
|
||||||
@ -6806,7 +6807,7 @@ end;
|
|||||||
function TProjectBuildModes.IndexOf(Identifier: string): integer;
|
function TProjectBuildModes.IndexOf(Identifier: string): integer;
|
||||||
begin
|
begin
|
||||||
Result:=Count-1;
|
Result:=Count-1;
|
||||||
while (Count>=0)
|
while (Result>=0)
|
||||||
and (SysUtils.CompareText(Identifier,Items[Result].Identifier)<>0) do
|
and (SysUtils.CompareText(Identifier,Items[Result].Identifier)<>0) do
|
||||||
dec(Result);
|
dec(Result);
|
||||||
end;
|
end;
|
||||||
@ -6832,6 +6833,11 @@ begin
|
|||||||
fItems.Add(Result);
|
fItems.Add(Result);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TProjectBuildModes.Move(FromIndex, ToIndex: integer);
|
||||||
|
begin
|
||||||
|
fItems.Move(FromIndex,ToIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
function TProjectBuildModes.Count: integer;
|
function TProjectBuildModes.Count: integer;
|
||||||
begin
|
begin
|
||||||
Result:=fItems.Count;
|
Result:=fItems.Count;
|
||||||
|
@ -87,6 +87,7 @@ type
|
|||||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); virtual; abstract;
|
procedure Setup(ADialog: TAbstractOptionsEditorDialog); virtual; abstract;
|
||||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); virtual; abstract;
|
procedure ReadSettings(AOptions: TAbstractIDEOptions); virtual; abstract;
|
||||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); virtual; abstract;
|
procedure WriteSettings(AOptions: TAbstractIDEOptions); virtual; abstract;
|
||||||
|
procedure RestoreSettings(AOptions: TAbstractIDEOptions); virtual;
|
||||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; virtual; abstract;
|
class function SupportedOptionsClass: TAbstractIDEOptionsClass; virtual; abstract;
|
||||||
class function DefaultCollapseChildNodes: Boolean; virtual;
|
class function DefaultCollapseChildNodes: Boolean; virtual;
|
||||||
|
|
||||||
@ -345,6 +346,12 @@ begin
|
|||||||
Result := True;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TAbstractIDEOptionsEditor.RestoreSettings(
|
||||||
|
AOptions: TAbstractIDEOptions);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
class function TAbstractIDEOptionsEditor.DefaultCollapseChildNodes: Boolean;
|
class function TAbstractIDEOptionsEditor.DefaultCollapseChildNodes: Boolean;
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
|
Loading…
Reference in New Issue
Block a user