|
@@ -120,6 +120,7 @@ type
|
|
// For color coding
|
|
// For color coding
|
|
TFPReportBandType = (btUnknown,btPageHeader,btReportTitle,btColumnHeader,btDataHeader,btGroupHeader,btDataband,btGroupFooter,
|
|
TFPReportBandType = (btUnknown,btPageHeader,btReportTitle,btColumnHeader,btDataHeader,btGroupHeader,btDataband,btGroupFooter,
|
|
btDataFooter,btColumnFooter,btReportSummary,btPageFooter,btChild);
|
|
btDataFooter,btColumnFooter,btReportSummary,btPageFooter,btChild);
|
|
|
|
+ TFPReportBandTypes = Set of TFPReportBandType;
|
|
TFPReportMemoOption = (
|
|
TFPReportMemoOption = (
|
|
moSuppressRepeated,
|
|
moSuppressRepeated,
|
|
moHideZeros,
|
|
moHideZeros,
|
|
@@ -304,6 +305,8 @@ type
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
+ { TFPReportComponent }
|
|
|
|
+
|
|
TFPReportComponent = class(TComponent)
|
|
TFPReportComponent = class(TComponent)
|
|
private
|
|
private
|
|
FReportState: TFPReportState;
|
|
FReportState: TFPReportState;
|
|
@@ -316,9 +319,14 @@ type
|
|
procedure StartRender; virtual;
|
|
procedure StartRender; virtual;
|
|
// called when the renderer ends its job on the report.
|
|
// called when the renderer ends its job on the report.
|
|
procedure EndRender; virtual;
|
|
procedure EndRender; virtual;
|
|
|
|
+
|
|
public
|
|
public
|
|
procedure WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement = nil); virtual;
|
|
procedure WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement = nil); virtual;
|
|
procedure ReadElement(AReader: TFPReportStreamer); virtual;
|
|
procedure ReadElement(AReader: TFPReportStreamer); virtual;
|
|
|
|
+ // called when the designer starts editing this component .
|
|
|
|
+ Procedure StartDesigning; virtual;
|
|
|
|
+ // called when the designer ends editing this component .
|
|
|
|
+ Procedure EndDesigning; virtual;
|
|
property ReportState: TFPReportState read FReportState;
|
|
property ReportState: TFPReportState read FReportState;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -715,6 +723,10 @@ type
|
|
procedure RecalcLayout; override;
|
|
procedure RecalcLayout; override;
|
|
public
|
|
public
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
|
|
+ // called when the designer starts editing this component .
|
|
|
|
+ Procedure StartDesigning; override;
|
|
|
|
+ // called when the designer ends editing this component .
|
|
|
|
+ Procedure EndDesigning; override;
|
|
procedure WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement = nil); override;
|
|
procedure WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement = nil); override;
|
|
procedure ReadElement(AReader: TFPReportStreamer); override;
|
|
procedure ReadElement(AReader: TFPReportStreamer); override;
|
|
function Equals(AElement: TFPReportElement): boolean; override;
|
|
function Equals(AElement: TFPReportElement): boolean; override;
|
|
@@ -1522,6 +1534,8 @@ type
|
|
procedure RemovePage(APage: TFPReportCustomPage);
|
|
procedure RemovePage(APage: TFPReportCustomPage);
|
|
function FindRecursive(const AName: string): TFPReportElement;
|
|
function FindRecursive(const AName: string): TFPReportElement;
|
|
procedure RunReport;
|
|
procedure RunReport;
|
|
|
|
+ Procedure StartDesigning; virtual;
|
|
|
|
+ Procedure EndDesigning; virtual;
|
|
procedure RenderReport(const AExporter: TFPReportExporter);
|
|
procedure RenderReport(const AExporter: TFPReportExporter);
|
|
Property Variables : TFPReportVariables Read FVariables Write SetVariables;
|
|
Property Variables : TFPReportVariables Read FVariables Write SetVariables;
|
|
{$IFDEF gdebug}
|
|
{$IFDEF gdebug}
|
|
@@ -5483,6 +5497,18 @@ begin
|
|
FReportState := rsDesign;
|
|
FReportState := rsDesign;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TFPReportComponent.StartDesigning;
|
|
|
|
+begin
|
|
|
|
+ SetDesigning(True,True);
|
|
|
|
+ FReportState:=rsDesign;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TFPReportComponent.EndDesigning;
|
|
|
|
+begin
|
|
|
|
+ SetDesigning(False,True);
|
|
|
|
+ FReportState:=rsDesign;
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TFPReportComponent.WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement);
|
|
procedure TFPReportComponent.WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement);
|
|
begin
|
|
begin
|
|
AWriter.WriteString('Name', Name);
|
|
AWriter.WriteString('Name', Name);
|
|
@@ -6451,6 +6477,28 @@ begin
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TFPReportElementWithChildren.StartDesigning;
|
|
|
|
+
|
|
|
|
+Var
|
|
|
|
+ I : Integer;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ inherited StartDesigning;
|
|
|
|
+ For I:=0 to ChildCount-1 do
|
|
|
|
+ Child[I].StartDesigning;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TFPReportElementWithChildren.EndDesigning;
|
|
|
|
+
|
|
|
|
+Var
|
|
|
|
+ I : Integer;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ inherited EndDesigning;
|
|
|
|
+ For I:=0 to ChildCount-1 do
|
|
|
|
+ Child[I].EndDesigning;
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TFPReportElementWithChildren.WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement);
|
|
procedure TFPReportElementWithChildren.WriteElement(AWriter: TFPReportStreamer; AOriginal: TFPReportElement);
|
|
var
|
|
var
|
|
i: integer;
|
|
i: integer;
|
|
@@ -7576,6 +7624,28 @@ begin
|
|
DoAfterRenderReport;
|
|
DoAfterRenderReport;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TFPCustomReport.StartDesigning;
|
|
|
|
+
|
|
|
|
+Var
|
|
|
|
+ I : Integer;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ SetDesigning(True,True);
|
|
|
|
+ For I:=0 to PageCount-1 do
|
|
|
|
+ Pages[i].StartDesigning;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TFPCustomReport.EndDesigning;
|
|
|
|
+
|
|
|
|
+Var
|
|
|
|
+ I : Integer;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ SetDesigning(False,True);
|
|
|
|
+ For I:=0 to PageCount-1 do
|
|
|
|
+ Pages[i].EndDesigning;
|
|
|
|
+end;
|
|
|
|
+
|
|
function TFPCustomReport.FindRecursive(const AName: string): TFPReportElement;
|
|
function TFPCustomReport.FindRecursive(const AName: string): TFPReportElement;
|
|
var
|
|
var
|
|
p, b, c: integer;
|
|
p, b, c: integer;
|