mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 05:59:28 +02:00
* Rework registering system and ReadElement so Barcode/QR classes are read correctly from stream
git-svn-id: trunk@38969 -
This commit is contained in:
parent
0b296ac828
commit
dcea95d536
File diff suppressed because it is too large
Load Diff
@ -42,6 +42,7 @@ Type
|
||||
Public
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
Constructor Create(AOwner: TComponent); override;
|
||||
Class Function ElementType : String; override;
|
||||
// Will calculate the value to display. Either Value or evaluated expression.
|
||||
Function BarcodeValue : String;
|
||||
Procedure ReadElement(AReader: TFPReportStreamer); override;
|
||||
@ -111,6 +112,11 @@ begin
|
||||
FWeight:=2.0;
|
||||
end;
|
||||
|
||||
class function TFPReportBarcode.ElementType: String;
|
||||
begin
|
||||
Result:='BarCode';
|
||||
end;
|
||||
|
||||
procedure TFPReportBarcode.BeforePrint;
|
||||
|
||||
begin
|
||||
@ -221,7 +227,7 @@ Const
|
||||
|
||||
|
||||
begin
|
||||
gElementFactory.RegisterClass('Barcode',TFPReportBarcode).SetIconFromBytes(Icon);
|
||||
TFPReportBarcode.RegisterElement.SetIconFromBytes(Icon);
|
||||
// Fallback renderer
|
||||
gElementFactory.RegisterImageRenderer(TFPReportBarcode,@RenderBarcode);
|
||||
end;
|
||||
@ -229,7 +235,7 @@ end;
|
||||
Procedure UnRegisterReportBarcode;
|
||||
|
||||
begin
|
||||
gElementFactory.RemoveClass('Barcode');
|
||||
TFPReportBarcode.UnRegisterElement;
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
@ -40,6 +40,7 @@ Type
|
||||
procedure RecalcLayout; override;
|
||||
Procedure DoWriteLocalProperties(AWriter: TFPReportStreamer; AOriginal: TFPReportElement=nil); override;
|
||||
Public
|
||||
Class Function ElementType : String; override;
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
// Will calculate the value to display. Either Value or evaluated expression.
|
||||
Function QRCodeValue : String;
|
||||
@ -85,6 +86,11 @@ begin
|
||||
AWriter.WriteBoolean('Center',Center);
|
||||
end;
|
||||
|
||||
class function TFPReportQRCode.ElementType: String;
|
||||
begin
|
||||
Result:='QRCode';
|
||||
end;
|
||||
|
||||
procedure TFPReportQRCode.Assign(Source: TPersistent);
|
||||
|
||||
Var
|
||||
@ -209,7 +215,7 @@ Const
|
||||
68,174, 66, 96,130);
|
||||
|
||||
begin
|
||||
gElementFactory.RegisterClass('QRCode',TFPReportQRCode).SetIconFromBytes(Icon);
|
||||
TFPReportQRCode.RegisterElement.SetIconFromBytes(Icon);
|
||||
// Fallback renderer
|
||||
gElementFactory.RegisterImageRenderer(TFPReportQRCode,@RenderQRCode);
|
||||
end;
|
||||
@ -217,7 +223,7 @@ end;
|
||||
Procedure UnRegisterReportQRCode;
|
||||
|
||||
begin
|
||||
gElementFactory.RemoveClass('QRCode');
|
||||
TFPReportElement.UnRegisterElement;
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
Loading…
Reference in New Issue
Block a user