mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 13:17:18 +02:00
gtk: cleanup, formatting
git-svn-id: trunk@20098 -
This commit is contained in:
parent
69156f088b
commit
a3283dde56
@ -1678,39 +1678,31 @@ var
|
|||||||
begin
|
begin
|
||||||
MessI.Msg := MsgUp;
|
MessI.Msg := MsgUp;
|
||||||
LastMouse.Down := False;
|
LastMouse.Down := False;
|
||||||
Result:=true;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Result:=false;
|
Result := False;
|
||||||
if (Widget=nil) then ;
|
MappedXY := TranslateGdkPointToClientArea(Event^.Window,
|
||||||
MappedXY:=TranslateGdkPointToClientArea(Event^.Window,
|
Point(TruncToInt(Event^.X), TruncToInt(Event^.Y)),
|
||||||
Point(TruncToInt(Event^.X),TruncToInt(Event^.Y)),
|
|
||||||
PGtkWidget(AWinControl.Handle));
|
PGtkWidget(AWinControl.Handle));
|
||||||
//DebugLn(['DeliverMouseUpMessage ',GetWidgetDebugReport(Widget),' ',dbgsName(AWinControl),' ',dbgs(MappedXY)]);
|
//DebugLn(['DeliverMouseUpMessage ',GetWidgetDebugReport(Widget),' ',dbgsName(AWinControl),' ',dbgs(MappedXY)]);
|
||||||
|
|
||||||
case event^.Button of
|
case event^.Button of
|
||||||
|
1: if not CheckMouseButtonUp(LastLeft, LM_LBUTTONUP) then Exit;
|
||||||
1: if not CheckMouseButtonUp(LastLeft, LM_LBUTTONUP)
|
2: if not CheckMouseButtonUp(LastMiddle, LM_MBUTTONUP) then Exit;
|
||||||
then exit;
|
3: if not CheckMouseButtonUp(LastRight, LM_RBUTTONUP) then exit;
|
||||||
|
|
||||||
2: if not CheckMouseButtonUp(LastMiddle, LM_MBUTTONUP)
|
|
||||||
then exit;
|
|
||||||
|
|
||||||
3: if not CheckMouseButtonUp(LastRight, LM_RBUTTONUP)
|
|
||||||
then exit;
|
|
||||||
|
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
MessI.Msg := LM_NULL;
|
MessI.Msg := LM_NULL;
|
||||||
exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
end; // case
|
end; // case
|
||||||
|
|
||||||
MessI.XPos := MappedXY.X;
|
MessI.XPos := MappedXY.X;
|
||||||
MessI.YPos := MappedXY.Y;
|
MessI.YPos := MappedXY.Y;
|
||||||
|
|
||||||
ShiftState := gtkeventstateToshiftstate(Event^.State);
|
ShiftState := GTKEventStateToShiftState(Event^.State);
|
||||||
MessI.Keys := 0;
|
MessI.Keys := 0;
|
||||||
if ssShift in ShiftState then MessI.Keys := MessI.Keys or MK_SHIFT;
|
if ssShift in ShiftState then MessI.Keys := MessI.Keys or MK_SHIFT;
|
||||||
if ssCtrl in ShiftState then MessI.Keys := MessI.Keys or MK_CONTROL;
|
if ssCtrl in ShiftState then MessI.Keys := MessI.Keys or MK_CONTROL;
|
||||||
@ -1718,18 +1710,20 @@ begin
|
|||||||
if ssRight in ShiftState then MessI.Keys := MessI.Keys or MK_RBUTTON;
|
if ssRight in ShiftState then MessI.Keys := MessI.Keys or MK_RBUTTON;
|
||||||
if ssMiddle in ShiftState then MessI.Keys := MessI.Keys or MK_MBUTTON;
|
if ssMiddle in ShiftState then MessI.Keys := MessI.Keys or MK_MBUTTON;
|
||||||
|
|
||||||
if MessI.Msg <> LM_NULL then begin
|
if MessI.Msg <> LM_NULL then
|
||||||
|
begin
|
||||||
// send the message directly to the LCL
|
// send the message directly to the LCL
|
||||||
// (Posting the message via queue
|
// (Posting the message via queue
|
||||||
// has the risk of getting out of sync with the gtk)
|
// has the risk of getting out of sync with the gtk)
|
||||||
MessI.Result := 0;
|
MessI.Result := 0;
|
||||||
NotifyApplicationUserInput(MessI.Msg);
|
NotifyApplicationUserInput(MessI.Msg);
|
||||||
DeliverMessage(AWinControl, MessI);
|
DeliverMessage(AWinControl, MessI);
|
||||||
if MessI.Result<>0 then begin
|
if MessI.Result <> 0 then
|
||||||
|
begin
|
||||||
// handled by the LCL
|
// handled by the LCL
|
||||||
//DebugLn(['DeliverMouseUpMessage msg was handled by the LCL, Stopping signal ...']);
|
//DebugLn(['DeliverMouseUpMessage msg was handled by the LCL, Stopping signal ...']);
|
||||||
g_signal_stop_emission_by_name(PGTKObject(Widget),'button-release-event');
|
g_signal_stop_emission_by_name(PGTKObject(Widget), 'button-release-event');
|
||||||
Result:=true;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1747,7 +1741,7 @@ var
|
|||||||
DesignOnlySignal: boolean;
|
DesignOnlySignal: boolean;
|
||||||
begin
|
begin
|
||||||
Result := CallBackDefaultReturn;
|
Result := CallBackDefaultReturn;
|
||||||
MousePositionValid:=false;
|
MousePositionValid := False;
|
||||||
|
|
||||||
{$IFDEF VerboseMouseBugfix}
|
{$IFDEF VerboseMouseBugfix}
|
||||||
DesignOnlySignal:=GetDesignOnlySignalFlag(Widget,dstMouseRelease);
|
DesignOnlySignal:=GetDesignOnlySignalFlag(Widget,dstMouseRelease);
|
||||||
@ -1765,25 +1759,24 @@ begin
|
|||||||
ResetDefaultIMContext;
|
ResetDefaultIMContext;
|
||||||
UpdateMouseCaptureControl;
|
UpdateMouseCaptureControl;
|
||||||
|
|
||||||
if not (csDesigning in TComponent(Data).ComponentState) then begin
|
if not (csDesigning in TComponent(Data).ComponentState) then
|
||||||
DesignOnlySignal:=GetDesignOnlySignalFlag(Widget,dstMouseRelease);
|
begin
|
||||||
|
DesignOnlySignal := GetDesignOnlySignalFlag(Widget, dstMouseRelease);
|
||||||
ReleaseMouseCapture;
|
ReleaseMouseCapture;
|
||||||
if DesignOnlySignal or (not ControlGetsMouseUpBefore(TControl(Data))) then
|
if DesignOnlySignal or (not ControlGetsMouseUpBefore(TControl(Data))) then
|
||||||
begin
|
Exit;
|
||||||
exit;
|
end else
|
||||||
end;
|
begin
|
||||||
end else begin
|
|
||||||
// stop the signal, so that the widget does not auto react
|
// stop the signal, so that the widget does not auto react
|
||||||
if (not (TControl(Data) is TCustomNoteBook))
|
if (not (TControl(Data) is TCustomNoteBook)) and
|
||||||
and (not (TControl(Data) is TCustomTabControl))
|
(not (TControl(Data) is TCustomTabControl))
|
||||||
then begin
|
then begin
|
||||||
g_signal_stop_emission_by_name(PGTKObject(Widget),'button-release-event');
|
g_signal_stop_emission_by_name(PGTKObject(Widget), 'button-release-event');
|
||||||
Result := not CallBackDefaultReturn;
|
Result := not CallBackDefaultReturn;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if DeliverMouseUpMessage(Widget,Event,TWinControl(Data)) then
|
if DeliverMouseUpMessage(Widget, Event, TWinControl(Data)) then
|
||||||
Result := not CallBackDefaultReturn;
|
Result := not CallBackDefaultReturn;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -3566,30 +3566,13 @@ end;
|
|||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
function DeliverMessage(const Target: Pointer; var AMessage): PtrInt;
|
function DeliverMessage(const Target: Pointer; var AMessage): PtrInt;
|
||||||
begin
|
begin
|
||||||
if Target=nil then DebugLn('[DeliverMessage] Target = nil');
|
if (TLMessage(AMessage).Msg = LM_PAINT) or
|
||||||
{$IFDEF VerboseDeliverMessage}
|
(TLMessage(AMessage).Msg = LM_GTKPAINT) then
|
||||||
if (TLMessage(AMessage).Msg <>LM_MOUSEMOVE)
|
CurrentSentPaintMessageTarget := TObject(Target);
|
||||||
and (TLMessage(AMessage).Msg <>LM_PAINT)
|
|
||||||
and (TLMessage(AMessage).Msg <>LM_KEYDOWN)
|
|
||||||
and (TLMessage(AMessage).Msg <>LM_KEYUP)
|
|
||||||
and (TLMessage(AMessage).Msg <CN_KEYDOWN ) then
|
|
||||||
DebugLn('DeliverMessage ',DbgS(Target),
|
|
||||||
' ',TComponent(Target).Name,':',TObject(Target).ClassName,
|
|
||||||
' Message=',GetMessageName(TLMessage(AMessage).Msg));
|
|
||||||
{$ENDIF}
|
|
||||||
if (TLMessage(AMessage).Msg=LM_PAINT)
|
|
||||||
or (TLMessage(AMessage).Msg=LM_GTKPAINT) then
|
|
||||||
CurrentSentPaintMessageTarget:=TObject(Target);
|
|
||||||
try
|
|
||||||
if TObject(Target) is TControl
|
|
||||||
then TControl(Target).WindowProc(TLMessage(AMessage))
|
|
||||||
else TObject(Target).Dispatch(TLMessage(AMessage));
|
|
||||||
except
|
|
||||||
Application.HandleException(nil);
|
|
||||||
end;
|
|
||||||
|
|
||||||
Result := TLMessage(AMessage).Result;
|
Result := LCLMessageGlue.DeliverMessage(TObject(Target), AMessage);
|
||||||
CurrentSentPaintMessageTarget:=nil;
|
|
||||||
|
CurrentSentPaintMessageTarget := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
|
@ -53,11 +53,10 @@ uses
|
|||||||
glib, gdk, gtk, gdkpixbuf,
|
glib, gdk, gtk, gdkpixbuf,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Math, // Math after gtk to get the correct Float type
|
Math, // Math after gtk to get the correct Float type
|
||||||
LMessages, LCLProc, LCLStrConsts, LCLIntf, LCLType, DynHashArray, Maps, Masks,
|
LMessages, LCLMessageGlue, LCLProc, LCLStrConsts, LCLIntf, LCLType,
|
||||||
GraphType, GraphMath, Graphics, LResources, Controls, Forms,
|
DynHashArray, Masks, GraphType, GraphMath, Graphics, Controls,
|
||||||
Buttons, Menus, StdCtrls, ComCtrls, ExtCtrls, Dialogs, ExtDlgs,
|
Forms, Menus, StdCtrls, ComCtrls, ExtCtrls, Dialogs, ExtDlgs,
|
||||||
FileUtil, ImgList, GtkFontCache, GTKGlobals, gtkDef, GtkExtra, GtkDebug;
|
FileUtil, ImgList, GtkFontCache, GTKGlobals, GtkDef, GtkExtra, GtkDebug;
|
||||||
|
|
||||||
|
|
||||||
const
|
const
|
||||||
GtkListItemGtkListTag = 'GtkList';
|
GtkListItemGtkListTag = 'GtkList';
|
||||||
|
Loading…
Reference in New Issue
Block a user