mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-07 21:41:34 +02:00
Qt5: Implemented SetMinMaxDate for QtCalendar
This commit is contained in:
parent
688150cb2c
commit
f97126e5d7
@ -1865,6 +1865,8 @@ type
|
||||
function GetDateTime: TDateTime;
|
||||
procedure SetDateTime(const AValue: TDateTime);
|
||||
procedure SetSelectedDate(const AValue: QDateH);
|
||||
procedure SetMinDate(AMinDate: TDateTime);
|
||||
procedure SetMaxDate(AMaxDate: TDateTime);
|
||||
protected
|
||||
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
|
||||
public
|
||||
@ -1886,6 +1888,8 @@ type
|
||||
procedure SignalSelectionChanged; cdecl;
|
||||
procedure SignalCurrentPageChanged(p1, p2: Integer); cdecl;
|
||||
property DateTime: TDateTime read GetDateTime write SetDateTime;
|
||||
property MinDate: TDateTime write SetMinDate;
|
||||
property MaxDate: TDateTime write SetMaxDate;
|
||||
end;
|
||||
|
||||
// for page control / notebook
|
||||
@ -17782,6 +17786,26 @@ begin
|
||||
QCalendarWidget_setSelectedDate(QCalendarWidgetH(Widget), AValue);
|
||||
end;
|
||||
|
||||
procedure TQtCalendar.SetMinDate(AMinDate: TDateTime);
|
||||
var
|
||||
Date: QDateH;
|
||||
begin
|
||||
DecodeDate(AMinDate, AYear, AMonth, ADay);
|
||||
Date := QDate_create(AYear, AMonth, ADay);
|
||||
QCalendarWidget_setMinimumDate(QCalendarWidgetH(Widget),Date);
|
||||
QDate_destroy(Date);
|
||||
end;
|
||||
|
||||
procedure TQtCalendar.SetMaxDate(AMaxDate: TDateTime);
|
||||
var
|
||||
Date: QDateH;
|
||||
begin
|
||||
DecodeDate(AMaxDate, AYear, AMonth, ADay);
|
||||
Date := QDate_create(AYear, AMonth, ADay);
|
||||
QCalendarWidget_setMaximumDate(QCalendarWidgetH(Widget),Date);
|
||||
QDate_destroy(Date);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Function: TQtCalendar.CreateWidget
|
||||
Params: None
|
||||
|
@ -42,6 +42,7 @@ type
|
||||
class procedure SetDateTime(const ACalendar: TCustomCalendar; const ADateTime: TDateTime); override;
|
||||
class procedure SetDisplaySettings(const ACalendar: TCustomCalendar; const ADisplaySettings: TDisplaySettings); override;
|
||||
class procedure SetFirstDayOfWeek(const ACalendar: TCustomCalendar; const ADayOfWeek: TCalDayOfWeek); override;
|
||||
class procedure SetMinMaxDate(const ACalendar: TCustomCalendar; AMinDate, AMaxDate: TDateTime); override;
|
||||
end;
|
||||
|
||||
|
||||
@ -143,4 +144,15 @@ begin
|
||||
QtCalendar.EndUpdate;
|
||||
end;
|
||||
|
||||
class procedure TQtWSCustomCalendar.SetMinMaxDate(const ACalendar: TCustomCalendar; AMinDate, AMaxDate: TDateTime);
|
||||
var
|
||||
QtCalendar: TQtCalendar;
|
||||
begin
|
||||
QtCalendar := TQtCalendar(ACalendar.Handle);
|
||||
QtCalendar.BeginUpdate;
|
||||
QtCalendar.MinDate := AMinDate;
|
||||
QtCalendar.MaxDate := AMaxDate;
|
||||
QtCalendar.EndUpdate;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user