tvplanit: Move holiday detection event to TVpControlLink; deprecate that of TVpDayView etc.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8492 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2022-09-19 21:32:43 +00:00
parent 45da1b1781
commit b864dfc278
9 changed files with 90 additions and 65 deletions

View File

@@ -364,6 +364,7 @@ type
{TVpLinkableControl}
TVpLinkableControl = class(TVpCustomControl)
protected{private}
FDataStore: TVpCustomDataStore;
@@ -404,50 +405,55 @@ type
property OnMouseWheel;
end;
{TVpControlLink}
TVpControlLink = class(TVpComponent)
private
FPrinter : TVpPrinter;
FDataStore : TVpCustomDataStore;
FOnGetVariable : TVpOnGetVariableEvent;
FOnNoLocalizationFile : TVpNoLocalizationFile;
FOnPageStart : TVpOnPageStartEvent;
FOnPageEnd : TVpOnPageEndEvent;
FLocalization : TVpLocalization;
FLocalizationFile : string;
FDefaultCountry : string;
FPrinter: TVpPrinter;
FDataStore: TVpCustomDataStore;
FLocalization: TVpLocalization;
FLocalizationFile: string;
FDefaultCountry: string;
FCityStateZipFormat: String;
FOnGetVariable: TVpOnGetVariableEvent;
FOnHoliday: TVpHolidayEvent;
FOnNoLocalizationFile: TVpNoLocalizationFile;
FOnPageStart: TVpOnPageStartEvent;
FOnPageEnd: TVpOnPageEndEvent;
protected{private}
DependentList: TList;
procedure ReleaseDependents;
procedure SetCityStateZipFormat(const Value: String);
procedure SetDataStore (const Value : TVpCustomDataStore);
procedure SetDefaultCountry (const v : string);
procedure SetLocalizationFile (const v : string);
procedure SetPrinter (const v : TVpPrinter);
procedure SetDataStore(const Value: TVpCustomDataStore);
procedure SetDefaultCountry(const v: string);
procedure SetLocalizationFile(const v: string);
procedure SetPrinter(const v: TVpPrinter);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Attach(Sender: TComponent);
procedure Detach(Sender: TComponent);
function GetDependentList : TList;
function GetDependentList: TList;
function IsHoliday(ADate: TDate; out AHolidayName: String): Boolean;
procedure LoadLocalizationInfo (const FileName : string);
procedure Notify (Sender: TComponent; NotificationType: TVpNotificationType; const Value: Variant);
procedure TriggerOnGetVariable (Sender : TObject; VarName: string; Found: Boolean; var Value: string; var Change: TVpChangeVar);
procedure TriggerOnPageEnd (Sender: TObject; PageNum: Integer; ADate: TDateTime; LastPage: Boolean);
procedure TriggerOnPageStart (Sender: TObject; PageNum: Integer; ADate: TDateTime);
property Localization : TVpLocalization read FLocalization write FLocalization;
property Localization: TVpLocalization read FLocalization write FLocalization;
published
property CityStateZipFormat: String read FCityStateZipFormat write SetCityStateZipFormat;
// Use symbols @CITY, @STATE, @ZIP to define the order of these strings
property DataStore: TVpCustomDataStore read FDataStore write SetDataStore;
property DefaultCountry : string read FDefaultCountry write SetDefaultCountry;
property LocalizationFile : string read FLocalizationFile write SetLocalizationFile;
property Printer : TVpPrinter read FPrinter write SetPrinter;
property OnGetVariable : TVpOnGetVariableEvent read FOnGetVariable write FOnGetVariable;
property OnNoLocalizationFile : TVpNoLocalizationFile read FOnNoLocalizationFile write FOnNoLocalizationFile;
property OnPageStart : TVpOnPageStartEvent read FOnPageStart write FOnPageStart;
property OnPageEnd : TVpOnPageEndEvent read FOnPageEnd write FOnPageEnd;
property DefaultCountry: string read FDefaultCountry write SetDefaultCountry;
property LocalizationFile: string read FLocalizationFile write SetLocalizationFile;
property Printer: TVpPrinter read FPrinter write SetPrinter;
property OnGetVariable: TVpOnGetVariableEvent read FOnGetVariable write FOnGetVariable;
property OnHoliday: TVpHolidayEvent read FOnHoliday write FOnHoliday;
property OnNoLocalizationFile: TVpNoLocalizationFile read FOnNoLocalizationFile write FOnNoLocalizationFile;
property OnPageStart: TVpOnPageStartEvent read FOnPageStart write FOnPageStart;
property OnPageEnd: TVpOnPageEndEvent read FOnPageEnd write FOnPageEnd;
end;
@@ -1596,6 +1602,14 @@ begin
Result := DependentList;
end;
function TVpControlLink.IsHoliday(ADate: TDate; out AHolidayName: String): Boolean;
begin
AHolidayName := '';
if Assigned(FOnHoliday) then
FOnHoliday(Self, trunc(ADate), AHolidayName);
Result := AHolidayName <> '';
end;
procedure TVpControlLink.LoadLocalizationInfo (const FileName : string);
begin
LocalizationFile := FileName;