mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 14:29:36 +02:00
qt: redirect Qt What's This events to LCL Application
git-svn-id: trunk@20826 -
This commit is contained in:
parent
9afd4bf495
commit
fa55843c1f
@ -154,6 +154,7 @@ type
|
|||||||
procedure SlotPaint(Sender: QObjectH; Event: QEventH); cdecl;
|
procedure SlotPaint(Sender: QObjectH; Event: QEventH); cdecl;
|
||||||
procedure SlotResize(Event: QEventH); cdecl;
|
procedure SlotResize(Event: QEventH); cdecl;
|
||||||
procedure SlotContextMenu(Sender: QObjectH; Event: QEventH); cdecl;
|
procedure SlotContextMenu(Sender: QObjectH; Event: QEventH); cdecl;
|
||||||
|
procedure SlotWhatsThis(Sender: QObjectH; Event: QEventH); cdecl;
|
||||||
procedure SlotLCLMessage(Sender: QObjectH; Event: QEventH); cdecl;
|
procedure SlotLCLMessage(Sender: QObjectH; Event: QEventH); cdecl;
|
||||||
public
|
public
|
||||||
procedure Activate;
|
procedure Activate;
|
||||||
@ -1718,6 +1719,20 @@ begin
|
|||||||
QEventNonClientAreaMouseButtonPress: result:='QEventNonClientAreaMouseButtonPress';
|
QEventNonClientAreaMouseButtonPress: result:='QEventNonClientAreaMouseButtonPress';
|
||||||
QEventNonClientAreaMouseButtonRelease: result:='QEventNonClientAreaMouseButtonRelease';
|
QEventNonClientAreaMouseButtonRelease: result:='QEventNonClientAreaMouseButtonRelease';
|
||||||
QEventNonClientAreaMouseButtonDblClick: result:='QEventNonClientAreaMouseButtonDblClick';
|
QEventNonClientAreaMouseButtonDblClick: result:='QEventNonClientAreaMouseButtonDblClick';
|
||||||
|
QEventMacSizeChange: result := 'QEventMacSizeChange';
|
||||||
|
QEventContentsRectChange: result := 'QEventContentsRectChange';
|
||||||
|
QEventMacGLWindowChange: result := 'QEventMacGLWindowChange';
|
||||||
|
QEventFutureCallOut: result := 'QEventFutureCallOut';
|
||||||
|
QEventGraphicsSceneResize: result := 'QEventGraphicsSceneResize';
|
||||||
|
QEventGraphicsSceneMove: result := 'QEventGraphicsSceneMove';
|
||||||
|
QEventCursorChange: result := 'QEventCursorChange';
|
||||||
|
QEventToolTipChange: result := 'QEventToolTipChange';
|
||||||
|
QEventNetworkReplyUpdated: result := 'QEventNetworkReplyUpdated';
|
||||||
|
QEventGrabMouse: result := 'QEventGrabMouse';
|
||||||
|
QEventUngrabMouse: result := 'QEventUngrabMouse';
|
||||||
|
QEventGrabKeyboard: result := 'QEventGrabKeyboard';
|
||||||
|
QEventUngrabKeyboard: result := 'QEventUngrabKeyboard';
|
||||||
|
QEventCocoaRequestModal: result := 'QEventCocoaRequestModal';
|
||||||
QEventUser: result:='QEventUser';
|
QEventUser: result:='QEventUser';
|
||||||
QEventMaxUser: result:='QEventMaxUser';
|
QEventMaxUser: result:='QEventMaxUser';
|
||||||
else
|
else
|
||||||
@ -1814,7 +1829,7 @@ begin
|
|||||||
QEventPaint:
|
QEventPaint:
|
||||||
begin
|
begin
|
||||||
if canPaintBackground then
|
if canPaintBackground then
|
||||||
slotPaintBg(Sender, Event);
|
SlotPaintBg(Sender, Event);
|
||||||
if FHasPaint then
|
if FHasPaint then
|
||||||
SlotPaint(Sender, Event);
|
SlotPaint(Sender, Event);
|
||||||
end;
|
end;
|
||||||
@ -1823,6 +1838,13 @@ begin
|
|||||||
begin
|
begin
|
||||||
SlotNCMouse(Sender, Event);
|
SlotNCMouse(Sender, Event);
|
||||||
end;
|
end;
|
||||||
|
QEventQueryWhatsThis: Result := True;
|
||||||
|
QEventWhatsThis:
|
||||||
|
begin
|
||||||
|
SlotWhatsThis(Sender, Event);
|
||||||
|
// TODO: we need to stop event by Result := True; but then we also need
|
||||||
|
// to ask qt to leave Whats This mode. Currently we have no means to do so
|
||||||
|
end;
|
||||||
QEventLCLMessage:
|
QEventLCLMessage:
|
||||||
begin
|
begin
|
||||||
SlotLCLMessage(Sender, Event);
|
SlotLCLMessage(Sender, Event);
|
||||||
@ -2773,6 +2795,20 @@ begin
|
|||||||
DeliverMessage(Msg);
|
DeliverMessage(Msg);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TQtWidget.SlotWhatsThis(Sender: QObjectH; Event: QEventH); cdecl;
|
||||||
|
var
|
||||||
|
Data: THelpInfo;
|
||||||
|
begin
|
||||||
|
Data.cbSize := SizeOf(Data);
|
||||||
|
Data.iContextType := HELPINFO_WINDOW;
|
||||||
|
Data.iCtrlId := 0;
|
||||||
|
Data.hItemHandle := THandle(Sender);
|
||||||
|
Data.dwContextId := 0;
|
||||||
|
with QHelpEvent_globalPos(QHelpEventH(Event))^ do
|
||||||
|
Data.MousePos := Point(X, Y);
|
||||||
|
Application.HelpCommand(0, PtrInt(@Data));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TQtWidget.SlotLCLMessage(Sender: QObjectH; Event: QEventH); cdecl;
|
procedure TQtWidget.SlotLCLMessage(Sender: QObjectH; Event: QEventH); cdecl;
|
||||||
var
|
var
|
||||||
MessageEvent: QLCLMessageEventH absolute Event;
|
MessageEvent: QLCLMessageEventH absolute Event;
|
||||||
|
Loading…
Reference in New Issue
Block a user