qt: redirect Qt What's This events to LCL Application

git-svn-id: trunk@20826 -
This commit is contained in:
paul 2009-07-11 08:34:13 +00:00
parent 9afd4bf495
commit fa55843c1f

View File

@ -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;