tvplanit: Add OnDeletingEvent to TVpDayView and TVpWeekView.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8367 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2022-08-05 11:01:59 +00:00
parent 5715d71739
commit 5619202a83
4 changed files with 15 additions and 5 deletions

View File

@ -120,6 +120,7 @@ type
TVpOnAddNewEvent = procedure (Sender: TObject; Event: TVpEvent) of object; TVpOnAddNewEvent = procedure (Sender: TObject; Event: TVpEvent) of object;
TVpOnModifyEvent = procedure (Sender: TObject; Event: TVpEvent) of object; TVpOnModifyEvent = procedure (Sender: TObject; Event: TVpEvent) of object;
TVpOnDeletingEvent = procedure (Sender: TObject; Event: TVpEvent; var DoIt: Boolean) of object;
{ resource events } { resource events }

View File

@ -291,6 +291,7 @@ type
FOnAfterDrawEvent: TVpOnDVAfterDrawEvent; FOnAfterDrawEvent: TVpOnDVAfterDrawEvent;
FOnAddEvent: TVpOnAddNewEvent; FOnAddEvent: TVpOnAddNewEvent;
FOnModifyEvent: TVpOnModifyEvent; FOnModifyEvent: TVpOnModifyEvent;
FOnDeletingEvent: TVpOnDeletingEvent;
{ internal variables } { internal variables }
dvClickTimer: TTimer; dvClickTimer: TTimer;
dvLoaded: Boolean; dvLoaded: Boolean;
@ -529,6 +530,7 @@ type
property OnAddEvent: TVpOnAddNewEvent read FOnAddEvent write FOnAddEvent; property OnAddEvent: TVpOnAddNewEvent read FOnAddEvent write FOnAddEvent;
property OnAfterDrawEvent: TVpOnDVAfterDrawEvent read FOnAfterDrawEvent write FOnAfterDrawEvent; property OnAfterDrawEvent: TVpOnDVAfterDrawEvent read FOnAfterDrawEvent write FOnAfterDrawEvent;
property OnBeforeDrawEvent: TVpOnDVBeforeDrawEvent read FOnBeforeDrawEvent write FOnBeforeDrawEvent; property OnBeforeDrawEvent: TVpOnDVBeforeDrawEvent read FOnBeforeDrawEvent write FOnBeforeDrawEvent;
property OnDeletingEvent: TVpOnDeletingEvent read FOnDeletingEvent write FOnDeletingEvent;
property OnDrawIcons: TVpOnDVDrawIcons read FOnDrawIcons Write FOnDrawIcons; property OnDrawIcons: TVpOnDVDrawIcons read FOnDrawIcons Write FOnDrawIcons;
property OnHoliday: TVpHolidayEvent read FOnHoliday write FOnHoliday; property OnHoliday: TVpHolidayEvent read FOnHoliday write FOnHoliday;
property OnModifyEvent: TVpOnModifyEvent read FOnModifyEvent write FOnModifyEvent; property OnModifyEvent: TVpOnModifyEvent read FOnModifyEvent write FOnModifyEvent;
@ -1033,6 +1035,11 @@ begin
DoIt := not Verify; DoIt := not Verify;
if FActiveEvent <> nil then begin if FActiveEvent <> nil then begin
if Assigned(FOnDeletingEvent) then
begin
DoIt := true;
FOnDeletingEvent(self, FActiveEvent, DoIt);
end else
if Verify then if Verify then
DoIt := (MessageDlg(RSConfirmDeleteEvent + LineEnding2 + RSPermanent, DoIt := (MessageDlg(RSConfirmDeleteEvent + LineEnding2 + RSPermanent,
mtConfirmation, [mbYes, mbNo], 0) = mrYes); mtConfirmation, [mbYes, mbNo], 0) = mrYes);

View File

@ -1283,19 +1283,16 @@ procedure TVpMonthView.PopupToday(Sender: TObject);
begin begin
Date := Now; Date := Now;
end; end;
{=====}
procedure TVpMonthView.PopupNextMonth(Sender: TObject); procedure TVpMonthView.PopupNextMonth(Sender: TObject);
begin begin
mvSpinButtonClick(self, btNext); mvSpinButtonClick(self, btNext);
end; end;
{=====}
procedure TVpMonthView.PopupPrevMonth(Sender: TObject); procedure TVpMonthView.PopupPrevMonth(Sender: TObject);
begin begin
mvSpinButtonClick(self, btPrev); mvSpinButtonClick(self, btPrev);
end; end;
{=====}
procedure TVpMonthView.PopupNextYear(Sender: TObject); procedure TVpMonthView.PopupNextYear(Sender: TObject);
var var
@ -1304,7 +1301,6 @@ begin
DecodeDate(Date, Y, M, D); DecodeDate(Date, Y, M, D);
Date := EncodeDate(Y + 1, M, 1); Date := EncodeDate(Y + 1, M, 1);
end; end;
{=====}
procedure TVpMonthView.PopupPrevYear(Sender: TObject); procedure TVpMonthView.PopupPrevYear(Sender: TObject);
var var
@ -1351,7 +1347,6 @@ begin
mvActiveEventRec := mvEventArray[I].Rec; mvActiveEventRec := mvEventArray[I].Rec;
end; end;
end; end;
{=====}
procedure TVpMonthView.mvSetDateByCoord(APoint: TPoint); procedure TVpMonthView.mvSetDateByCoord(APoint: TPoint);
var var

View File

@ -164,6 +164,7 @@ type
FOwnerEditEvent: TVpEditEvent; FOwnerEditEvent: TVpEditEvent;
FOnAddEvent: TVpOnAddNewEvent; FOnAddEvent: TVpOnAddNewEvent;
FOnModifyEvent: TVpOnModifyEvent; FOnModifyEvent: TVpOnModifyEvent;
FOnDeletingEvent: TVpOnDeletingEvent;
{ internal variables } { internal variables }
wvInLinkHandler: Boolean; wvInLinkHandler: Boolean;
wvClickTimer: TTimer; wvClickTimer: TTimer;
@ -326,6 +327,7 @@ type
property AfterEdit : TVpAfterEditEvent read FAfterEdit write FAfterEdit; property AfterEdit : TVpAfterEditEvent read FAfterEdit write FAfterEdit;
property BeforeEdit: TVpBeforeEditEvent read FBeforeEdit write FBeforeEdit; property BeforeEdit: TVpBeforeEditEvent read FBeforeEdit write FBeforeEdit;
property OnAddEvent: TVpOnAddNewEvent read FOnAddEvent write FOnAddEvent; property OnAddEvent: TVpOnAddNewEvent read FOnAddEvent write FOnAddEvent;
property OnDeletingEvent: TVpOnDeletingEvent read FOnDeletingEvent write FOnDeletingEvent;
property OnHoliday: TVpHolidayEvent read FOnHoliday write FOnHoliday; property OnHoliday: TVpHolidayEvent read FOnHoliday write FOnHoliday;
property OnModifyEvent: TVpOnModifyEvent read FOnModifyEvent write FOnModifyEvent; property OnModifyEvent: TVpOnModifyEvent read FOnModifyEvent write FOnModifyEvent;
property OnOwnerEditEvent: TVpEditEvent read FOwnerEditEvent write FOwnerEditEvent; property OnOwnerEditEvent: TVpEditEvent read FOwnerEditEvent write FOwnerEditEvent;
@ -766,6 +768,11 @@ begin
DoIt := not Verify; DoIt := not Verify;
if ActiveEvent <> nil then begin if ActiveEvent <> nil then begin
if Assigned(FOnDeletingEvent) then
begin
DoIt := true;
FOnDeletingEvent(Self, ActiveEvent, DoIt);
end else
if Verify then if Verify then
DoIt := (MessageDlg(RSConfirmDeleteEvent + LineEnding2 + RSPermanent, DoIt := (MessageDlg(RSConfirmDeleteEvent + LineEnding2 + RSPermanent,
mtConfirmation, [mbYes, mbNo], 0) = mrYes); mtConfirmation, [mbYes, mbNo], 0) = mrYes);