Skip to content

Commit a3c86bc

Browse files
committed
Register event handlers before Delphi wrappers, so that manually wrapped events take precedence.
1 parent d73dcac commit a3c86bc

12 files changed

+53
-67
lines changed

Source/WrapActions.pas

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,10 @@ function TActionsRegistration.Name: string;
9191
procedure TActionsRegistration.RegisterWrappers(
9292
APyDelphiWrapper: TPyDelphiWrapper);
9393
begin
94-
inherited;
94+
APyDelphiWrapper.EventHandlers.RegisterHandler(TActionEventHandler);
95+
9596
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiContainedAction);
9697
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiContainedActionList);
97-
APyDelphiWrapper.EventHandlers.RegisterHandler(TActionEventHandler);
9898
end;
9999

100100
{ TPyDelphiContainedAction }

Source/fmx/WrapFmxControls.pas

+2-3
Original file line numberDiff line numberDiff line change
@@ -196,15 +196,14 @@ function TControlsRegistration.Name: string;
196196
procedure TControlsRegistration.RegisterWrappers(
197197
APyDelphiWrapper: TPyDelphiWrapper);
198198
begin
199-
inherited;
199+
APyDelphiWrapper.EventHandlers.RegisterHandler(TKeyEventHandler);
200+
200201
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiControl);
201202
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiStyledControl);
202203
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTextControl);
203204
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiStyleBook);
204205
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiPopup);
205206
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomControlAction);
206-
207-
APyDelphiWrapper.EventHandlers.RegisterHandler(TKeyEventHandler);
208207
end;
209208

210209
{ TPyDelphiControl }

Source/fmx/WrapFmxForms.pas

+3-4
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,16 @@ function TFormsRegistration.Name: string;
192192
procedure TFormsRegistration.RegisterWrappers(
193193
APyDelphiWrapper: TPyDelphiWrapper);
194194
begin
195-
inherited;
195+
APyDelphiWrapper.EventHandlers.RegisterHandler(TCloseQueryEventHandler);
196+
APyDelphiWrapper.EventHandlers.RegisterHandler(TCloseEventHandler);
197+
196198
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiApplication);
197199
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCommonCustomForm);
198200
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomForm);
199201
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomPopupForm);
200202
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiForm);
201203
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiFrame);
202204
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiScreen);
203-
204-
APyDelphiWrapper.EventHandlers.RegisterHandler(TCloseQueryEventHandler);
205-
APyDelphiWrapper.EventHandlers.RegisterHandler(TCloseEventHandler);
206205
end;
207206

208207
{ TPyDelphiApplication }

Source/fmx/WrapFmxListView.pas

+2-3
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,14 @@ function TListViewRegistration.Name: string;
118118
procedure TListViewRegistration.RegisterWrappers(
119119
APyDelphiWrapper: TPyDelphiWrapper);
120120
begin
121-
inherited;
121+
APyDelphiWrapper.EventHandlers.RegisterHandler(TItemEventHandler);
122+
122123
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiAdapterListView);
123124
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiListViewBase);
124125
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiPresentedListView);
125126
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiAppearanceListView);
126127
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomListView);
127128
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiListView);
128-
129-
APyDelphiWrapper.EventHandlers.RegisterHandler(TItemEventHandler);
130129
end;
131130

132131
{ TPyDelphiAdapterListView }

Source/fmx/WrapFmxMedia.pas

+2-3
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,8 @@ procedure TFMXMediaRegistration.DefineVars(APyDelphiWrapper: TPyDelphiWrapper);
192192
procedure TFMXMediaRegistration.RegisterWrappers(APyDelphiWrapper
193193
: TPyDelphiWrapper);
194194
begin
195-
inherited;
195+
APyDelphiWrapper.EventHandlers.RegisterHandler(TSampleBufferReadyEventHandler);
196+
196197
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCameraComponent);
197198
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomMediaCodec);
198199
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiMediaPlayerControl);
@@ -205,8 +206,6 @@ procedure TFMXMediaRegistration.RegisterWrappers(APyDelphiWrapper
205206
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiMediaPlayerValue);
206207
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiMediaPlayerCurrentTime);
207208
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiMediaPlayerVolume);
208-
209-
APyDelphiWrapper.EventHandlers.RegisterHandler(TSampleBufferReadyEventHandler);
210209
end;
211210

212211
{ TSampleBufferReadyEventHandler }

Source/fmx/WrapFmxTypes.pas

+11-12
Original file line numberDiff line numberDiff line change
@@ -309,28 +309,27 @@ function TTypesRegistration.Name: string;
309309
procedure TTypesRegistration.RegisterWrappers(
310310
APyDelphiWrapper: TPyDelphiWrapper);
311311
begin
312-
inherited;
312+
// Event handlers
313+
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseEventHandler);
314+
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseMoveEventHandler);
315+
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseWheelEventHandler);
316+
APyDelphiWrapper.EventHandlers.RegisterHandler(TKeyEventHandler);
317+
APyDelphiWrapper.EventHandlers.RegisterHandler(TProcessTickEventHandler);
318+
APyDelphiWrapper.EventHandlers.RegisterHandler(TVirtualKeyboardEventHandler);
319+
APyDelphiWrapper.EventHandlers.RegisterHandler(TTapEventHandler);
320+
APyDelphiWrapper.EventHandlers.RegisterHandler(TTouchEventHandler);
321+
// Helper types
313322
APyDelphiWrapper.RegisterHelperType(TPyDelphiPointF);
314323
APyDelphiWrapper.RegisterHelperType(TPyDelphiSizeF);
315324
APyDelphiWrapper.RegisterHelperType(TPyDelphiRectF);
316325
APyDelphiWrapper.RegisterHelperType(TPyDelphiTouch);
317-
326+
// Classes
318327
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiFmxObject);
319328
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiPosition);
320329
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomPopupMenu);
321330
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiBounds);
322331
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiControlSize);
323332
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTimer);
324-
325-
//Event handlers
326-
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseEventHandler);
327-
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseMoveEventHandler);
328-
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseWheelEventHandler);
329-
APyDelphiWrapper.EventHandlers.RegisterHandler(TKeyEventHandler);
330-
APyDelphiWrapper.EventHandlers.RegisterHandler(TProcessTickEventHandler);
331-
APyDelphiWrapper.EventHandlers.RegisterHandler(TVirtualKeyboardEventHandler);
332-
APyDelphiWrapper.EventHandlers.RegisterHandler(TTapEventHandler);
333-
APyDelphiWrapper.EventHandlers.RegisterHandler(TTouchEventHandler);
334333
end;
335334

336335
{ TPyDelphiPointF }

Source/vcl/WrapVclComCtrls.pas

+17-19
Original file line numberDiff line numberDiff line change
@@ -874,24 +874,6 @@ function TComCtrlsRegistration.Name: string;
874874

875875
procedure TComCtrlsRegistration.RegisterWrappers(APyDelphiWrapper: TPyDelphiWrapper);
876876
begin
877-
inherited;
878-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiDateTimePicker);
879-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiPageControl);
880-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTabSheet);
881-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTrackBar);
882-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiToolButton);
883-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiToolbar);
884-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomCustomTabControl);
885-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomTabControl);
886-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomStatusBar);
887-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiStatusBar);
888-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTreeNode);
889-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomTreeView);
890-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTreeView);
891-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiListItem);
892-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomListView);
893-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiListView);
894-
895877
APyDelphiWrapper.EventHandlers.RegisterHandler(TTabChangingEventHandler);
896878
APyDelphiWrapper.EventHandlers.RegisterHandler(TTVChangingEventHandler);
897879
APyDelphiWrapper.EventHandlers.RegisterHandler(TTVChangedEventHandler);
@@ -911,7 +893,6 @@ procedure TComCtrlsRegistration.RegisterWrappers(APyDelphiWrapper: TPyDelphiWrap
911893
APyDelphiWrapper.EventHandlers.RegisterHandler(TTVCheckStateChangedEventHandler);
912894
APyDelphiWrapper.EventHandlers.RegisterHandler(TTVCheckStateChangingEventHandler);
913895
{$ENDIF}
914-
915896
APyDelphiWrapper.EventHandlers.RegisterHandler(TLVDeletedEventHandler);
916897
APyDelphiWrapper.EventHandlers.RegisterHandler(TLVEditingEventHandler);
917898
APyDelphiWrapper.EventHandlers.RegisterHandler(TLVEditedEventHandler);
@@ -937,6 +918,23 @@ procedure TComCtrlsRegistration.RegisterWrappers(APyDelphiWrapper: TPyDelphiWrap
937918
APyDelphiWrapper.EventHandlers.RegisterHandler(TLVSubItemImageEventHandler);
938919
APyDelphiWrapper.EventHandlers.RegisterHandler(TLVInfoTipEventHandler);
939920
APyDelphiWrapper.EventHandlers.RegisterHandler(TLVCreateItemClassEventHandler);
921+
922+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiDateTimePicker);
923+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiPageControl);
924+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTabSheet);
925+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTrackBar);
926+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiToolButton);
927+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiToolbar);
928+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomCustomTabControl);
929+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomTabControl);
930+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomStatusBar);
931+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiStatusBar);
932+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTreeNode);
933+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomTreeView);
934+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiTreeView);
935+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiListItem);
936+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomListView);
937+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiListView);
940938
end;
941939

942940

Source/vcl/WrapVclControls.pas

+6-9
Original file line numberDiff line numberDiff line change
@@ -267,22 +267,19 @@ function TControlsRegistration.Name: string;
267267

268268
procedure TControlsRegistration.RegisterWrappers(APyDelphiWrapper: TPyDelphiWrapper);
269269
begin
270-
inherited;
270+
APyDelphiWrapper.EventHandlers.RegisterHandler(TKeyPressEventHandler);
271+
APyDelphiWrapper.EventHandlers.RegisterHandler(TKeyEventHandler);
272+
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseEventHandler);
273+
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseMoveEventHandler);
274+
APyDelphiWrapper.EventHandlers.RegisterHandler(TContextPopupEventHandler);
275+
271276
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiControl);
272277
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiWinControl);
273278
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomControl);
274279
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomListControl);
275280
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomMultiListControl);
276281
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiDragImageList);
277282
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiImageList);
278-
279-
APyDelphiWrapper.EventHandlers.RegisterHandler(TKeyPressEventHandler);
280-
APyDelphiWrapper.EventHandlers.RegisterHandler(TKeyEventHandler);
281-
282-
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseEventHandler);
283-
APyDelphiWrapper.EventHandlers.RegisterHandler(TMouseMoveEventHandler);
284-
285-
APyDelphiWrapper.EventHandlers.RegisterHandler(TContextPopupEventHandler);
286283
end;
287284

288285
{ TPyDelphiControl }

Source/vcl/WrapVclForms.pas

+3-4
Original file line numberDiff line numberDiff line change
@@ -423,15 +423,14 @@ function TFormsRegistration.Name: string;
423423

424424
procedure TFormsRegistration.RegisterWrappers(APyDelphiWrapper: TPyDelphiWrapper);
425425
begin
426-
inherited;
426+
APyDelphiWrapper.EventHandlers.RegisterHandler(TCloseQueryEventHandler);
427+
APyDelphiWrapper.EventHandlers.RegisterHandler(TCloseEventHandler);
428+
427429
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomForm);
428430
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiForm);
429431
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiApplication);
430432
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiScreen);
431433
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiMonitor);
432-
433-
APyDelphiWrapper.EventHandlers.RegisterHandler(TCloseQueryEventHandler);
434-
APyDelphiWrapper.EventHandlers.RegisterHandler(TCloseEventHandler);
435434
end;
436435

437436
{ TPyDelphiCustomForm }

Source/vcl/WrapVclGrids.pas

+3-4
Original file line numberDiff line numberDiff line change
@@ -184,14 +184,13 @@ function TGridsRegistration.Name: string;
184184

185185
procedure TGridsRegistration.RegisterWrappers(APyDelphiWrapper: TPyDelphiWrapper);
186186
begin
187-
inherited;
187+
APyDelphiWrapper.EventHandlers.RegisterHandler(TDrawCellEventHandler);
188+
APyDelphiWrapper.EventHandlers.RegisterHandler(TSelectCellEventHandler);
189+
188190
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomGrid);
189191
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiCustomDrawGrid);
190192
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiDrawGrid);
191193
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiStringGrid);
192-
193-
APyDelphiWrapper.EventHandlers.RegisterHandler(TDrawCellEventHandler);
194-
APyDelphiWrapper.EventHandlers.RegisterHandler(TSelectCellEventHandler);
195194
end;
196195

197196
{ Helper functions }

Source/vcl/WrapVclMedia.pas

+2-3
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,10 @@ procedure TMediaRegistration.DefineVars(APyDelphiWrapper: TPyDelphiWrapper);
7676
procedure TMediaRegistration.RegisterWrappers(
7777
APyDelphiWrapper: TPyDelphiWrapper);
7878
begin
79-
inherited;
80-
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiMediaPlayer);
81-
8279
APyDelphiWrapper.EventHandlers.RegisterHandler(TEMPNotifyEventHandler);
8380
APyDelphiWrapper.EventHandlers.RegisterHandler(TEMPPostNotifyEventHandler);
81+
82+
APyDelphiWrapper.RegisterDelphiWrapper(TPyDelphiMediaPlayer);
8483
end;
8584

8685
{ TPyDelphiMediaPlayer }

Tests/WrapDelphiEventHandlerTest.pas

-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ function TTestRegistration.Name: string;
8989

9090
procedure TTestRegistration.RegisterWrappers(APyDelphiWrapper: TPyDelphiWrapper);
9191
begin
92-
inherited;
9392
APyDelphiWrapper.EventHandlers.RegisterHandler(TTestGetValueEventHandler);
9493
APyDelphiWrapper.EventHandlers.RegisterHandler(TTestGetObjectEventHandler);
9594
end;

0 commit comments

Comments
 (0)