ide: register bulid modes editor in the IDE common dialog

git-svn-id: trunk@23361 -
This commit is contained in:
paul 2010-01-03 16:06:02 +00:00
parent 9e0bd4b9e8
commit 2effde41c0
5 changed files with 47 additions and 34 deletions

View File

@ -1732,6 +1732,7 @@ begin
{$ENDIF}
fBuildModeFrame:=TBuildModesEditorFrame.Create(Self);
fBuildModeFrame.Setup(nil);
with fBuildModeFrame do begin
Name:='fBuildModeFrame';
Align:=alClient;

View File

@ -5,7 +5,6 @@ object BuildModesEditorFrame: TBuildModesEditorFrame
Width = 419
ClientHeight = 306
ClientWidth = 419
OnClick = FrameClick
TabOrder = 0
DesignLeft = 460
DesignTop = 269

View File

@ -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
]);

View File

@ -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.

View File

@ -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,