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