+ Assembler tab in Options|Compiler

This commit is contained in:
pierre 2000-03-07 22:52:50 +00:00
parent 08e39cb92a
commit 8bea921be5
2 changed files with 82 additions and 32 deletions

View File

@ -55,21 +55,23 @@ begin
if Desktop^.ExecView(D)=cmOK then if Desktop^.ExecView(D)=cmOK then
SwitchesMode:=TSwitchMode(RB^.Value); SwitchesMode:=TSwitchMode(RB^.Value);
Dispose(D, Done); Dispose(D, Done);
UpdateMode;
end; end;
procedure TIDEApp.DoCompilerSwitch; procedure TIDEApp.DoCompilerSwitch;
var R,R2,TabR,TabIR: TRect; var R,R2,TabR,TabIR: TRect;
D: PCenterDialog; D: PCenterDialog;
CB1,CB2,CB3,CB4: PCheckBoxes; CB1,CB2,CB3,CB4,CB5: PCheckBoxes;
RB1,RB2,RB3,RB4: PRadioButtons; RB1,{RB2,}RB3,RB4,RB5,RB6: PRadioButtons;
Items: PSItem; Items: PSItem;
IL: PInputLine; IL: PInputLine;
Count : integer; Count : integer;
I,L: longint; I,L: longint;
Tab: PTab; Tab: PTab;
Label11,Label12, Label11,{Label12,}
Label21,Label22,Label23, Label21,Label22,Label23,
Label31,Label41: PLabel; Label31,Label41,
Label51,Label52,Label53: PLabel;
begin begin
R.Assign(0,0,72,18); R.Assign(0,0,72,18);
New(D, Init(R, 'Compiler Switches')); New(D, Init(R, 'Compiler Switches'));
@ -100,21 +102,6 @@ begin
R2.B.Y:=R2.A.Y+1; R2.B.Y:=R2.A.Y+1;
New(Label11, Init(R2, 'Syntax Switches', CB1)); New(Label11, Init(R2, 'Syntax Switches', CB1));
Count:=AsmReaderSwitches^.ItemCount;
R2.Copy(TabIR);
R2.A.X:=R2.B.X-(R2.B.X-R2.A.X) div 2;
Dec(R2.B.X,4);
R2.B.Y:=R2.A.Y+Count;
Items:=nil;
for I:=Count-1 downto 0 do
Items:=NewSItem(AsmReaderSwitches^.ItemName(I), Items);
New(RB2, Init(R2, Items));
L:=AsmReaderSwitches^.GetCurrSel;
RB2^.SetData(L);
Dec(R2.A.Y);
R2.B.Y:=R2.A.Y+1;
New(Label12, Init(R2, 'Assembler format', RB2));
{ --- Sheet 2 --- } { --- Sheet 2 --- }
Count:=CodegenSwitches^.ItemCount; Count:=CodegenSwitches^.ItemCount;
R2.Copy(TabIR); R2.Copy(TabIR);
@ -211,14 +198,60 @@ begin
R2.B.Y:=R2.A.Y+1; R2.B.Y:=R2.A.Y+1;
New(Label41, Init(R2, 'Browser', RB4)); New(Label41, Init(R2, 'Browser', RB4));
{ --- Sheet 5 --- }
Count:=AsmReaderSwitches^.ItemCount;
R2.Copy(TabIR);
R2.B.X:=R2.B.X-(R2.B.X-R2.A.X) div 2;
Dec(R2.B.X,4);
R2.B.Y:=R2.A.Y+Count;
Items:=nil;
for I:=Count-1 downto 0 do
Items:=NewSItem(AsmReaderSwitches^.ItemName(I), Items);
New(RB5, Init(R2, Items));
L:=AsmReaderSwitches^.GetCurrSel;
RB5^.SetData(L);
Dec(R2.A.Y);
R2.B.Y:=R2.A.Y+1;
New(Label51, Init(R2, 'Assembler reader', RB5));
R2.Copy(TabIR);
R2.B.X:=R2.B.X-(R2.B.X-R2.A.X) div 2;
Dec(R2.B.X,4);
R2.A.Y:=R2.A.Y+Count+2;
Count:=AsmInfoSwitches^.ItemCount;
R2.B.Y:=R2.A.Y+Count;
Items:=nil;
for I:=Count-1 downto 0 do
Items:=NewSItem(AsmInfoSwitches^.ItemName(I), Items);
New(CB5, Init(R2, Items));
for I:=0 to Count-1 do
if AsmInfoSwitches^.GetBooleanItem(I) then
CB5^.Press(I);
Dec(R2.A.Y);
R2.B.Y:=R2.A.Y+1;
New(Label52, Init(R2, 'Assembler info', CB5));
Count:=AsmOutputSwitches^.ItemCount;
R2.Copy(TabIR);
R2.A.X:=R2.B.X-(R2.B.X-R2.A.X) div 2;
Dec(R2.B.X,4);
R2.B.Y:=R2.A.Y+Count;
Items:=nil;
for I:=Count-1 downto 0 do
Items:=NewSItem(AsmOutputSwitches^.ItemName(I), Items);
New(RB6, Init(R2, Items));
L:=AsmOutputSwitches^.GetCurrSel;
RB6^.SetData(L);
Dec(R2.A.Y);
R2.B.Y:=R2.A.Y+1;
New(Label53, Init(R2, 'Assembler output', RB6));
{ create tabs } { create tabs }
New(Tab, Init(TabR, New(Tab, Init(TabR,
NewTabDef('S~y~ntax',CB1, NewTabDef('S~y~ntax',CB1,
NewTabItem(Label11, NewTabItem(Label11,
NewTabItem(CB1, NewTabItem(CB1,
NewTabItem(Label12, nil)),
NewTabItem(RB2,
nil)))),
NewTabDef('Code ~g~eneration',CB3, NewTabDef('Code ~g~eneration',CB3,
NewTabItem(Label21, NewTabItem(Label21,
NewTabItem(CB3, NewTabItem(CB3,
@ -236,7 +269,15 @@ begin
NewTabItem(Label41, NewTabItem(Label41,
NewTabItem(RB4, NewTabItem(RB4,
nil)), nil)),
nil)))))); NewTabDef('~A~ssembler',CB1,
NewTabItem(Label51,
NewTabItem(RB5,
NewTabItem(Label52,
NewTabItem(CB5,
NewTabItem(Label53,
NewTabItem(RB6,
nil)))))),
nil)))))));
Tab^.GrowMode:=0; Tab^.GrowMode:=0;
Insert(Tab); Insert(Tab);
@ -261,7 +302,10 @@ begin
VerboseSwitches^.SetBooleanItem(I,CB4^.Mark(I)); VerboseSwitches^.SetBooleanItem(I,CB4^.Mark(I));
OptimizingGoalSwitches^.SetCurrSel(RB3^.Value); OptimizingGoalSwitches^.SetCurrSel(RB3^.Value);
ProcessorSwitches^.SetCurrSel(RB1^.Value); ProcessorSwitches^.SetCurrSel(RB1^.Value);
AsmReaderSwitches^.SetCurrSel(RB2^.Value); AsmReaderSwitches^.SetCurrSel(RB5^.Value);
for I:=0 to AsmInfoSwitches^.ItemCount-1 do
AsmInfoSwitches^.SetBooleanItem(I,CB5^.Mark(I));
AsmOutputSwitches^.SetCurrSel(RB6^.Value);
BrowserSwitches^.SetCurrSel(RB4^.Value); BrowserSwitches^.SetCurrSel(RB4^.Value);
ConditionalSwitches^.SetStringItem(0,IL^.Data^); ConditionalSwitches^.SetStringItem(0,IL^.Data^);
end; end;
@ -1168,7 +1212,10 @@ end;
{ {
$Log$ $Log$
Revision 1.28 2000-02-07 12:02:32 pierre Revision 1.29 2000-03-07 22:52:50 pierre
+ Assembler tab in Options|Compiler
Revision 1.28 2000/02/07 12:02:32 pierre
Gabor's changes Gabor's changes
Revision 1.27 1999/11/10 17:18:17 pierre Revision 1.27 1999/11/10 17:18:17 pierre
@ -1325,4 +1372,4 @@ end;
+ Switches are now written/read + Switches are now written/read
+ find and replace routines + find and replace routines
} }

View File

@ -793,11 +793,11 @@ begin
New(AsmReaderSwitches,InitSelect('R')); New(AsmReaderSwitches,InitSelect('R'));
with AsmReaderSwitches^ do with AsmReaderSwitches^ do
begin begin
AddSelectItem('Di~r~ect assembler','direct'); AddSelectItem('~D~irect assembler','direct');
AddSelectItem('~A~T&T style assembler','att'); AddSelectItem('~A~T&T style assembler','att');
AddSelectItem('Int~e~l style assembler','intel'); AddSelectItem('~I~ntel style assembler','intel');
end; end;
New(AsmInfoSwitches,InitSelect('a')); New(AsmInfoSwitches,Init('a'));
with AsmInfoSwitches^ do with AsmInfoSwitches^ do
begin begin
AddBooleanItem('~L~ist source','l'); AddBooleanItem('~L~ist source','l');
@ -807,8 +807,8 @@ begin
New(AsmOutputSwitches,InitSelect('A')); New(AsmOutputSwitches,InitSelect('A'));
with AsmOutputSwitches^ do with AsmOutputSwitches^ do
begin begin
AddSelectItem('Use GNU ~a~s','as'); AddSelectItem('Use ~G~NU as','as');
AddSelectItem('Use NASM ~c~off','nasmcoff'); AddSelectItem('Use ~N~ASM coff','nasmcoff');
AddSelectItem('Use NASM ~e~lf','nasmelf'); AddSelectItem('Use NASM ~e~lf','nasmelf');
AddSelectItem('Use NASM ~o~bj','nasmobj'); AddSelectItem('Use NASM ~o~bj','nasmobj');
AddSelectItem('Use ~M~ASM','masm'); AddSelectItem('Use ~M~ASM','masm');
@ -961,7 +961,10 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.18 2000-03-07 21:17:29 pierre Revision 1.19 2000-03-07 22:52:50 pierre
+ Assembler tab in Options|Compiler
Revision 1.18 2000/03/07 21:17:29 pierre
+ASMInfoSwitches AsmOutputSwitches +ASMInfoSwitches AsmOutputSwitches
Revision 1.17 2000/02/04 14:34:47 pierre Revision 1.17 2000/02/04 14:34:47 pierre