mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-08 22:58:50 +02:00
ide: register bulid modes editor in the IDE common dialog
git-svn-id: trunk@23361 -
This commit is contained in:
parent
9e0bd4b9e8
commit
2effde41c0
@ -1732,6 +1732,7 @@ begin
|
||||
{$ENDIF}
|
||||
|
||||
fBuildModeFrame:=TBuildModesEditorFrame.Create(Self);
|
||||
fBuildModeFrame.Setup(nil);
|
||||
with fBuildModeFrame do begin
|
||||
Name:='fBuildModeFrame';
|
||||
Align:=alClient;
|
||||
|
@ -5,7 +5,6 @@ object BuildModesEditorFrame: TBuildModesEditorFrame
|
||||
Width = 419
|
||||
ClientHeight = 306
|
||||
ClientWidth = 419
|
||||
OnClick = FrameClick
|
||||
TabOrder = 0
|
||||
DesignLeft = 460
|
||||
DesignTop = 269
|
||||
|
@ -3,23 +3,22 @@
|
||||
LazarusResources.Add('TBuildModesEditorFrame','FORMDATA',[
|
||||
'TPF0'#22'TBuildModesEditorFrame'#21'BuildModesEditorFrame'#4'Left'#2#0#6'Hei'
|
||||
+'ght'#3'2'#1#3'Top'#2#0#5'Width'#3#163#1#12'ClientHeight'#3'2'#1#11'ClientWi'
|
||||
+'dth'#3#163#1#7'OnClick'#7#10'FrameClick'#8'TabOrder'#2#0#10'DesignLeft'#3
|
||||
+#204#1#9'DesignTop'#3#13#1#0#6'TPanel'#17'BuildModeBtnPanel'#4'Left'#2#0#6'H'
|
||||
+'eight'#2#31#3'Top'#2#0#5'Width'#3#163#1#5'Align'#7#5'alTop'#8'AutoSize'#9#12
|
||||
+'ClientHeight'#2#31#11'ClientWidth'#3#163#1#8'TabOrder'#2#0#0#12'TSpeedButto'
|
||||
+'n'#23'NewBuildModeSpeedButton'#4'Left'#2#1#6'Height'#2#29#3'Top'#2#1#5'Widt'
|
||||
+'h'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9'NumGly'
|
||||
+'phs'#2#0#7'OnClick'#7#23'NewBuildModeButtonClick'#8'ShowHint'#9#14'ParentSh'
|
||||
+'owHint'#8#0#0#12'TSpeedButton'#23'NewBuildFlagSpeedButton'#4'Left'#2#24#6'H'
|
||||
+'eight'#2#29#3'Top'#2#1#5'Width'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'C'
|
||||
+'olor'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#23'NewBuildFlagButtonCli'
|
||||
+'ck'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'#22'DeleteBMRowS'
|
||||
+'peedButton'#4'Left'#2'/'#6'Height'#2#29#3'Top'#2#1#5'Width'#2#23#5'Align'#7
|
||||
+#6'alLeft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'
|
||||
+#7#22'DeleteBMRowButtonClick'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpe'
|
||||
+'edButton'#24'NewBuildGroupSpeedButton'#4'Left'#2'F'#6'Height'#2#29#3'Top'#2
|
||||
+#1#5'Width'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9
|
||||
+'NumGlyphs'#2#0#7'OnClick'#7#24'NewBuildGroupButtonClick'#8'ShowHint'#9#14'P'
|
||||
+'arentShowHint'#8#0#0#0#10'TPopupMenu'#19'BuildModesPopupMenu'#4'left'#2'S'#3
|
||||
+'top'#2's'#0#0#0
|
||||
+'dth'#3#163#1#8'TabOrder'#2#0#10'DesignLeft'#3#204#1#9'DesignTop'#3#13#1#0#6
|
||||
+'TPanel'#17'BuildModeBtnPanel'#4'Left'#2#0#6'Height'#2#31#3'Top'#2#0#5'Width'
|
||||
+#3#163#1#5'Align'#7#5'alTop'#8'AutoSize'#9#12'ClientHeight'#2#31#11'ClientWi'
|
||||
+'dth'#3#163#1#8'TabOrder'#2#0#0#12'TSpeedButton'#23'NewBuildModeSpeedButton'
|
||||
+#4'Left'#2#1#6'Height'#2#29#3'Top'#2#1#5'Width'#2#23#5'Align'#7#6'alLeft'#8
|
||||
+'AutoSize'#9#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#23'NewBui'
|
||||
+'ldModeButtonClick'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'
|
||||
+#23'NewBuildFlagSpeedButton'#4'Left'#2#24#6'Height'#2#29#3'Top'#2#1#5'Width'
|
||||
+#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9'NumGlyphs'
|
||||
+#2#0#7'OnClick'#7#23'NewBuildFlagButtonClick'#8'ShowHint'#9#14'ParentShowHin'
|
||||
+'t'#8#0#0#12'TSpeedButton'#22'DeleteBMRowSpeedButton'#4'Left'#2'/'#6'Height'
|
||||
+#2#29#3'Top'#2#1#5'Width'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'Color'#7
|
||||
+#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#22'DeleteBMRowButtonClick'#8'Sho'
|
||||
+'wHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'#24'NewBuildGroupSpeedBut'
|
||||
+'ton'#4'Left'#2'F'#6'Height'#2#29#3'Top'#2#1#5'Width'#2#23#5'Align'#7#6'alLe'
|
||||
+'ft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#24
|
||||
+'NewBuildGroupButtonClick'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#0#10'TPopu'
|
||||
+'pMenu'#19'BuildModesPopupMenu'#4'left'#2'S'#3'top'#2's'#0#0#0
|
||||
]);
|
||||
|
@ -28,7 +28,7 @@ uses
|
||||
Math, Classes, SysUtils, LCLProc, Controls, FileUtil, LResources, Forms,
|
||||
Grids, Graphics, Menus, ComCtrls, Dialogs, AvgLvlTree, DefineTemplates,
|
||||
StdCtrls, GraphMath, ExtCtrls, Buttons,
|
||||
ProjectIntf, IDEImagesIntf,
|
||||
ProjectIntf, IDEImagesIntf, IDEOptionsIntf,
|
||||
PathEditorDlg, Project, PackageSystem, LazarusIDEStrConsts, CompilerOptions,
|
||||
IDEProcs;
|
||||
|
||||
@ -106,7 +106,7 @@ type
|
||||
|
||||
{ TBuildModesEditorFrame }
|
||||
|
||||
TBuildModesEditorFrame = class(TFrame)
|
||||
TBuildModesEditorFrame = class(TAbstractIDEOptionsEditor)
|
||||
BuildModesPopupMenu: TPopupMenu;
|
||||
BuildModeBtnPanel: TPanel;
|
||||
NewBuildModeSpeedButton: TSpeedButton;
|
||||
@ -114,7 +114,6 @@ type
|
||||
DeleteBMRowSpeedButton: TSpeedButton;
|
||||
NewBuildGroupSpeedButton: TSpeedButton;
|
||||
procedure DeleteBMRowButtonClick(Sender: TObject);
|
||||
procedure FrameClick(Sender: TObject);
|
||||
procedure GridSelection(Sender: TObject; aCol, aRow: Integer);
|
||||
procedure NewBuildFlagButtonClick(Sender: TObject);
|
||||
procedure NewBuildGroupButtonClick(Sender: TObject);
|
||||
@ -123,8 +122,11 @@ type
|
||||
FGrid: TBuildModesGrid;
|
||||
procedure UpdateButtons;
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
function GetTitle: String; override;
|
||||
procedure Setup(ADialog: TAbstractOptionsEditorDialog); override;
|
||||
procedure ReadSettings(AOptions: TAbstractIDEOptions); override;
|
||||
procedure WriteSettings(AOptions: TAbstractIDEOptions); override;
|
||||
class function SupportedOptionsClass: TAbstractIDEOptionsClass; override;
|
||||
procedure SetGraph(Graph: TBuildModeGraph);
|
||||
property Grid: TBuildModesGrid read FGrid;
|
||||
end;
|
||||
@ -1013,6 +1015,11 @@ begin
|
||||
DeleteBMRowSpeedButton.Hint:=lisDeleteBuildMode;
|
||||
end;
|
||||
|
||||
function TBuildModesEditorFrame.GetTitle: String;
|
||||
begin
|
||||
Result := 'Build modes';
|
||||
end;
|
||||
|
||||
procedure TBuildModesEditorFrame.NewBuildFlagButtonClick(Sender: TObject);
|
||||
begin
|
||||
Grid.InsertNewBuildFlagBehind;
|
||||
@ -1029,20 +1036,14 @@ begin
|
||||
Grid.DeleteSelectedModeRow;
|
||||
end;
|
||||
|
||||
procedure TBuildModesEditorFrame.FrameClick(Sender: TObject);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TBuildModesEditorFrame.GridSelection(Sender: TObject; aCol,
|
||||
aRow: Integer);
|
||||
begin
|
||||
UpdateButtons;
|
||||
end;
|
||||
|
||||
constructor TBuildModesEditorFrame.Create(TheOwner: TComponent);
|
||||
procedure TBuildModesEditorFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
|
||||
begin
|
||||
inherited Create(TheOwner);
|
||||
FGrid:=TBuildModesGrid.Create(Self);
|
||||
with Grid do begin
|
||||
Name:='Grid';
|
||||
@ -1065,9 +1066,19 @@ begin
|
||||
UpdateButtons;
|
||||
end;
|
||||
|
||||
destructor TBuildModesEditorFrame.Destroy;
|
||||
procedure TBuildModesEditorFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
inherited Destroy;
|
||||
SetGraph((AOptions as TProjectCompilerOptions).BuildModes);
|
||||
end;
|
||||
|
||||
procedure TBuildModesEditorFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
begin
|
||||
// todo:
|
||||
end;
|
||||
|
||||
class function TBuildModesEditorFrame.SupportedOptionsClass: TAbstractIDEOptionsClass;
|
||||
begin
|
||||
Result := TProjectCompilerOptions;
|
||||
end;
|
||||
|
||||
procedure TBuildModesEditorFrame.SetGraph(Graph: TBuildModeGraph);
|
||||
@ -1078,6 +1089,8 @@ end;
|
||||
|
||||
initialization
|
||||
{$I buildmodeseditor.lrs}
|
||||
RegisterIDEOptionsEditor(GroupCompiler, TBuildModesEditorFrame,
|
||||
CompilerOptionsBuildModes);
|
||||
|
||||
end.
|
||||
|
||||
|
@ -129,6 +129,7 @@ uses
|
||||
compiler_path_options, compiler_parsing_options, compiler_codegen_options,
|
||||
compiler_linking_options, compiler_verbosity_options, compiler_messages_options,
|
||||
compiler_other_options, compiler_inherited_options, compiler_compilation_options,
|
||||
BuildModesEditor,
|
||||
|
||||
PublishModule, EnvironmentOpts, TransferMacros, KeyMapping, IDETranslations,
|
||||
IDEProcs, ExtToolDialog, ExtToolEditDlg, OutputFilter, JumpHistoryView,
|
||||
|
Loading…
Reference in New Issue
Block a user