implemented loading lpr command line projects

git-svn-id: trunk@4501 -
This commit is contained in:
mattias 2003-08-18 21:17:41 +00:00
parent 7d6600e7ed
commit 3399bc1585
5 changed files with 411 additions and 13 deletions

3
.gitattributes vendored
View File

@ -307,6 +307,9 @@ ide/aboutfrm.lrs svneol=native#text/pascal
ide/aboutfrm.pas svneol=native#text/pascal
ide/addtoprojectdlg.pas svneol=native#text/pascal
ide/basedebugmanager.pas svneol=native#text/pascal
ide/buildfiledlg.lfm svneol=native#text/plain
ide/buildfiledlg.lrs svneol=native#text/pascal
ide/buildfiledlg.pas svneol=native#text/pascal
ide/buildlazdialog.pas svneol=native#text/pascal
ide/charactermapdlg.lfm svneol=native#text/plain
ide/charactermapdlg.lrs svneol=native#text/pascal

254
ide/buildfiledlg.lfm Normal file
View File

@ -0,0 +1,254 @@
object BuildFileDialog: TBuildFileDialog
CAPTION = 'BuildFileDialog'
CLIENTHEIGHT = 310
CLIENTWIDTH = 414
KEYPREVIEW = True
ONKEYDOWN = BuildFileDialogKEYDOWN
POSITION = poscreencenter
HORZSCROLLBAR.PAGE = 415
VERTSCROLLBAR.PAGE = 311
LEFT = 336
HEIGHT = 310
TOP = 221
WIDTH = 414
object OkButton: TBUTTON
ANCHORS = [akleft, akbottom]
MODALRESULT = 1
CAPTION = 'Ok'
TABSTOP = True
TABORDER = 0
LEFT = 106
HEIGHT = 25
TOP = 276
WIDTH = 75
end
object CancelButton: TBUTTON
ANCHORS = [akleft, akbottom]
MODALRESULT = 2
CAPTION = 'Cancel'
TABSTOP = True
TABORDER = 1
LEFT = 234
HEIGHT = 25
TOP = 276
WIDTH = 75
end
object Notebook1: TNOTEBOOK
ALIGN = altop
ANCHORS = [aktop, akleft, akright, akbottom]
PAGEINDEX = 0
HEIGHT = 268
WIDTH = 414
object GeneralPage: TPAGE
CAPTION = 'Options'
CLIENTWIDTH = 410
CLIENTHEIGHT = 238
LEFT = 2
HEIGHT = 238
TOP = 28
WIDTH = 410
object OverrideBuildProjectCheckbox: TCHECKBOX
ALLOWGRAYED = True
AUTOSIZE = True
CAPTION = 'On build project execute the Compile command instead'
DRAGCURSOR = 0
TABORDER = 0
TABSTOP = True
LEFT = 14
HEIGHT = 20
TOP = 12
WIDTH = 384
end
object OverrideRunProjectCheckbox: TCHECKBOX
ALLOWGRAYED = True
AUTOSIZE = True
CAPTION = 'On run project execute the Run command instead'
DRAGCURSOR = 0
TABORDER = 1
TABSTOP = True
LEFT = 14
HEIGHT = 20
TOP = 44
WIDTH = 384
end
end
object CompilePage: TPAGE
CAPTION = 'Compile'
CLIENTWIDTH = 410
CLIENTHEIGHT = 238
LEFT = 2
HEIGHT = 238
TOP = 28
WIDTH = 410
object CompileCommandGroupbox: TGROUPBOX
CAPTION = 'Compile Command'
CLIENTHEIGHT = 53
CLIENTWIDTH = 398
PARENTCTL3D = False
TABORDER = 0
LEFT = 4
HEIGHT = 70
TOP = 6
WIDTH = 402
object CompileCommandMemo: TMEMO
ALIGN = alclient
LINES.Strings = (
'CompileCommandMemo'
)
TABSTOP = True
TABSTOP = True
TABORDER = 0
HEIGHT = 53
WIDTH = 398
end
end
object CompileScanForFPCMsgCheckbox: TCHECKBOX
ALLOWGRAYED = True
AUTOSIZE = True
CAPTION = 'Scan for FPC messages'
DRAGCURSOR = 0
TABORDER = 1
TABSTOP = True
LEFT = 10
HEIGHT = 20
TOP = 84
WIDTH = 211
end
object CompScanForMakeMsgCheckbox: TCHECKBOX
ALLOWGRAYED = True
AUTOSIZE = True
CAPTION = 'Scan for Make messages'
DRAGCURSOR = 0
TABORDER = 2
TABSTOP = True
LEFT = 10
HEIGHT = 20
TOP = 108
WIDTH = 217
end
object CompileMacrosGroupbox: TGROUPBOX
CAPTION = 'Macros'
CLIENTHEIGHT = 81
CLIENTWIDTH = 399
PARENTCTL3D = False
TABORDER = 3
LEFT = 4
HEIGHT = 98
TOP = 132
WIDTH = 403
object CompileMacrosListbox: TLISTBOX
ALIGN = alleft
TABORDER = 0
TABSTOP = True
TOPINDEX = -1
HEIGHT = 81
WIDTH = 296
end
object CompileAddMacroButton: TBUTTON
CAPTION = 'Add'
TABSTOP = True
TABORDER = 1
LEFT = 312
HEIGHT = 25
TOP = 9
WIDTH = 75
end
end
end
object RunPage: TPAGE
CAPTION = 'Run'
CLIENTWIDTH = 410
CLIENTHEIGHT = 238
LEFT = 2
HEIGHT = 238
TOP = 28
WIDTH = 410
object AlwaysCompileFirstCheckbox: TCHECKBOX
ALLOWGRAYED = True
AUTOSIZE = True
CAPTION = 'Always run the Compile command before'
DRAGCURSOR = 0
TABORDER = 0
TABSTOP = True
LEFT = 10
HEIGHT = 20
TOP = 4
WIDTH = 392
end
object RunCommandGroupbox: TGROUPBOX
CAPTION = 'Run Command'
CLIENTHEIGHT = 53
CLIENTWIDTH = 398
PARENTCTL3D = False
TABORDER = 1
LEFT = 4
HEIGHT = 70
TOP = 28
WIDTH = 402
object RunCommandMemo: TMEMO
ALIGN = alclient
LINES.Strings = (
'CompileCommandMemo'
)
TABSTOP = True
TABSTOP = True
TABORDER = 0
HEIGHT = 53
WIDTH = 398
end
end
object RunScanForFPCMsgCheckbox: TCHECKBOX
ALLOWGRAYED = True
AUTOSIZE = True
CAPTION = 'Scan for FPC messages'
DRAGCURSOR = 0
TABORDER = 2
TABSTOP = True
LEFT = 10
HEIGHT = 20
TOP = 100
WIDTH = 211
end
object RunScanForMakeMsgCheckbox: TCHECKBOX
ALLOWGRAYED = True
AUTOSIZE = True
CAPTION = 'Scan for Make messages'
DRAGCURSOR = 0
TABORDER = 3
TABSTOP = True
LEFT = 10
HEIGHT = 20
TOP = 124
WIDTH = 217
end
object RunMacrosGroupbox: TGROUPBOX
CAPTION = 'Macros'
CLIENTHEIGHT = 65
CLIENTWIDTH = 399
PARENTCTL3D = False
TABORDER = 4
LEFT = 4
HEIGHT = 82
TOP = 148
WIDTH = 403
object RunMacrosListbox: TLISTBOX
ALIGN = alleft
TABORDER = 0
TABSTOP = True
TOPINDEX = -1
HEIGHT = 65
WIDTH = 296
end
object RunAddMacroButton: TBUTTON
CAPTION = 'Add'
TABSTOP = True
TABORDER = 1
LEFT = 312
HEIGHT = 25
TOP = 9
WIDTH = 75
end
end
end
end
end

67
ide/buildfiledlg.lrs Normal file
View File

@ -0,0 +1,67 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TBuildFileDialog','FORMDATA',[
'TPF0'#16'TBuildFileDialog'#15'BuildFileDialog'#7'CAPTION'#6#15'BuildFileDial'
+'og'#12'CLIENTHEIGHT'#3'6'#1#11'CLIENTWIDTH'#3#158#1#10'KEYPREVIEW'#9#9'ONKE'
+'YDOWN'#7#22'BuildFileDialogKEYDOWN'#8'POSITION'#7#14'poscreencenter'#18'HOR'
+'ZSCROLLBAR.PAGE'#3#159#1#18'VERTSCROLLBAR.PAGE'#3'7'#1#4'LEFT'#3'P'#1#6'HEI'
+'GHT'#3'6'#1#3'TOP'#3#221#0#5'WIDTH'#3#158#1#0#7'TBUTTON'#8'OkButton'#7'ANCH'
+'ORS'#11#6'akleft'#8'akbottom'#0#11'MODALRESULT'#2#1#7'CAPTION'#6#2'Ok'#7'TA'
+'BSTOP'#9#8'TABORDER'#2#0#4'LEFT'#2'j'#6'HEIGHT'#2#25#3'TOP'#3#20#1#5'WIDTH'
+#2'K'#0#0#7'TBUTTON'#12'CancelButton'#7'ANCHORS'#11#6'akleft'#8'akbottom'#0
+#11'MODALRESULT'#2#2#7'CAPTION'#6#6'Cancel'#7'TABSTOP'#9#8'TABORDER'#2#1#4'L'
+'EFT'#3#234#0#6'HEIGHT'#2#25#3'TOP'#3#20#1#5'WIDTH'#2'K'#0#0#9'TNOTEBOOK'#9
+'Notebook1'#5'ALIGN'#7#5'altop'#7'ANCHORS'#11#5'aktop'#6'akleft'#7'akright'#8
+'akbottom'#0#9'PAGEINDEX'#2#0#6'HEIGHT'#3#12#1#5'WIDTH'#3#158#1#0#5'TPAGE'#11
+'GeneralPage'#7'CAPTION'#6#7'Options'#11'CLIENTWIDTH'#3#154#1#12'CLIENTHEIGH'
+'T'#3#238#0#4'LEFT'#2#2#6'HEIGHT'#3#238#0#3'TOP'#2#28#5'WIDTH'#3#154#1#0#9'T'
+'CHECKBOX'#28'OverrideBuildProjectCheckbox'#11'ALLOWGRAYED'#9#8'AUTOSIZE'#9#7
+'CAPTION'#6'4On build project execute the Compile command instead'#10'DRAGCU'
+'RSOR'#2#0#8'TABORDER'#2#0#7'TABSTOP'#9#4'LEFT'#2#14#6'HEIGHT'#2#20#3'TOP'#2
+#12#5'WIDTH'#3#128#1#0#0#9'TCHECKBOX'#26'OverrideRunProjectCheckbox'#11'ALLO'
+'WGRAYED'#9#8'AUTOSIZE'#9#7'CAPTION'#6'.On run project execute the Run comma'
+'nd instead'#10'DRAGCURSOR'#2#0#8'TABORDER'#2#1#7'TABSTOP'#9#4'LEFT'#2#14#6
+'HEIGHT'#2#20#3'TOP'#2','#5'WIDTH'#3#128#1#0#0#0#5'TPAGE'#11'CompilePage'#7
+'CAPTION'#6#7'Compile'#11'CLIENTWIDTH'#3#154#1#12'CLIENTHEIGHT'#3#238#0#4'LE'
+'FT'#2#2#6'HEIGHT'#3#238#0#3'TOP'#2#28#5'WIDTH'#3#154#1#0#9'TGROUPBOX'#22'Co'
+'mpileCommandGroupbox'#7'CAPTION'#6#15'Compile Command'#12'CLIENTHEIGHT'#2'5'
+#11'CLIENTWIDTH'#3#142#1#11'PARENTCTL3D'#8#8'TABORDER'#2#0#4'LEFT'#2#4#6'HEI'
+'GHT'#2'F'#3'TOP'#2#6#5'WIDTH'#3#146#1#0#5'TMEMO'#18'CompileCommandMemo'#5'A'
+'LIGN'#7#8'alclient'#13'LINES.Strings'#1#6#18'CompileCommandMemo'#0#7'TABSTO'
+'P'#9#7'TABSTOP'#9#8'TABORDER'#2#0#6'HEIGHT'#2'5'#5'WIDTH'#3#142#1#0#0#0#9'T'
+'CHECKBOX'#28'CompileScanForFPCMsgCheckbox'#11'ALLOWGRAYED'#9#8'AUTOSIZE'#9#7
+'CAPTION'#6#21'Scan for FPC messages'#10'DRAGCURSOR'#2#0#8'TABORDER'#2#1#7'T'
+'ABSTOP'#9#4'LEFT'#2#10#6'HEIGHT'#2#20#3'TOP'#2'T'#5'WIDTH'#3#211#0#0#0#9'TC'
+'HECKBOX'#26'CompScanForMakeMsgCheckbox'#11'ALLOWGRAYED'#9#8'AUTOSIZE'#9#7'C'
+'APTION'#6#22'Scan for Make messages'#10'DRAGCURSOR'#2#0#8'TABORDER'#2#2#7'T'
+'ABSTOP'#9#4'LEFT'#2#10#6'HEIGHT'#2#20#3'TOP'#2'l'#5'WIDTH'#3#217#0#0#0#9'TG'
+'ROUPBOX'#21'CompileMacrosGroupbox'#7'CAPTION'#6#6'Macros'#12'CLIENTHEIGHT'#2
+'Q'#11'CLIENTWIDTH'#3#143#1#11'PARENTCTL3D'#8#8'TABORDER'#2#3#4'LEFT'#2#4#6
+'HEIGHT'#2'b'#3'TOP'#3#132#0#5'WIDTH'#3#147#1#0#8'TLISTBOX'#20'CompileMacros'
+'Listbox'#5'ALIGN'#7#6'alleft'#8'TABORDER'#2#0#7'TABSTOP'#9#8'TOPINDEX'#2#255
+#6'HEIGHT'#2'Q'#5'WIDTH'#3'('#1#0#0#7'TBUTTON'#21'CompileAddMacroButton'#7'C'
+'APTION'#6#3'Add'#7'TABSTOP'#9#8'TABORDER'#2#1#4'LEFT'#3'8'#1#6'HEIGHT'#2#25
+#3'TOP'#2#9#5'WIDTH'#2'K'#0#0#0#0#5'TPAGE'#7'RunPage'#7'CAPTION'#6#3'Run'#11
+'CLIENTWIDTH'#3#154#1#12'CLIENTHEIGHT'#3#238#0#4'LEFT'#2#2#6'HEIGHT'#3#238#0
+#3'TOP'#2#28#5'WIDTH'#3#154#1#0#9'TCHECKBOX'#26'AlwaysCompileFirstCheckbox'
+#11'ALLOWGRAYED'#9#8'AUTOSIZE'#9#7'CAPTION'#6'%Always run the Compile comman'
+'d before'#10'DRAGCURSOR'#2#0#8'TABORDER'#2#0#7'TABSTOP'#9#4'LEFT'#2#10#6'HE'
+'IGHT'#2#20#3'TOP'#2#4#5'WIDTH'#3#136#1#0#0#9'TGROUPBOX'#18'RunCommandGroupb'
+'ox'#7'CAPTION'#6#11'Run Command'#12'CLIENTHEIGHT'#2'5'#11'CLIENTWIDTH'#3#142
+#1#11'PARENTCTL3D'#8#8'TABORDER'#2#1#4'LEFT'#2#4#6'HEIGHT'#2'F'#3'TOP'#2#28#5
+'WIDTH'#3#146#1#0#5'TMEMO'#14'RunCommandMemo'#5'ALIGN'#7#8'alclient'#13'LINE'
+'S.Strings'#1#6#18'CompileCommandMemo'#0#7'TABSTOP'#9#7'TABSTOP'#9#8'TABORDE'
+'R'#2#0#6'HEIGHT'#2'5'#5'WIDTH'#3#142#1#0#0#0#9'TCHECKBOX'#24'RunScanForFPCM'
+'sgCheckbox'#11'ALLOWGRAYED'#9#8'AUTOSIZE'#9#7'CAPTION'#6#21'Scan for FPC me'
+'ssages'#10'DRAGCURSOR'#2#0#8'TABORDER'#2#2#7'TABSTOP'#9#4'LEFT'#2#10#6'HEIG'
+'HT'#2#20#3'TOP'#2'd'#5'WIDTH'#3#211#0#0#0#9'TCHECKBOX'#25'RunScanForMakeMsg'
+'Checkbox'#11'ALLOWGRAYED'#9#8'AUTOSIZE'#9#7'CAPTION'#6#22'Scan for Make mes'
+'sages'#10'DRAGCURSOR'#2#0#8'TABORDER'#2#3#7'TABSTOP'#9#4'LEFT'#2#10#6'HEIGH'
+'T'#2#20#3'TOP'#2'|'#5'WIDTH'#3#217#0#0#0#9'TGROUPBOX'#17'RunMacrosGroupbox'
+#7'CAPTION'#6#6'Macros'#12'CLIENTHEIGHT'#2'A'#11'CLIENTWIDTH'#3#143#1#11'PAR'
+'ENTCTL3D'#8#8'TABORDER'#2#4#4'LEFT'#2#4#6'HEIGHT'#2'R'#3'TOP'#3#148#0#5'WID'
+'TH'#3#147#1#0#8'TLISTBOX'#16'RunMacrosListbox'#5'ALIGN'#7#6'alleft'#8'TABOR'
+'DER'#2#0#7'TABSTOP'#9#8'TOPINDEX'#2#255#6'HEIGHT'#2'A'#5'WIDTH'#3'('#1#0#0#7
+'TBUTTON'#17'RunAddMacroButton'#7'CAPTION'#6#3'Add'#7'TABSTOP'#9#8'TABORDER'
+#2#1#4'LEFT'#3'8'#1#6'HEIGHT'#2#25#3'TOP'#2#9#5'WIDTH'#2'K'#0#0#0#0#0#0
]);

59
ide/buildfiledlg.pas Normal file
View File

@ -0,0 +1,59 @@
unit BuildFileDlg;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, LCLType, Forms, Controls, Graphics, Dialogs,
Buttons, ExtCtrls, StdCtrls;
type
TBuildFileDialog = class(TForm)
AlwaysCompileFirstCheckbox: TCHECKBOX;
CancelButton: TBUTTON;
CompileAddMacroButton: TBUTTON;
CompileCommandGroupbox: TGROUPBOX;
CompileCommandMemo: TMEMO;
CompileMacrosGroupbox: TGROUPBOX;
CompileMacrosListbox: TLISTBOX;
CompilePage: TPAGE;
CompileScanForFPCMsgCheckbox: TCHECKBOX;
CompScanForMakeMsgCheckbox: TCHECKBOX;
GeneralPage: TPAGE;
Notebook1: TNOTEBOOK;
OkButton: TBUTTON;
OverrideBuildProjectCheckbox: TCHECKBOX;
OverrideRunProjectCheckbox: TCHECKBOX;
RunAddMacroButton: TBUTTON;
RunCommandGroupbox: TGROUPBOX;
RunCommandMemo: TMEMO;
RunMacrosGroupbox: TGROUPBOX;
RunMacrosListbox: TLISTBOX;
RunPage: TPAGE;
RunScanForFPCMsgCheckbox: TCHECKBOX;
RunScanForMakeMsgCheckbox: TCHECKBOX;
procedure BuildFileDialogKEYDOWN(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
public
end;
var
BuildFileDialog: TBuildFileDialog;
implementation
{ TBuildFileDialog }
procedure TBuildFileDialog.BuildFileDialogKEYDOWN(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=VK_ESCAPE then ModalResult:=mrCancel;
end;
initialization
{$I buildfiledlg.lrs}
end.

View File

@ -1285,26 +1285,38 @@ begin
end;
procedure TMainIDE.SetupStartProject;
var
LastParam: String;
ProjectLoaded: Boolean;
AProjectFilename: String;
begin
{$IFDEF IDE_DEBUG}
writeln('TMainIDE.Create A ***********');
{$ENDIF}
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.SetupStartProject A');{$ENDIF}
// load command line project or last project or create a new project
if (ParamCount>0) and (ParamStr(ParamCount)[1]<>'-')
and (ExtractFileExt(ParamStr(ParamCount))='.lpi')
and (DoOpenProjectFile(ParamStr(ParamCount),[])=mrOk) then
// command line project loaded
else if (EnvironmentOptions.OpenLastprojectAtStart)
and (FileExists(EnvironmentOptions.LastSavedProjectFile))
and (DoOpenProjectFile(EnvironmentOptions.LastSavedProjectFile,[])=mrOk) then
begin
// last project loaded
{$IFDEF IDE_DEBUG}
writeln('TMainIDE.Create last project loaded successfully');
{$ENDIF}
LastParam:=ParamStr(ParamCount);
ProjectLoaded:=false;
// try command line project
if (ParamCount>0) and (LastParam[1]<>'-') then begin
AProjectFilename:=LastParam;
if (CompareFileExt(AProjectFilename,'.lpi',false)<>0) then begin
AProjectFilename:=ChangeFileExt(AProjectFilename,'.lpi');
end;
ProjectLoaded:=(DoOpenProjectFile(LastParam,[])=mrOk);
end;
// try loading last project
if (not ProjectLoaded)
and (EnvironmentOptions.OpenLastProjectAtStart)
and (FileExists(EnvironmentOptions.LastSavedProjectFile)) then begin
ProjectLoaded:=
(DoOpenProjectFile(EnvironmentOptions.LastSavedProjectFile,[])=mrOk);
end;
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.SetupStartProject B');{$ENDIF}
end else
if not ProjectLoaded then
// create new project
DoNewProject(ptApplication);
@ -9433,6 +9445,9 @@ end.
{ =============================================================================
$Log$
Revision 1.641 2003/08/18 21:17:41 mattias
implemented loading lpr command line projects
Revision 1.640 2003/08/18 18:07:53 mattias
implemented character map