You've already forked lazarus-ccr
lazmapviewer: Make TGpsObj.IDOwner public (https://forum.lazarus.freepascal.org/index.php/topic,12674.msg323330.html#msg323330)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7008 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -48,6 +48,7 @@ type
|
|||||||
procedure GetArea(out Area: TRealArea); virtual; abstract;
|
procedure GetArea(out Area: TRealArea); virtual; abstract;
|
||||||
property Name: String read FName write FName;
|
property Name: String read FName write FName;
|
||||||
property ExtraData: TObject read FExtraData write SetExtraData;
|
property ExtraData: TObject read FExtraData write SetExtraData;
|
||||||
|
property IdOwner: Integer read FIdOwner;
|
||||||
property BoundingBox: TRealArea read GetBoundingBox write SetBoundingBox;
|
property BoundingBox: TRealArea read GetBoundingBox write SetBoundingBox;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -132,7 +133,7 @@ type
|
|||||||
procedure UnLock;
|
procedure UnLock;
|
||||||
procedure CallModified(lst: TGPSObjList; Adding: boolean);
|
procedure CallModified(lst: TGPSObjList; Adding: boolean);
|
||||||
// property Items: TGPSObjList read FItems;
|
// property Items: TGPSObjList read FItems;
|
||||||
procedure IdsToObj(const Ids: TIdArray; out objs: TGPSObjArray; IdOwner: integer);
|
procedure IdsToObj(const Ids: TIdArray; out objs: TGPSObjArray; AIdOwner: integer);
|
||||||
public
|
public
|
||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -141,9 +142,9 @@ type
|
|||||||
out Notfound: TIdArray);
|
out Notfound: TIdArray);
|
||||||
procedure GetArea(out Area: TRealArea); override;
|
procedure GetArea(out Area: TRealArea); override;
|
||||||
function GetObjectsInArea(const Area: TRealArea): TGPSObjList;
|
function GetObjectsInArea(const Area: TRealArea): TGPSObjList;
|
||||||
function GetIdsArea(const Ids: TIdArray; IdOwner: integer): TRealArea;
|
function GetIdsArea(const Ids: TIdArray; AIdOwner: integer): TRealArea;
|
||||||
|
|
||||||
function Add(aItem: TGpsObj; IdOwner: integer): integer;
|
function Add(aItem: TGpsObj; AIdOwner: integer): integer;
|
||||||
procedure DeleteById(const Ids: Array of integer);
|
procedure DeleteById(const Ids: Array of integer);
|
||||||
|
|
||||||
procedure BeginUpdate;
|
procedure BeginUpdate;
|
||||||
@ -349,7 +350,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TGPSObjectList.IdsToObj(const Ids: TIdArray; out objs: TGPSObjArray;
|
procedure TGPSObjectList.IdsToObj(const Ids: TIdArray; out objs: TGPSObjArray;
|
||||||
IdOwner: integer);
|
AIdOwner: integer);
|
||||||
|
|
||||||
function ToSelect(aId: integer): boolean;
|
function ToSelect(aId: integer): boolean;
|
||||||
var
|
var
|
||||||
@ -373,7 +374,7 @@ begin
|
|||||||
try
|
try
|
||||||
for i:=0 to pred(FItems.Count) do
|
for i:=0 to pred(FItems.Count) do
|
||||||
begin
|
begin
|
||||||
if (IdOwner = 0) or (IdOwner = FItems[i].FIdOwner) then
|
if (AIdOwner = 0) or (AIdOwner = FItems[i].FIdOwner) then
|
||||||
if Assigned(FItems[i].ExtraData) and FItems[i].ExtraData.InheritsFrom(TDrawingExtraData) then
|
if Assigned(FItems[i].ExtraData) and FItems[i].ExtraData.InheritsFrom(TDrawingExtraData) then
|
||||||
begin
|
begin
|
||||||
if ToSelect(TDrawingExtraData(FItems[i].ExtraData).Id) then
|
if ToSelect(TDrawingExtraData(FItems[i].ExtraData).Id) then
|
||||||
@ -537,7 +538,7 @@ begin
|
|||||||
CallModified(DelLst, false);
|
CallModified(DelLst, false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TGPSObjectList.GetIdsArea(const Ids: TIdArray; IdOwner: integer): TRealArea;
|
function TGPSObjectList.GetIdsArea(const Ids: TIdArray; AIdOwner: integer): TRealArea;
|
||||||
var
|
var
|
||||||
Objs: TGPSObjarray;
|
Objs: TGPSObjarray;
|
||||||
i: integer;
|
i: integer;
|
||||||
@ -548,7 +549,7 @@ begin
|
|||||||
Result.TopLeft.Lon := 0;
|
Result.TopLeft.Lon := 0;
|
||||||
Lock;
|
Lock;
|
||||||
try
|
try
|
||||||
IdsToObj(Ids, Objs, IdOwner);
|
IdsToObj(Ids, Objs, AIdOwner);
|
||||||
if Length(Objs) > 0 then
|
if Length(Objs) > 0 then
|
||||||
begin
|
begin
|
||||||
Result := Objs[0].BoundingBox;
|
Result := Objs[0].BoundingBox;
|
||||||
@ -560,11 +561,11 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TGPSObjectList.Add(aItem: TGpsObj; IdOwner: integer): integer;
|
function TGPSObjectList.Add(aItem: TGpsObj; AIdOwner: integer): integer;
|
||||||
var
|
var
|
||||||
mList: TGPSObjList;
|
mList: TGPSObjList;
|
||||||
begin
|
begin
|
||||||
aItem.FIdOwner := IdOwner;
|
aItem.FIdOwner := AIdOwner;
|
||||||
Lock;
|
Lock;
|
||||||
try
|
try
|
||||||
Result := FItems.Add(aItem);
|
Result := FItems.Add(aItem);
|
||||||
|
Reference in New Issue
Block a user