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)"/>
|
||||
</SearchPaths>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<UseHeaptrc Value="True"/>
|
||||
<UseExternalDbgSyms Value="True"/>
|
||||
</Debugging>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
|
@ -257,14 +257,15 @@ begin
|
||||
end;
|
||||
|
||||
procedure TLaunchDownloadJob.ExecuteTask(aTask: integer; FromWaiting: boolean);
|
||||
var iTile : integer;
|
||||
var
|
||||
iTile: integer;
|
||||
begin
|
||||
iTile := aTask - 1;
|
||||
Queue.AddUniqueJob(TEventJob.Create
|
||||
(
|
||||
@Engine.evDownload,
|
||||
TEnvTile.Create(FTiles[iTile], Win),
|
||||
false,
|
||||
false, // owns data
|
||||
Engine.GetTileName(FTiles[iTile])
|
||||
),
|
||||
Launcher
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -22,37 +22,36 @@ unit mvJobs;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils,mvJobQueue;
|
||||
Classes, SysUtils, mvJobQueue;
|
||||
|
||||
|
||||
type
|
||||
{ TSimpleJob }
|
||||
//job with only one task
|
||||
TSimpleJob = class(TJob)
|
||||
private
|
||||
FRunning,FEnded : boolean;
|
||||
protected
|
||||
function pGetTask : integer;override;
|
||||
procedure pTaskStarted(aTask: integer);override;
|
||||
procedure pTaskEnded(aTask : integer;aExcept : Exception);override;
|
||||
public
|
||||
function Running : boolean;override;
|
||||
end;
|
||||
{ TSimpleJob: job with only one task }
|
||||
TSimpleJob = class(TJob)
|
||||
private
|
||||
FRunning, FEnded: boolean;
|
||||
protected
|
||||
function pGetTask: integer; override;
|
||||
procedure pTaskStarted(aTask: integer); override;
|
||||
procedure pTaskEnded(aTask: integer; aExcept: Exception); override;
|
||||
public
|
||||
function Running : boolean; override;
|
||||
end;
|
||||
|
||||
TJobProc = Procedure (Data : TObject;Job : TJob) of object;
|
||||
TJobProc = procedure (Data: TObject; Job: TJob) of object;
|
||||
|
||||
{ TEventJob }
|
||||
//job with only one task (callback an event)
|
||||
TEventJob = Class(TSimpleJob)
|
||||
private
|
||||
FData : TObject;
|
||||
FTask : TJobProc;
|
||||
FOwnData : Boolean;
|
||||
public
|
||||
constructor Create(aEvent : TJobProc;Data : TObject;OwnData : Boolean;JobName : String='');virtual;
|
||||
procedure ExecuteTask(aTask : integer;FromWaiting : boolean);override;
|
||||
destructor Destroy;override;
|
||||
end;
|
||||
{ TEventJob: job with only one task (callback an event) }
|
||||
TEventJob = class(TSimpleJob)
|
||||
private
|
||||
FData: TObject;
|
||||
FTask: TJobProc;
|
||||
FOwnData: Boolean;
|
||||
public
|
||||
constructor Create(aEvent: TJobProc; Data: TObject; OwnData: Boolean;
|
||||
JobName: String = ''); virtual;
|
||||
destructor Destroy; override;
|
||||
procedure ExecuteTask(aTask: integer; FromWaiting: boolean); override;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
@ -60,69 +59,70 @@ implementation
|
||||
{ TEventJob }
|
||||
|
||||
constructor TEventJob.Create(aEvent: TJobProc; Data: TObject;
|
||||
OwnData: Boolean;JobName : String='');
|
||||
OwnData: Boolean; JobName: String='');
|
||||
begin
|
||||
Name:=JobName;
|
||||
FTask:=aEvent;
|
||||
Name := JobName;
|
||||
FTask := aEvent;
|
||||
if Assigned(Data) or OwnData then
|
||||
Begin
|
||||
FData:=Data;
|
||||
FOwnData:=OwnData;
|
||||
begin
|
||||
FData := Data;
|
||||
FOwnData := OwnData;
|
||||
end
|
||||
else
|
||||
Begin
|
||||
FOwnData:=false;
|
||||
FData:=self;
|
||||
begin
|
||||
FOwnData := false;
|
||||
FData := self;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TEventJob.ExecuteTask(aTask : integer;FromWaiting : boolean);
|
||||
begin
|
||||
if Assigned(FTask) then
|
||||
FTask(FData,self);
|
||||
end;
|
||||
|
||||
destructor TEventJob.Destroy;
|
||||
begin
|
||||
if FOwnData then
|
||||
if FData<>self then
|
||||
if FData <> self then
|
||||
FData.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TEventJob.ExecuteTask(aTask: integer; FromWaiting: boolean);
|
||||
begin
|
||||
if Assigned(FTask) then
|
||||
FTask(FData, self);
|
||||
end;
|
||||
|
||||
|
||||
{ TSimpleJob }
|
||||
|
||||
function TSimpleJob.pGetTask: integer;
|
||||
begin
|
||||
if FRunning or Cancelled then
|
||||
Begin
|
||||
begin
|
||||
if not FRunning then
|
||||
Result := ALL_TASK_COMPLETED
|
||||
else
|
||||
Result:=NO_MORE_TASK
|
||||
Result := NO_MORE_TASK
|
||||
end
|
||||
else
|
||||
if FEnded then
|
||||
Result := ALL_TASK_COMPLETED
|
||||
else
|
||||
Result:=1;
|
||||
Result := 1;
|
||||
end;
|
||||
|
||||
procedure TSimpleJob.pTaskStarted(aTask: integer);
|
||||
begin
|
||||
FEnded:=false;
|
||||
FRunning:=True;
|
||||
FEnded := false;
|
||||
FRunning := True;
|
||||
end;
|
||||
|
||||
procedure TSimpleJob.pTaskEnded(aTask: integer; aExcept: Exception);
|
||||
begin
|
||||
FEnded:=True;
|
||||
FRunning:=False;
|
||||
FEnded := True;
|
||||
FRunning := False;
|
||||
end;
|
||||
|
||||
function TSimpleJob.Running: boolean;
|
||||
begin
|
||||
Result:=FRunning;
|
||||
Result := FRunning;
|
||||
end;
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user