You've already forked lazarus-ccr
lazMapViewer: More cosmetic changes.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6314 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -59,6 +59,10 @@
|
|||||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||||
</SearchPaths>
|
</SearchPaths>
|
||||||
<Linking>
|
<Linking>
|
||||||
|
<Debugging>
|
||||||
|
<UseHeaptrc Value="True"/>
|
||||||
|
<UseExternalDbgSyms Value="True"/>
|
||||||
|
</Debugging>
|
||||||
<Options>
|
<Options>
|
||||||
<Win32>
|
<Win32>
|
||||||
<GraphicApplication Value="True"/>
|
<GraphicApplication Value="True"/>
|
||||||
|
@ -257,14 +257,15 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLaunchDownloadJob.ExecuteTask(aTask: integer; FromWaiting: boolean);
|
procedure TLaunchDownloadJob.ExecuteTask(aTask: integer; FromWaiting: boolean);
|
||||||
var iTile : integer;
|
var
|
||||||
|
iTile: integer;
|
||||||
begin
|
begin
|
||||||
iTile := aTask - 1;
|
iTile := aTask - 1;
|
||||||
Queue.AddUniqueJob(TEventJob.Create
|
Queue.AddUniqueJob(TEventJob.Create
|
||||||
(
|
(
|
||||||
@Engine.evDownload,
|
@Engine.evDownload,
|
||||||
TEnvTile.Create(FTiles[iTile], Win),
|
TEnvTile.Create(FTiles[iTile], Win),
|
||||||
false,
|
false, // owns data
|
||||||
Engine.GetTileName(FTiles[iTile])
|
Engine.GetTileName(FTiles[iTile])
|
||||||
),
|
),
|
||||||
Launcher
|
Launcher
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -22,37 +22,36 @@ unit mvJobs;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils,mvJobQueue;
|
Classes, SysUtils, mvJobQueue;
|
||||||
|
|
||||||
|
|
||||||
type
|
type
|
||||||
{ TSimpleJob }
|
{ TSimpleJob: job with only one task }
|
||||||
//job with only one task
|
TSimpleJob = class(TJob)
|
||||||
TSimpleJob = class(TJob)
|
private
|
||||||
private
|
FRunning, FEnded: boolean;
|
||||||
FRunning,FEnded : boolean;
|
protected
|
||||||
protected
|
function pGetTask: integer; override;
|
||||||
function pGetTask : integer;override;
|
procedure pTaskStarted(aTask: integer); override;
|
||||||
procedure pTaskStarted(aTask: integer);override;
|
procedure pTaskEnded(aTask: integer; aExcept: Exception); override;
|
||||||
procedure pTaskEnded(aTask : integer;aExcept : Exception);override;
|
public
|
||||||
public
|
function Running : boolean; override;
|
||||||
function Running : boolean;override;
|
end;
|
||||||
end;
|
|
||||||
|
|
||||||
TJobProc = Procedure (Data : TObject;Job : TJob) of object;
|
TJobProc = procedure (Data: TObject; Job: TJob) of object;
|
||||||
|
|
||||||
{ TEventJob }
|
{ TEventJob: job with only one task (callback an event) }
|
||||||
//job with only one task (callback an event)
|
TEventJob = class(TSimpleJob)
|
||||||
TEventJob = Class(TSimpleJob)
|
private
|
||||||
private
|
FData: TObject;
|
||||||
FData : TObject;
|
FTask: TJobProc;
|
||||||
FTask : TJobProc;
|
FOwnData: Boolean;
|
||||||
FOwnData : Boolean;
|
public
|
||||||
public
|
constructor Create(aEvent: TJobProc; Data: TObject; OwnData: Boolean;
|
||||||
constructor Create(aEvent : TJobProc;Data : TObject;OwnData : Boolean;JobName : String='');virtual;
|
JobName: String = ''); virtual;
|
||||||
procedure ExecuteTask(aTask : integer;FromWaiting : boolean);override;
|
destructor Destroy; override;
|
||||||
destructor Destroy;override;
|
procedure ExecuteTask(aTask: integer; FromWaiting: boolean); override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -60,69 +59,70 @@ implementation
|
|||||||
{ TEventJob }
|
{ TEventJob }
|
||||||
|
|
||||||
constructor TEventJob.Create(aEvent: TJobProc; Data: TObject;
|
constructor TEventJob.Create(aEvent: TJobProc; Data: TObject;
|
||||||
OwnData: Boolean;JobName : String='');
|
OwnData: Boolean; JobName: String='');
|
||||||
begin
|
begin
|
||||||
Name:=JobName;
|
Name := JobName;
|
||||||
FTask:=aEvent;
|
FTask := aEvent;
|
||||||
if Assigned(Data) or OwnData then
|
if Assigned(Data) or OwnData then
|
||||||
Begin
|
begin
|
||||||
FData:=Data;
|
FData := Data;
|
||||||
FOwnData:=OwnData;
|
FOwnData := OwnData;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
Begin
|
begin
|
||||||
FOwnData:=false;
|
FOwnData := false;
|
||||||
FData:=self;
|
FData := self;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TEventJob.ExecuteTask(aTask : integer;FromWaiting : boolean);
|
|
||||||
begin
|
|
||||||
if Assigned(FTask) then
|
|
||||||
FTask(FData,self);
|
|
||||||
end;
|
|
||||||
|
|
||||||
destructor TEventJob.Destroy;
|
destructor TEventJob.Destroy;
|
||||||
begin
|
begin
|
||||||
if FOwnData then
|
if FOwnData then
|
||||||
if FData<>self then
|
if FData <> self then
|
||||||
FData.Free;
|
FData.Free;
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TEventJob.ExecuteTask(aTask: integer; FromWaiting: boolean);
|
||||||
|
begin
|
||||||
|
if Assigned(FTask) then
|
||||||
|
FTask(FData, self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TSimpleJob }
|
{ TSimpleJob }
|
||||||
|
|
||||||
function TSimpleJob.pGetTask: integer;
|
function TSimpleJob.pGetTask: integer;
|
||||||
begin
|
begin
|
||||||
if FRunning or Cancelled then
|
if FRunning or Cancelled then
|
||||||
Begin
|
begin
|
||||||
if not FRunning then
|
if not FRunning then
|
||||||
Result := ALL_TASK_COMPLETED
|
Result := ALL_TASK_COMPLETED
|
||||||
else
|
else
|
||||||
Result:=NO_MORE_TASK
|
Result := NO_MORE_TASK
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if FEnded then
|
if FEnded then
|
||||||
Result := ALL_TASK_COMPLETED
|
Result := ALL_TASK_COMPLETED
|
||||||
else
|
else
|
||||||
Result:=1;
|
Result := 1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSimpleJob.pTaskStarted(aTask: integer);
|
procedure TSimpleJob.pTaskStarted(aTask: integer);
|
||||||
begin
|
begin
|
||||||
FEnded:=false;
|
FEnded := false;
|
||||||
FRunning:=True;
|
FRunning := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSimpleJob.pTaskEnded(aTask: integer; aExcept: Exception);
|
procedure TSimpleJob.pTaskEnded(aTask: integer; aExcept: Exception);
|
||||||
begin
|
begin
|
||||||
FEnded:=True;
|
FEnded := True;
|
||||||
FRunning:=False;
|
FRunning := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSimpleJob.Running: boolean;
|
function TSimpleJob.Running: boolean;
|
||||||
begin
|
begin
|
||||||
Result:=FRunning;
|
Result := FRunning;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user