mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 07:29:25 +02:00
* ScrollBars in SymbolView where allways for ReferenceView
* TrackSource puts now the source in front of the first non browser window ! +* Tried to get mouse clicks in TBrowserTab to issue correct command, but still does not work !
This commit is contained in:
parent
38eb3dc2ed
commit
748cf53a23
@ -67,6 +67,7 @@ type
|
|||||||
constructor Init(var Bounds: TRect);
|
constructor Init(var Bounds: TRect);
|
||||||
procedure SetParams(AFlags: word; ACurrent: Sw_integer); virtual;
|
procedure SetParams(AFlags: word; ACurrent: Sw_integer); virtual;
|
||||||
procedure Draw; virtual;
|
procedure Draw; virtual;
|
||||||
|
procedure HandleEvent(var Event: TEvent);virtual;
|
||||||
function GetPalette: PPalette; virtual;
|
function GetPalette: PPalette; virtual;
|
||||||
private
|
private
|
||||||
Flags : word;
|
Flags : word;
|
||||||
@ -412,6 +413,7 @@ begin
|
|||||||
Desktop^.UnLock;
|
Desktop^.UnLock;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
(* this does not work correctly
|
||||||
function LastBrowserWindow: PBrowserWindow;
|
function LastBrowserWindow: PBrowserWindow;
|
||||||
var BW: PBrowserWindow;
|
var BW: PBrowserWindow;
|
||||||
procedure IsBW(P: PView); {$ifndef FPC}far;{$endif}
|
procedure IsBW(P: PView); {$ifndef FPC}far;{$endif}
|
||||||
@ -423,6 +425,26 @@ begin
|
|||||||
BW:=nil;
|
BW:=nil;
|
||||||
Desktop^.ForEach(@IsBW);
|
Desktop^.ForEach(@IsBW);
|
||||||
LastBrowserWindow:=BW;
|
LastBrowserWindow:=BW;
|
||||||
|
end; *)
|
||||||
|
|
||||||
|
function LastBrowserWindowBeforeAnyOtherWindow: PBrowserWindow;
|
||||||
|
var BW: PBrowserWindow;
|
||||||
|
AnyOther : boolean;
|
||||||
|
procedure IsBW(P: PView); {$ifndef FPC}far;{$endif}
|
||||||
|
begin
|
||||||
|
if (P^.HelpCtx=hcBrowserWindow) then
|
||||||
|
begin
|
||||||
|
if not AnyOther then
|
||||||
|
BW:=pointer(P);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
AnyOther:=true;
|
||||||
|
end;
|
||||||
|
begin
|
||||||
|
AnyOther:=false;
|
||||||
|
BW:=nil;
|
||||||
|
Desktop^.ForEach(@IsBW);
|
||||||
|
LastBrowserWindowBeforeAnyOtherWindow:=BW;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSymbolReferenceView.TrackSource;
|
procedure TSymbolReferenceView.TrackSource;
|
||||||
@ -439,12 +461,16 @@ begin
|
|||||||
W:=TryToOpenFile(nil,R^.GetFileName,P.X,P.Y);
|
W:=TryToOpenFile(nil,R^.GetFileName,P.X,P.Y);
|
||||||
if W<>nil then
|
if W<>nil then
|
||||||
begin
|
begin
|
||||||
BW:=LastBrowserWindow;
|
{ do not count W }
|
||||||
|
Desktop^.Delete(W);
|
||||||
|
BW:=LastBrowserWindowBeforeAnyOtherWindow;
|
||||||
if BW=nil then
|
if BW=nil then
|
||||||
W^.Select
|
begin
|
||||||
|
Desktop^.Insert(W);
|
||||||
|
W^.Select;
|
||||||
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
Desktop^.Delete(W);
|
|
||||||
Desktop^.InsertBefore(W,BW^.NextView);
|
Desktop^.InsertBefore(W,BW^.NextView);
|
||||||
end;
|
end;
|
||||||
W^.Editor^.SetHighlightRow(P.Y);
|
W^.Editor^.SetHighlightRow(P.Y);
|
||||||
@ -511,6 +537,42 @@ begin
|
|||||||
GetPalette:=@P;
|
GetPalette:=@P;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TBrowserTab.HandleEvent(var Event: TEvent);
|
||||||
|
var
|
||||||
|
i,bt : byte;
|
||||||
|
index,X : Sw_integer;
|
||||||
|
P : Tpoint;
|
||||||
|
begin
|
||||||
|
if (Event.What and evMouseDown)<>0 then
|
||||||
|
begin
|
||||||
|
MakeLocal(Event.Where,P);
|
||||||
|
if P.Y<3 then
|
||||||
|
begin
|
||||||
|
bt:=1;
|
||||||
|
X:=1;
|
||||||
|
Index:=-1;
|
||||||
|
for i:=0 to 3 do
|
||||||
|
begin
|
||||||
|
if bt=0 then
|
||||||
|
bt:=1
|
||||||
|
else
|
||||||
|
bt:=bt*2;
|
||||||
|
if (Flags and (1 shl I))<>0 then
|
||||||
|
begin
|
||||||
|
if (P.X>X) and (P.X<=X+3) then Index:=bt;
|
||||||
|
X:=X+4;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if Index<>-1 then
|
||||||
|
Begin
|
||||||
|
PBrowserWindow(Owner)^.SelectTab(Index);
|
||||||
|
ClearEvent(Event);
|
||||||
|
End;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Inherited HandleEvent(Event);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TBrowserWindow.Init(var Bounds: TRect; ATitle: TTitleStr; ANumber: Sw_Integer;ASym : PSymbol;
|
constructor TBrowserWindow.Init(var Bounds: TRect; ATitle: TTitleStr; ANumber: Sw_Integer;ASym : PSymbol;
|
||||||
const AName: string; ASymbols: PSymbolCollection; AReferences: PReferenceCollection);
|
const AName: string; ASymbols: PSymbolCollection; AReferences: PReferenceCollection);
|
||||||
var R: TRect;
|
var R: TRect;
|
||||||
@ -639,10 +701,22 @@ begin
|
|||||||
case BrowserTab of
|
case BrowserTab of
|
||||||
btScope :
|
btScope :
|
||||||
if assigned(ScopeView) then
|
if assigned(ScopeView) then
|
||||||
ScopeView^.Select;
|
begin
|
||||||
|
RemoveView(ScopeView^.HScrollBar);
|
||||||
|
InsertView(ScopeView^.HScrollBar,First);
|
||||||
|
RemoveView(ScopeView^.VScrollBar);
|
||||||
|
InsertView(ScopeView^.VScrollBar,First);
|
||||||
|
ScopeView^.Select;
|
||||||
|
end;
|
||||||
btReferences :
|
btReferences :
|
||||||
if assigned(ReferenceView) then
|
if assigned(ReferenceView) then
|
||||||
ReferenceView^.Select;
|
begin
|
||||||
|
RemoveView(ReferenceView^.HScrollBar);
|
||||||
|
InsertView(ReferenceView^.HScrollBar,First);
|
||||||
|
RemoveView(ReferenceView^.VScrollBar);
|
||||||
|
InsertView(ReferenceView^.VScrollBar,First);
|
||||||
|
ReferenceView^.Select;
|
||||||
|
end;
|
||||||
btBreakWatch :
|
btBreakWatch :
|
||||||
begin
|
begin
|
||||||
if Assigned(Sym) then
|
if Assigned(Sym) then
|
||||||
@ -739,7 +813,14 @@ end;
|
|||||||
END.
|
END.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.7 1999-02-16 12:44:20 pierre
|
Revision 1.8 1999-02-17 15:50:27 pierre
|
||||||
|
* ScrollBars in SymbolView where allways for ReferenceView
|
||||||
|
* TrackSource puts now the source in front of the first non
|
||||||
|
browser window !
|
||||||
|
+* Tried to get mouse clicks in TBrowserTab to issue correct
|
||||||
|
command, but still does not work !
|
||||||
|
|
||||||
|
Revision 1.7 1999/02/16 12:44:20 pierre
|
||||||
* DoubleClick works now
|
* DoubleClick works now
|
||||||
|
|
||||||
Revision 1.6 1999/02/10 09:44:59 pierre
|
Revision 1.6 1999/02/10 09:44:59 pierre
|
||||||
|
Loading…
Reference in New Issue
Block a user