* linux fixes

This commit is contained in:
peter 1999-03-23 16:16:36 +00:00
parent f62a9a4d77
commit ef82a62743
7 changed files with 96 additions and 53 deletions

View File

@ -15,11 +15,17 @@
**********************************************************************} **********************************************************************}
program FP; program FP;
{$ifndef LINUX}
{$ifndef FV20}
{$define VESA}
{$endif}
{$endif}
uses uses
{$ifdef IDEHeapTrc} {$ifdef IDEHeapTrc}
HeapTrc, HeapTrc,
{$endif IDEHeapTrc} {$endif IDEHeapTrc}
Dos, Dos,Objects,
BrowCol, BrowCol,
WViews, WViews,
FPIDE, FPIDE,
@ -39,7 +45,7 @@ procedure ProcessParams(BeforeINI: boolean);
and (Param[1] in ['-','/']); { <- but still accept dos switch char, eg. '/' } and (Param[1] in ['-','/']); { <- but still accept dos switch char, eg. '/' }
end; end;
var I: integer; var I: Sw_integer;
Param: string; Param: string;
begin begin
for I:=1 to ParamCount do for I:=1 to ParamCount do
@ -80,7 +86,7 @@ BEGIN
ProcessParams(true); ProcessParams(true);
{$ifndef FV20} {$ifdef VESA}
InitVESAScreenModes; InitVESAScreenModes;
{$endif} {$endif}
InitRedir; InitRedir;
@ -139,7 +145,10 @@ BEGIN
END. END.
{ {
$Log$ $Log$
Revision 1.19 1999-03-23 15:11:26 peter Revision 1.20 1999-03-23 16:16:36 peter
* linux fixes
Revision 1.19 1999/03/23 15:11:26 peter
* desktop saving things * desktop saving things
* vesa mode * vesa mode
* preferences dialog * preferences dialog

View File

@ -17,6 +17,14 @@ unit FPCompile;
interface interface
{ don't redir under linux, because all stdout (also from the ide!) will
then be redired (PFV) }
{$ifndef debug}
{$ifndef linux}
{$define redircompiler}
{$endif}
{$endif}
{ $define VERBOSETXT} { $define VERBOSETXT}
uses uses
@ -94,7 +102,9 @@ uses
App,Commands, App,Commands,
CompHook, CompHook,
WEditor, WEditor,
{$ifdef redircompiler}
FPRedir, FPRedir,
{$endif}
FPConst,FPVars,FPUtils,FPIntf,FPSwitch; FPConst,FPVars,FPUtils,FPIntf,FPSwitch;
const const
@ -524,13 +534,10 @@ begin
do_stop:=CompilerStop; do_stop:=CompilerStop;
do_comment:=CompilerComment; do_comment:=CompilerComment;
{$ifndef debug} {$ifdef redircompiler}
{ this avoids all flickers
and allows to get assembler and linker messages
but also forbids to use GDB inside !! }
ChangeRedirOut('fp$$$.out',false); ChangeRedirOut('fp$$$.out',false);
ChangeRedirError('fp$$$.err',false); ChangeRedirError('fp$$$.err',false);
{$endif ndef debug} {$endif}
{$ifdef TEMPHEAP} {$ifdef TEMPHEAP}
split_heap; split_heap;
switch_to_temp_heap; switch_to_temp_heap;
@ -539,10 +546,10 @@ begin
{$ifdef TEMPHEAP} {$ifdef TEMPHEAP}
switch_to_base_heap; switch_to_base_heap;
{$endif TEMPHEAP} {$endif TEMPHEAP}
{$ifdef go32v2} {$ifdef redircompiler}
RestoreRedirOut; RestoreRedirOut;
RestoreRedirError; RestoreRedirError;
{$endif def go32v2} {$endif}
{ endcompilation returns true if the messagewindow should be removed } { endcompilation returns true if the messagewindow should be removed }
if CompilerMessageWindow^.EndCompilation then if CompilerMessageWindow^.EndCompilation then
@ -749,13 +756,10 @@ begin
do_stop:=CompilerStop; do_stop:=CompilerStop;
do_comment:=CompilerComment; do_comment:=CompilerComment;
{$ifndef debug} {$ifdef redircompiler}
{ this avoids all flickers
and allows to get assembler and linker messages
but also forbids to use GDB inside !! }
ChangeRedirOut('fp$$$.out',false); ChangeRedirOut('fp$$$.out',false);
ChangeRedirError('fp$$$.err',false); ChangeRedirError('fp$$$.err',false);
{$endif ndef debug} {$endif}
{$ifdef TEMPHEAP} {$ifdef TEMPHEAP}
split_heap; split_heap;
switch_to_temp_heap; switch_to_temp_heap;
@ -764,10 +768,10 @@ begin
{$ifdef TEMPHEAP} {$ifdef TEMPHEAP}
switch_to_base_heap; switch_to_base_heap;
{$endif TEMPHEAP} {$endif TEMPHEAP}
{$ifdef go32v2} {$ifdef redircompiler}
RestoreRedirOut; RestoreRedirOut;
RestoreRedirError; RestoreRedirError;
{$endif def go32v2} {$endif}
if status.errorCount=0 if status.errorCount=0
then CompilationPhase:=cpDone then CompilationPhase:=cpDone
@ -800,7 +804,10 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.19 1999-03-19 16:04:27 peter Revision 1.20 1999-03-23 16:16:38 peter
* linux fixes
Revision 1.19 1999/03/19 16:04:27 peter
* new compiler dialog * new compiler dialog
Revision 1.18 1999/03/16 12:38:07 peter Revision 1.18 1999/03/16 12:38:07 peter

View File

@ -42,30 +42,37 @@ end;
function WriteHistory(F: PResourceFile): boolean; function WriteHistory(F: PResourceFile): boolean;
begin begin
WriteHistory:=true;
end; end;
function WriteClipboard(F: PResourceFile): boolean; function WriteClipboard(F: PResourceFile): boolean;
begin begin
WriteClipboard:=true;
end; end;
function WriteWatches(F: PResourceFile): boolean; function WriteWatches(F: PResourceFile): boolean;
begin begin
WriteWatches:=true;
end; end;
function WriteBreakpoints(F: PResourceFile): boolean; function WriteBreakpoints(F: PResourceFile): boolean;
begin begin
WriteBreakPoints:=true;
end; end;
function WriteOpenWindows(F: PResourceFile): boolean; function WriteOpenWindows(F: PResourceFile): boolean;
begin begin
WriteOpenWindows:=true;
end; end;
function WriteSymbols(F: PResourceFile): boolean; function WriteSymbols(F: PResourceFile): boolean;
begin begin
WriteSymbols:=true;
end; end;
function LoadDesktop: boolean; function LoadDesktop: boolean;
begin begin
LoadDesktop:=true;
end; end;
function SaveDesktop: boolean; function SaveDesktop: boolean;
@ -93,7 +100,10 @@ end;
END. END.
{ {
$Log$ $Log$
Revision 1.1 1999-03-23 15:11:28 peter Revision 1.2 1999-03-23 16:16:39 peter
* linux fixes
Revision 1.1 1999/03/23 15:11:28 peter
* desktop saving things * desktop saving things
* vesa mode * vesa mode
* preferences dialog * preferences dialog

View File

@ -554,12 +554,12 @@ end;*)
type type
PVideoModeCollection = ^TVideoModeCollection; PVideoModeCollection = ^TVideoModeCollection;
TVideoModeCollection = object(TSortedCollection) TVideoModeCollection = object(TSortedCollection)
function Compare(Key1, Key2: Pointer): Integer; virtual; function Compare(Key1, Key2: Pointer): Sw_Integer; virtual;
procedure FreeItem(Item: Pointer); virtual; procedure FreeItem(Item: Pointer); virtual;
end; end;
function TVideoModeCollection.Compare(Key1, Key2: Pointer): Integer; function TVideoModeCollection.Compare(Key1, Key2: Pointer): Sw_Integer;
var R: integer; var R: Sw_integer;
K1: PVideoModeList absolute Key1; K1: PVideoModeList absolute Key1;
K2: PVideoModeList absolute Key2; K2: PVideoModeList absolute Key2;
begin begin
@ -592,13 +592,13 @@ begin
end; end;
SearchVideoMode:=I; SearchVideoMode:=I;
end; end;
var R,R2,R3: TRect; var R,R2: TRect;
D: PCenterDialog; D: PCenterDialog;
C: PVideoModeCollection; C: PVideoModeCollection;
VMLB: PVideoModeListBox; VMLB: PVideoModeListBox;
VP: PVideoModeList; VP: PVideoModeList;
VM: TVideoMode; VM: TVideoMode;
RB1,RB2: PPlainRadioButtons; RB1: PPlainRadioButtons;
CB1,CB2: PPlainCheckBoxes; CB1,CB2: PPlainCheckBoxes;
CurM: PVideoModeList; CurM: PVideoModeList;
CurIdx: integer; CurIdx: integer;
@ -1065,7 +1065,10 @@ end;
{ {
$Log$ $Log$
Revision 1.23 1999-03-23 15:11:33 peter Revision 1.24 1999-03-23 16:16:40 peter
* linux fixes
Revision 1.23 1999/03/23 15:11:33 peter
* desktop saving things * desktop saving things
* vesa mode * vesa mode
* preferences dialog * preferences dialog

View File

@ -17,6 +17,12 @@ unit FPViews;
interface interface
{$ifndef LINUX}
{$ifndef FV20}
{$define VESA}
{$endif}
{$endif}
uses uses
Dos,Objects,Drivers,Commands,HelpCtx,Views,Menus,Dialogs,App,Gadgets, Dos,Objects,Drivers,Commands,HelpCtx,Views,Menus,Dialogs,App,Gadgets,
ASCIITAB, ASCIITAB,
@ -307,7 +313,7 @@ function TryToOpenFile(Bounds: PRect; FileName: string; CurX,CurY: sw_integer;tr
function StartEditor(Editor: PCodeEditor; FileName: string): boolean; function StartEditor(Editor: PCodeEditor; FileName: string): boolean;
{$ifndef FV20} {$ifdef VESA}
procedure InitVESAScreenModes; procedure InitVESAScreenModes;
{$endif} {$endif}
@ -337,7 +343,7 @@ implementation
uses uses
Video,Strings,Keyboard,Memory,MsgBox,Validate, Video,Strings,Keyboard,Memory,MsgBox,Validate,
Tokens,Version, Tokens,Version,
{$ifndef FV20}Vesa,{$endif} {$ifdef VESA}Vesa,{$endif}
FPSwitch,FPSymbol,FPDebug,FPVars,FPUtils,FPCompile,FPHelp; FPSwitch,FPSymbol,FPDebug,FPVars,FPUtils,FPCompile,FPHelp;
const const
@ -2461,7 +2467,7 @@ begin
GetText:=copy(S,1,MaxLen); GetText:=copy(S,1,MaxLen);
end; end;
{$ifndef FV20} {$ifdef VESA}
function VESASetVideoModeProc(const VideoMode: TVideoMode; Params: Longint): Boolean; {$ifndef FPC}far;{$endif} function VESASetVideoModeProc(const VideoMode: TVideoMode; Params: Longint): Boolean; {$ifndef FPC}far;{$endif}
begin begin
VESASetMode(Params); VESASetMode(Params);
@ -2488,7 +2494,10 @@ end;
END. END.
{ {
$Log$ $Log$
Revision 1.25 1999-03-23 15:11:37 peter Revision 1.26 1999-03-23 16:16:41 peter
* linux fixes
Revision 1.25 1999/03/23 15:11:37 peter
* desktop saving things * desktop saving things
* vesa mode * vesa mode
* preferences dialog * preferences dialog

View File

@ -51,8 +51,6 @@ type
TableOfs : longint; TableOfs : longint;
end; end;
PResourceFile = ^TResourceFile;
PResourceEntry = ^TResourceEntry; PResourceEntry = ^TResourceEntry;
TResourceEntry = object(TObject) TResourceEntry = object(TObject)
constructor Init(AID, ALangID, AFlags, ADataLen: longint); constructor Init(AID, ALangID, AFlags, ADataLen: longint);
@ -93,12 +91,12 @@ type
procedure BuildHeader(var Header : TResourceHeader); procedure BuildHeader(var Header : TResourceHeader);
end; end;
PResourceCollection = ^TResourceCollection;
TResourceCollection = object(TSortedCollection) TResourceCollection = object(TSortedCollection)
function At(Index: Sw_Integer): PResource; function At(Index: Sw_Integer): PResource;
function Compare(Key1, Key2: Pointer): Sw_Integer; virtual; function Compare(Key1, Key2: Pointer): Sw_Integer; virtual;
function SearchResourceByName(const AName: string): PResource; function SearchResourceByName(const AName: string): PResource;
end; end;
PResourceCollection = ^TResourceCollection;
TResourceFile = object(TObject) TResourceFile = object(TObject)
constructor Init(var RS: TStream; ALoad: boolean); constructor Init(var RS: TStream; ALoad: boolean);
@ -137,6 +135,7 @@ type
procedure WriteHeader; procedure WriteHeader;
procedure WriteResourceTable; procedure WriteResourceTable;
end; end;
PResourceFile = ^TResourceFile;
PSimpleResourceFile = ^TSimpleResourceFile; PSimpleResourceFile = ^TSimpleResourceFile;
TSimpleResourceFile = object(TResourceFile) TSimpleResourceFile = object(TResourceFile)
@ -702,7 +701,10 @@ end;
END. END.
{ {
$Log$ $Log$
Revision 1.2 1999-03-23 15:11:40 peter Revision 1.3 1999-03-23 16:16:43 peter
* linux fixes
Revision 1.2 1999/03/23 15:11:40 peter
* desktop saving things * desktop saving things
* vesa mode * vesa mode
* preferences dialog * preferences dialog

View File

@ -93,7 +93,7 @@ type
PDlgWindow = ^TDlgWindow; PDlgWindow = ^TDlgWindow;
TDlgWindow = object(TDialog) TDlgWindow = object(TDialog)
constructor Init(var Bounds: TRect; ATitle: TTitleStr; ANumber: Integer); constructor Init(var Bounds: TRect; ATitle: TTitleStr; ANumber: Sw_Integer);
end; end;
PAdvancedStatusLine = ^TAdvancedStatusLine; PAdvancedStatusLine = ^TAdvancedStatusLine;
@ -112,8 +112,8 @@ type
constructor Init(ALink: PDropDownListBox; var Bounds: TRect; ANumCols: Word; AScrollBar: PScrollBar); constructor Init(ALink: PDropDownListBox; var Bounds: TRect; ANumCols: Word; AScrollBar: PScrollBar);
procedure HandleEvent(var Event: TEvent); virtual; procedure HandleEvent(var Event: TEvent); virtual;
procedure SetState(AState: Word; Enable: Boolean); virtual; procedure SetState(AState: Word; Enable: Boolean); virtual;
procedure SelectItem(Item: Integer); virtual; procedure SelectItem(Item: Sw_Integer); virtual;
function GetText(Item: sw_Integer; MaxLen: Integer): String; virtual; function GetText(Item,MaxLen: Sw_Integer): String; virtual;
function GetLocalMenu: PMenu; virtual; function GetLocalMenu: PMenu; virtual;
function GetCommandTarget: PView; virtual; function GetCommandTarget: PView; virtual;
private private
@ -126,7 +126,7 @@ type
Text: string; Text: string;
Focused: sw_integer; Focused: sw_integer;
List: PCollection; List: PCollection;
constructor Init(var Bounds: TRect; ADropLineCount: integer; AList: PCollection); constructor Init(var Bounds: TRect; ADropLineCount: Sw_integer; AList: PCollection);
procedure HandleEvent(var Event: TEvent); virtual; procedure HandleEvent(var Event: TEvent); virtual;
function GetText(Item: pointer; MaxLen: sw_integer): string; virtual; function GetText(Item: pointer; MaxLen: sw_integer): string; virtual;
procedure NewList(AList: PCollection); virtual; procedure NewList(AList: PCollection); virtual;
@ -141,7 +141,7 @@ type
function GetPalette: PPalette; virtual; function GetPalette: PPalette; virtual;
destructor Done; virtual; destructor Done; virtual;
private private
DropLineCount: integer; DropLineCount: Sw_integer;
ListDropped : boolean; ListDropped : boolean;
ListBox : PDDHelperLB; ListBox : PDDHelperLB;
SB : PScrollBar; SB : PScrollBar;
@ -179,7 +179,7 @@ procedure SetMenuItemParam(Menu: PMenuItem; Param: string);
function IsSubMenu(P: PMenuItem): boolean; function IsSubMenu(P: PMenuItem): boolean;
function IsSeparator(P: PMenuItem): boolean; function IsSeparator(P: PMenuItem): boolean;
function UpdateMenu(M: PMenu): boolean; function UpdateMenu(M: PMenu): boolean;
function SearchSubMenu(M: PMenu; Index: integer): PMenuItem; function SearchSubMenu(M: PMenu; Index: Sw_integer): PMenuItem;
procedure AppendMenuItem(M: PMenu; I: PMenuItem); procedure AppendMenuItem(M: PMenu; I: PMenuItem);
procedure RemoveMenuItem(Menu: PMenu; I: PMenuItem); procedure RemoveMenuItem(Menu: PMenu; I: PMenuItem);
function GetMenuItemBefore(Menu:PMenu; BeforeOf: PMenuItem): PMenuItem; function GetMenuItemBefore(Menu:PMenu; BeforeOf: PMenuItem): PMenuItem;
@ -1071,12 +1071,12 @@ procedure TColorStaticText.Draw;
var var
C: word; C: word;
Center: Boolean; Center: Boolean;
I, J, L, P, Y: Integer; I, J, L, P, Y: Sw_Integer;
B: TDrawBuffer; B: TDrawBuffer;
S: String; S: String;
T: string; T: string;
CurS: string; CurS: string;
TildeCount,Po: integer; TildeCount,Po: Sw_integer;
TempS: string; TempS: string;
begin begin
if Size.X=0 then Exit; if Size.X=0 then Exit;
@ -1156,7 +1156,7 @@ begin
HScrollBar:=AHScrollBar; HScrollBar:=AHScrollBar;
end; end;
constructor TDlgWindow.Init(var Bounds: TRect; ATitle: TTitleStr; ANumber: Integer); constructor TDlgWindow.Init(var Bounds: TRect; ATitle: TTitleStr; ANumber: Sw_Integer);
begin begin
inherited Init(Bounds,ATitle); inherited Init(Bounds,ATitle);
Number:=ANumber; Number:=ANumber;
@ -1338,9 +1338,9 @@ begin
UpdateMenu:=IsEnabled; UpdateMenu:=IsEnabled;
end; end;
function SearchSubMenu(M: PMenu; Index: integer): PMenuItem; function SearchSubMenu(M: PMenu; Index: Sw_integer): PMenuItem;
var P,C: PMenuItem; var P,C: PMenuItem;
Count: integer; Count: Sw_integer;
begin begin
P:=nil; Count:=-1; P:=nil; Count:=-1;
if M<>nil then C:=M^.Items else C:=nil; if M<>nil then C:=M^.Items else C:=nil;
@ -1419,8 +1419,8 @@ end;
procedure InsertButtons(ADialog: PDialog); procedure InsertButtons(ADialog: PDialog);
var R : TRect; var R : TRect;
W,H : integer; W,H : Sw_integer;
X : integer; X : Sw_integer;
X1,X2: Sw_integer; X1,X2: Sw_integer;
begin begin
with ADialog^ do with ADialog^ do
@ -1455,7 +1455,7 @@ end;
procedure ShowMessage(Msg: string); procedure ShowMessage(Msg: string);
var R: TRect; var R: TRect;
Width: integer; Width: Sw_integer;
begin begin
Width:=length(Msg)+4*2; Width:=length(Msg)+4*2;
if Width<(Desktop^.Size.X div 2) then Width:=(Desktop^.Size.X div 2); if Width<(Desktop^.Size.X div 2) then Width:=(Desktop^.Size.X div 2);
@ -1499,7 +1499,7 @@ begin
Link^.DropList(false);} Link^.DropList(false);}
end; end;
function TDDHelperLB.GetText(Item: sw_Integer; MaxLen: Integer): String; function TDDHelperLB.GetText(Item,MaxLen: Sw_Integer): String;
var P: pointer; var P: pointer;
S: string; S: string;
begin begin
@ -1681,14 +1681,14 @@ begin
end; end;
end; end;
procedure TDDHelperLB.SelectItem(Item: Integer); procedure TDDHelperLB.SelectItem(Item: Sw_Integer);
begin begin
inherited SelectItem(Item); inherited SelectItem(Item);
Link^.FocusItem(Focused); Link^.FocusItem(Focused);
Link^.DropList(false); Link^.DropList(false);
end; end;
constructor TDropDownListBox.Init(var Bounds: TRect; ADropLineCount: integer; AList: PCollection); constructor TDropDownListBox.Init(var Bounds: TRect; ADropLineCount: Sw_integer; AList: PCollection);
begin begin
inherited Init(Bounds); inherited Init(Bounds);
Options:=Options or (ofSelectable); Options:=Options or (ofSelectable);
@ -1749,7 +1749,7 @@ begin
inherited HandleEvent(Event); inherited HandleEvent(Event);
end; end;
function TDropDownListBox.GetText(Item: pointer; MaxLen: integer): string; function TDropDownListBox.GetText(Item: pointer; MaxLen: Sw_integer): string;
var S: string; var S: string;
begin begin
S:=GetStr(Item); S:=GetStr(Item);
@ -1935,7 +1935,10 @@ end;
END. END.
{ {
$Log$ $Log$
Revision 1.4 1999-03-23 15:11:42 peter Revision 1.5 1999-03-23 16:16:44 peter
* linux fixes
Revision 1.4 1999/03/23 15:11:42 peter
* desktop saving things * desktop saving things
* vesa mode * vesa mode
* preferences dialog * preferences dialog