@@ -335,22 +335,75 @@ procedure _LapePanel_OnDblClick_Write(const Params: PParamArray); LAPE_WRAPPER_C
335
335
PPanel(Params^[0 ])^.OnDblClick := PNotifyEvent(Params^[1 ])^;
336
336
end ;
337
337
338
+ type
339
+ PDragablePanel = ^TDragablePanel;
340
+ TDragablePanel = class (TPanel)
341
+ protected
342
+ FDragging: Boolean;
343
+ FDragStart: TPoint;
344
+
345
+ procedure MouseMove (Shift: TShiftState; X, Y: Integer); override;
346
+ procedure MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
347
+ procedure MouseUp (Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
348
+
349
+ constructor Create(TheOwner: TComponent); override;
350
+ end ;
351
+
352
+ procedure TDragablePanel.MouseMove (Shift: TShiftState; X, Y: Integer);
353
+ begin
354
+ inherited MouseMove(Shift, X, Y);
355
+
356
+ if FDragging then
357
+ begin
358
+ Left := Left + (X - FDragStart.X);
359
+ Top := Top + (Y - FDragStart.Y);
360
+ end ;
361
+ end ;
362
+
363
+ procedure TDragablePanel.MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
364
+ begin
365
+ inherited MouseDown(Button, Shift, X, Y);
366
+
367
+ FDragging := True;
368
+ FDragStart.X := X;
369
+ FDragStart.Y := Y;
370
+ end ;
371
+
372
+ procedure TDragablePanel.MouseUp (Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
373
+ begin
374
+ inherited MouseUp(Button, Shift, X, Y);
375
+
376
+ FDragging := False;
377
+ end ;
378
+
379
+ constructor TDragablePanel.Create(TheOwner: TComponent);
380
+ begin
381
+ inherited Create(TheOwner);
382
+
383
+ BevelOuter := bvNone;
384
+ end ;
385
+
386
+ procedure _LapeDragablePanel_Create (const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV
387
+ begin
388
+ PDragablePanel(Result)^ := TDragablePanel.Create(PComponent(Params^[0 ])^);
389
+ end ;
390
+
338
391
procedure ImportLCLExtCtrls (Script: TSimbaScript);
339
392
begin
340
393
with Script.Compiler do
341
394
begin
342
395
addGlobalType(' enum(None, Lowered, Raised, Space)' , ' ELazPanelBevel' );
343
396
344
397
addClass(' TLazTimer' , ' TLazComponent' , TTimer);
345
- addClassConstructor(' TLazTimer' , ' (AOwner : TLazComponent)' , @_LapeTimer_Create);
398
+ addClassConstructor(' TLazTimer' , ' (Owner : TLazComponent)' , @_LapeTimer_Create);
346
399
addProperty(' TLazTimer' , ' Enabled' , ' Boolean' , @_LapeTimer_Enabled_Read, @_LapeTimer_Enabled_Write);
347
400
addProperty(' TLazTimer' , ' Interval' , ' UInt32' , @_LapeTimer_Interval_Read, @_LapeTimer_Interval_Write);
348
401
addProperty(' TLazTimer' , ' OnTimer' , ' TLazNotifyEvent' , @_LapeTimer_OnTimer_Read, @_LapeTimer_OnTimer_Write);
349
402
addProperty(' TLazTimer' , ' OnStartTimer' , ' TLazNotifyEvent' , @_LapeTimer_OnStartTimer_Read, @_LapeTimer_OnStartTimer_Write);
350
403
addProperty(' TLazTimer' , ' OnStopTimer' , ' TLazNotifyEvent' , @_LapeTimer_OnStopTimer_Read, @_LapeTimer_OnStopTimer_Write);
351
404
352
405
addClass(' TLazImage' , ' TLazGraphicControl' , TImage);
353
- addClassConstructor(' TLazImage' , ' (AOwner : TLazComponent)' , @_LapeImage_Create);
406
+ addClassConstructor(' TLazImage' , ' (Owner : TLazComponent)' , @_LapeImage_Create);
354
407
addGlobalFunc(' function TLazImage.DestRect: TLazRect;' , @_LapeImage_DestRect);
355
408
addProperty(' TLazImage' , ' Center' , ' Boolean' , @_LapeImage_Center_Read, @_LapeImage_Center_Write);
356
409
addProperty(' TLazImage' , ' Picture' , ' TLazPicture' , @_LapeImage_Picture_Read, @_LapeImage_Picture_Write);
@@ -370,10 +423,10 @@ procedure ImportLCLExtCtrls(Script: TSimbaScript);
370
423
addProperty(' TLazCustomPanel' , ' BevelInner' , ' ELazPanelBevel' , @_LapeCustomPanel_BevelInner_Read, @_LapeCustomPanel_BevelInner_Write);
371
424
addProperty(' TLazCustomPanel' , ' BevelOuter' , ' ELazPanelBevel' , @_LapeCustomPanel_BevelOuter_Read, @_LapeCustomPanel_BevelOuter_Write);
372
425
addProperty(' TLazCustomPanel' , ' BevelWidth' , ' Integer' , @_LapeCustomPanel_BevelWidth_Read, @_LapeCustomPanel_BevelWidth_Write);
373
- addClassConstructor(' TLazCustomPanel' , ' (TheOwner : TLazComponent)' , @_LapeCustomPanel_Create);
426
+ addClassConstructor(' TLazCustomPanel' , ' (Owner : TLazComponent)' , @_LapeCustomPanel_Create);
374
427
375
428
addClass(' TLazPanel' , ' TLazCustomPanel' , TPanel);
376
- addClassConstructor(' TLazPanel' , ' (TheOwner : TLazComponent)' , @_LapePanel_Create);
429
+ addClassConstructor(' TLazPanel' , ' (Owner : TLazComponent)' , @_LapePanel_Create);
377
430
378
431
addProperty(' TLazPanel' , ' WordWrap' , ' Boolean' , @_LapePanel_WordWrap_Read, @_LapePanel_WordWrap_Write);
379
432
addProperty(' TLazPanel' , ' OnMouseDown' , ' TLazMouseEvent' , @_LapePanel_OnMouseDown_Read, @_LapePanel_OnMouseDown_Write);
@@ -382,8 +435,12 @@ procedure ImportLCLExtCtrls(Script: TSimbaScript);
382
435
addProperty(' TLazPanel' , ' OnMouseLeave' , ' TLazNotifyEvent' , @_LapePanel_OnMouseLeave_Read, @_LapePanel_OnMouseLeave_Write);
383
436
addProperty(' TLazPanel' , ' OnMouseMove' , ' TLazMouseMoveEvent' , @_LapePanel_OnMouseMove_Read, @_LapePanel_OnMouseMove_Write);
384
437
addProperty(' TLazPanel' , ' OnDblClick' , ' TLazNotifyEvent' , @_LapePanel_OnDblClick_Read, @_LapePanel_OnDblClick_Write);
438
+
439
+ addClass(' TLazDragablePanel' , ' TLazPanel' , TDragablePanel);
440
+ addClassConstructor(' TLazDragablePanel' , ' (Owner: TLazComponent)' , @_LapeDragablePanel_Create);
385
441
end ;
386
442
end ;
387
443
444
+
388
445
end .
389
446
0 commit comments