git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7008 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2019-06-12 22:12:40 +00:00
parent 98cd0cfb7e
commit 07318de5e6

View File

@ -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);