h2pas: added ConvertAndBuildProject

git-svn-id: trunk@9970 -
This commit is contained in:
mattias 2006-09-22 23:55:22 +00:00
parent 7144ddb3e2
commit 6a729a5bd3
7 changed files with 48 additions and 15 deletions

View File

@ -379,7 +379,7 @@ object H2PasDialog: TH2PasDialog
object ConvertButton: TButton
AnchorSideLeft.Control = SaveSettingsButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = SaveSettingsButton
AnchorSideTop.Control = OpenSettingsButton
Left = 271
Height = 26
Top = 470
@ -408,4 +408,19 @@ object H2PasDialog: TH2PasDialog
OnClick = CloseButtonClick
TabOrder = 3
end
object ConvertAndBuildButton: TButton
AnchorSideLeft.Control = ConvertButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = OpenSettingsButton
Left = 370
Height = 26
Top = 470
Width = 144
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = 'ConvertAndBuildButton'
OnClick = ConvertAndBuildButtonClick
TabOrder = 5
end
end

View File

@ -133,7 +133,7 @@ LazarusResources.Add('TH2PasDialog','FORMDATA',[
+'acing.InnerBorder'#2#4#7'Caption'#6#18'SaveSettingsButton'#7'OnClick'#7#23
+'SaveSettingsButtonClick'#8'TabOrder'#2#2#0#0#7'TButton'#13'ConvertButton'#22
+'AnchorSideLeft.Control'#7#18'SaveSettingsButton'#19'AnchorSideLeft.Side'#7#9
+'asrBottom'#21'AnchorSideTop.Control'#7#18'SaveSettingsButton'#4'Left'#3#15#1
+'asrBottom'#21'AnchorSideTop.Control'#7#18'OpenSettingsButton'#4'Left'#3#15#1
+#6'Height'#2#26#3'Top'#3#214#1#5'Width'#2']'#8'AutoSize'#9#18'BorderSpacing.'
+'Left'#2#15#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#13'ConvertButton'
+#7'OnClick'#7#18'ConvertButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'#11'Close'
@ -142,5 +142,11 @@ LazarusResources.Add('TH2PasDialog','FORMDATA',[
+#7#9'asrBottom'#4'Left'#3#187#2#6'Height'#2#26#3'Top'#3#214#1#5'Width'#2'Q'#7
+'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'
+#2#5#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#11'CloseButton'#7'OnClic'
+'k'#7#16'CloseButtonClick'#8'TabOrder'#2#3#0#0#0
+'k'#7#16'CloseButtonClick'#8'TabOrder'#2#3#0#0#7'TButton'#21'ConvertAndBuild'
+'Button'#22'AnchorSideLeft.Control'#7#13'ConvertButton'#19'AnchorSideLeft.Si'
+'de'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#18'OpenSettingsButton'#4'Lef'
+'t'#3'r'#1#6'Height'#2#26#3'Top'#3#214#1#5'Width'#3#144#0#8'AutoSize'#9#18'B'
+'orderSpacing.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#21'Co'
+'nvertAndBuildButton'#7'OnClick'#7#26'ConvertAndBuildButtonClick'#8'TabOrder'
+#2#5#0#0#0
]);

View File

@ -28,7 +28,7 @@ uses
SynEdit, SynHighlighterCPP,
FileProcs,
IDEMsgIntf, MenuIntf, IDECommands, BaseIDEIntf, IDEDialogs, LazIDEIntf,
CodeToolManager, SrcEditorIntf, IDETextConverter,
ProjectIntf, CodeToolManager, SrcEditorIntf, IDETextConverter,
H2PasStrConsts, H2PasConvert, IDETextConvListEdit;
type
@ -36,6 +36,7 @@ type
{ TH2PasDialog }
TH2PasDialog = class(TForm)
ConvertAndBuildButton: TButton;
FileInfoGroupBox: TGroupBox;
FileInfoLabel: TLabel;
MainPageControl: TPageControl;
@ -91,6 +92,7 @@ type
);
procedure CloseButtonClick(Sender: TObject);
procedure ConstantsInsteadOfEnumsCheckBoxChange(Sender: TObject);
procedure ConvertAndBuildButtonClick(Sender: TObject);
procedure ConvertButtonClick(Sender: TObject);
procedure DeleteCHeaderFilesButtonClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
@ -243,7 +245,8 @@ begin
NewSettingsButton.Caption:='New/Clear settings';
OpenSettingsButton.Caption:='&Open Settings';
SaveSettingsButton.Caption:='&Save Settings';
ConvertButton.Caption:='Run converter and h2pas';
ConvertButton.Caption:='Run h2pas';
ConvertAndBuildButton.Caption:='Run h2pas and compile';
CloseButton.Caption:='&Close';
PreH2PasEdit:=TTextConvListEditor.Create(Self);
@ -313,6 +316,12 @@ begin
end;
procedure TH2PasDialog.ConvertAndBuildButtonClick(Sender: TObject);
begin
if Convert=mrOk then
LazarusIDE.DoBuildProject(crCompile,[]);
end;
procedure TH2PasDialog.ConvertButtonClick(Sender: TObject);
begin
Convert;

View File

@ -203,15 +203,6 @@ type
);
TCompilerCmdLineOptions = set of TCompilerCmdLineOption;
TCompileReason = (
crCompile, // normal build current project/package
crBuild, // build all
crRun // quick build before run
);
TCompileReasons = set of TCompileReason;
const
crAll = [crCompile, crBuild, crRun];
type
{ TCompilerDiffTool

View File

@ -674,7 +674,7 @@ type
const CompilerFilename, CompilerParams,
SrcFilename: string): TModalResult;
function DoBuildProject(const AReason: TCompileReason;
Flags: TProjectBuildFlags): TModalResult;
Flags: TProjectBuildFlags): TModalResult; override;
function DoAbortBuild: TModalResult;
procedure DoQuickCompile;
function DoInitProjectRun: TModalResult; override;

View File

@ -169,6 +169,8 @@ type
Flags: TOpenFlags): TModalResult; virtual; abstract;
function DoPublishProject(Flags: TSaveFlags;
ShowDialog: boolean): TModalResult; virtual; abstract;
function DoBuildProject(const AReason: TCompileReason;
Flags: TProjectBuildFlags): TModalResult; virtual; abstract;
// configs
function GetPrimaryConfigPath: String; virtual; abstract;

View File

@ -53,6 +53,16 @@ type
cetLibrary
);
TCompileReason = (
crCompile, // normal build current project/package
crBuild, // build all
crRun // quick build before run
);
TCompileReasons = set of TCompileReason;
const
crAll = [crCompile, crBuild, crRun];
type
{ TLazCompilerOptions }
TLazCompilerOptions = class(TPersistent)