mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-13 18:29:12 +02:00
IDE: started clean build dialog
git-svn-id: trunk@30915 -
This commit is contained in:
parent
322cffcdf4
commit
d27d33e748
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -3867,6 +3867,8 @@ ide/buildmodediffdlg.lfm svneol=native#text/plain
|
||||
ide/buildmodediffdlg.pas svneol=native#text/plain
|
||||
ide/buildprofilemanager.lfm svneol=native#text/plain
|
||||
ide/buildprofilemanager.pas svneol=native#text/plain
|
||||
ide/buildprojectdlg.lfm svneol=native#text/plain
|
||||
ide/buildprojectdlg.pas svneol=native#text/pascal
|
||||
ide/charactermapdlg.lfm svneol=native#text/plain
|
||||
ide/charactermapdlg.pas svneol=native#text/pascal
|
||||
ide/checkcompileropts.lfm svneol=native#text/plain
|
||||
|
141
ide/buildprojectdlg.lfm
Normal file
141
ide/buildprojectdlg.lfm
Normal file
@ -0,0 +1,141 @@
|
||||
object BuildProjectDialog: TBuildProjectDialog
|
||||
Left = 275
|
||||
Height = 317
|
||||
Top = 250
|
||||
Width = 367
|
||||
Caption = 'BuildProjectDialog'
|
||||
ClientHeight = 317
|
||||
ClientWidth = 367
|
||||
OnCreate = FormCreate
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '0.9.31'
|
||||
object ButtonPanel1: TButtonPanel
|
||||
Left = 6
|
||||
Height = 40
|
||||
Top = 271
|
||||
Width = 355
|
||||
OKButton.Name = 'OKButton'
|
||||
OKButton.Caption = '&OK'
|
||||
HelpButton.Name = 'HelpButton'
|
||||
HelpButton.Caption = '&Help'
|
||||
CloseButton.Name = 'CloseButton'
|
||||
CloseButton.Caption = '&Close'
|
||||
CancelButton.Name = 'CancelButton'
|
||||
CancelButton.Caption = 'Cancel'
|
||||
TabOrder = 0
|
||||
ShowButtons = [pbOK, pbCancel, pbHelp]
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 265
|
||||
Top = 0
|
||||
Width = 367
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
ChildSizing.EnlargeHorizontal = crsScaleChilds
|
||||
ChildSizing.EnlargeVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ClientHeight = 265
|
||||
ClientWidth = 367
|
||||
TabOrder = 1
|
||||
object ProjectGroupBox: TGroupBox
|
||||
Left = 6
|
||||
Height = 157
|
||||
Top = 6
|
||||
Width = 421
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ProjectGroupBox'
|
||||
ClientHeight = 138
|
||||
ClientWidth = 417
|
||||
TabOrder = 0
|
||||
object ProjClearOutDirButton: TButton
|
||||
AnchorSideLeft.Control = ProjectGroupBox
|
||||
AnchorSideTop.Control = ProjectGroupBox
|
||||
Left = 6
|
||||
Height = 29
|
||||
Top = 6
|
||||
Width = 156
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ProjClearOutDirButton'
|
||||
TabOrder = 0
|
||||
end
|
||||
object ProjClearSrcDirsButton: TButton
|
||||
AnchorSideLeft.Control = ProjectGroupBox
|
||||
AnchorSideTop.Control = ProjClearOutDirButton
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 29
|
||||
Top = 41
|
||||
Width = 160
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ProjClearSrcDirsButton'
|
||||
TabOrder = 1
|
||||
end
|
||||
object ProjClearSrcDirMaskLabel: TLabel
|
||||
AnchorSideLeft.Control = ProjClearSrcDirsButton
|
||||
AnchorSideTop.Control = ProjClearSrcDirsButton
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 18
|
||||
Top = 76
|
||||
Width = 169
|
||||
Caption = 'ProjClearSrcDirMaskLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object ProjClearSrcDirMaskEdit: TEdit
|
||||
Left = 205
|
||||
Height = 27
|
||||
Top = 95
|
||||
Width = 80
|
||||
TabOrder = 2
|
||||
Text = 'ProjClearSrcDirMaskEdit'
|
||||
end
|
||||
end
|
||||
object DependenciesGroupBox: TGroupBox
|
||||
Left = 6
|
||||
Height = 90
|
||||
Top = 169
|
||||
Width = 421
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'DependenciesGroupBox'
|
||||
ClientHeight = 71
|
||||
ClientWidth = 417
|
||||
Constraints.MinHeight = 30
|
||||
TabOrder = 1
|
||||
object PkgClearOutDirsButton: TButton
|
||||
Left = 106
|
||||
Height = 25
|
||||
Top = 3
|
||||
Width = 75
|
||||
Caption = 'PkgClearOutDirsButton'
|
||||
TabOrder = 0
|
||||
end
|
||||
object PkgClearSrcDirsButton: TButton
|
||||
Left = 152
|
||||
Height = 25
|
||||
Top = 34
|
||||
Width = 75
|
||||
Caption = 'PkgClearSrcDirsButton'
|
||||
TabOrder = 1
|
||||
end
|
||||
object PkgClearSrcDirsMaskLabel: TLabel
|
||||
Left = 242
|
||||
Height = 18
|
||||
Top = 43
|
||||
Width = 175
|
||||
Caption = 'PkgClearSrcDirsMaskLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object PkgClearSrcDirsMaskEdit: TEdit
|
||||
Left = 285
|
||||
Height = 27
|
||||
Top = 27
|
||||
Width = 80
|
||||
TabOrder = 2
|
||||
Text = 'PkgClearSrcDirsMaskEdit'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
88
ide/buildprojectdlg.pas
Normal file
88
ide/buildprojectdlg.pas
Normal file
@ -0,0 +1,88 @@
|
||||
unit BuildProjectDlg;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel,
|
||||
ExtCtrls, StdCtrls, IDEDialogs, LazarusIDEStrConsts, Project;
|
||||
|
||||
type
|
||||
TBuildCleanMode = (
|
||||
bcmIfNeeded,
|
||||
bcmNormal,
|
||||
bcmWithB // with -B
|
||||
);
|
||||
TBuildCleanModes = set of TBuildCleanMode;
|
||||
|
||||
TBuildCleanParams = record
|
||||
Mode: TBuildCleanMode;
|
||||
CleanOutputDirectory: boolean;
|
||||
CleanSrcDirs: string; // file masks separated by semicolon
|
||||
end;
|
||||
|
||||
{ TBuildProjectDialog }
|
||||
|
||||
TBuildProjectDialog = class(TForm)
|
||||
ButtonPanel1: TButtonPanel;
|
||||
DependenciesGroupBox: TGroupBox;
|
||||
Panel1: TPanel;
|
||||
PkgClearOutDirsButton: TButton;
|
||||
PkgClearSrcDirsButton: TButton;
|
||||
PkgClearSrcDirsMaskEdit: TEdit;
|
||||
PkgClearSrcDirsMaskLabel: TLabel;
|
||||
ProjClearOutDirButton: TButton;
|
||||
ProjClearSrcDirMaskEdit: TEdit;
|
||||
ProjClearSrcDirMaskLabel: TLabel;
|
||||
ProjClearSrcDirsButton: TButton;
|
||||
ProjectGroupBox: TGroupBox;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
FProject: TProject;
|
||||
public
|
||||
procedure Init(AProject: TProject);
|
||||
end;
|
||||
|
||||
function ShowBuildProjectDialog(AProject: TProject): TModalResult;
|
||||
|
||||
implementation
|
||||
|
||||
function ShowBuildProjectDialog(AProject: TProject): TModalResult;
|
||||
var
|
||||
BuildProjectDialog: TBuildProjectDialog;
|
||||
begin
|
||||
BuildProjectDialog:=TBuildProjectDialog.Create(nil);
|
||||
try
|
||||
BuildProjectDialog.Init(AProject);
|
||||
Result:=BuildProjectDialog.ShowModal;
|
||||
finally
|
||||
BuildProjectDialog.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
{ TBuildProjectDialog }
|
||||
|
||||
procedure TBuildProjectDialog.FormCreate(Sender: TObject);
|
||||
begin
|
||||
Caption:='Build Project';
|
||||
PrProjectGroupBoxaption:='Compile project:';
|
||||
PrProjectGroupBoxtems.Add('Standard');
|
||||
PrProjectGroupBoxtems.Add('with -B');
|
||||
PrProjectGroupBoxtems.Add('Clean output directory');
|
||||
DeDependenciesGroupBoxaption:='Compile used packages:';
|
||||
DeDependenciesGroupBoxtems.Add('If needed');
|
||||
DeDependenciesGroupBoxtems.Add('Compile');
|
||||
DeDependenciesGroupBoxtems.Add('with -B');
|
||||
DeDependenciesGroupBoxtems.Add('Clean output directory');
|
||||
end;
|
||||
|
||||
procedure TBuildProjectDialog.Init(AProject: TProject);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -60,7 +60,7 @@
|
||||
<PackageName Value="SynEdit"/>
|
||||
</Item6>
|
||||
</RequiredPackages>
|
||||
<Units Count="83">
|
||||
<Units Count="84">
|
||||
<Unit0>
|
||||
<Filename Value="lazarus.pp"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -627,6 +627,12 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="IDEMiniLibC"/>
|
||||
</Unit82>
|
||||
<Unit83>
|
||||
<Filename Value="buildprojectdlg.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<HasResources Value="True"/>
|
||||
<UnitName Value="BuildProjectDlg"/>
|
||||
</Unit83>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
Loading…
Reference in New Issue
Block a user