(Qt): prevent sending to LCL non system move events (side effect: splitters have right position in IDE now)

git-svn-id: trunk@11707 -
This commit is contained in:
paul 2007-08-01 16:11:49 +00:00
parent 6872289be3
commit 1fe1b51b4a
2 changed files with 19 additions and 4 deletions

View File

@ -111,6 +111,8 @@ type
function getClientBounds: TRect; virtual;
procedure grabMouse;
function hasFocus: Boolean;
procedure move(ANewLeft, ANewTop: Integer);
procedure resize(ANewWidth, ANewHeight: Integer);
procedure releaseMouse;
procedure setColor(const Value: PQColor); virtual;
procedure setCursor(const ACursor: QCursorH); virtual;
@ -1543,6 +1545,9 @@ begin
WriteLn('TQtWidget.SlotMove');
{$endif}
if not QEvent_spontaneous(Event) then
Exit;
FillChar(Msg, SizeOf(Msg), #0);
Msg.Msg := LM_MOVE;
@ -1815,6 +1820,16 @@ begin
Result := QWidget_hasFocus(Widget);
end;
procedure TQtWidget.move(ANewLeft, ANewTop: Integer);
begin
QWidget_move(Widget, ANewLeft, ANewTop);
end;
procedure TQtWidget.resize(ANewWidth, ANewHeight: Integer);
begin
QWidget_resize(Widget, ANewWidth, ANewHeight);
end;
procedure TQtWidget.releaseMouse;
var
AGrabWidget: QWidgetH;

View File

@ -376,8 +376,8 @@ end;
class procedure TQtWSWinControl.SetBounds(const AWinControl: TWinControl;
const ALeft, ATop, AWidth, AHeight: Integer);
begin
QWidget_move(TQtWidget(AWinControl.Handle).Widget, ALeft, ATop);
QWidget_resize(TQtWidget(AWinControl.Handle).Widget, AWidth, AHeight);
TQtWidget(AWinControl.Handle).move(ALeft, ATop);
TQtWidget(AWinControl.Handle).resize(AWidth, AHeight);
end;
{------------------------------------------------------------------------------
@ -391,7 +391,7 @@ end;
class procedure TQtWSWinControl.SetPos(const AWinControl: TWinControl;
const ALeft, ATop: Integer);
begin
QWidget_move(TQtWidget(AWinControl.Handle).Widget, ALeft, ATop);
TQtWidget(AWinControl.Handle).move(ALeft, ATop);
end;
{------------------------------------------------------------------------------
@ -405,7 +405,7 @@ end;
class procedure TQtWSWinControl.SetSize(const AWinControl: TWinControl;
const AWidth, AHeight: Integer);
begin
QWidget_resize(TQtWidget(AWinControl.Handle).Widget, AWidth, AHeight);
TQtWidget(AWinControl.Handle).resize(AWidth, AHeight);
end;
{------------------------------------------------------------------------------