implemented showing source lines in breakpoints dialog

git-svn-id: trunk@2531 -
This commit is contained in:
mattias 2002-08-17 23:41:27 +00:00
parent 0ff2798fe9
commit 032bc21728
2 changed files with 26 additions and 7 deletions

View File

@ -1167,6 +1167,9 @@ begin
' ',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);
if TObject(Target) is TControl then
begin
TControl(Target).WindowProc(TLMessage(AMessage));
@ -1177,6 +1180,7 @@ begin
end;
Result := TLMessage(AMessage).Result;
CurrentSentPaintMessageTarget:=nil;
end;
{------------------------------------------------------------------------------
@ -4087,6 +4091,9 @@ end;
{ =============================================================================
$Log$
Revision 1.177 2003/06/03 08:02:33 mattias
implemented showing source lines in breakpoints dialog
Revision 1.176 2003/05/27 17:58:31 mattias
fixed range checks

View File

@ -5082,35 +5082,44 @@ function TGTKObject.InvalidateRect(aHandle : HWND; Rect : pRect;
bErase : Boolean) : Boolean;
var
gdkRect : TGDKRectangle;
Widget: PGtkWidget;
Widget, PaintWidget: PGtkWidget;
LCLObject: TObject;
{$IfDef Win32}
AWindow: PGdkWindow;
{$EndIf}
begin
// Writeln(format('Rect = %d,%d,%d,%d',[rect^.left,rect^.top,rect^.Right,rect^.Bottom]));
Widget:=PGtkWidget(aHandle);
LCLObject:=GetLCLObject(Widget);
if (LCLObject<>nil) and (LCLObject=CurrentSentPaintMessageTarget) then begin
writeln('NOTE: TGTKObject.InvalidateRect during paint message: ',
LCLObject.ClassName);
//RaiseException('Double paint');
end;
Result := True;
gdkRect.X := Rect^.Left;
gdkRect.Y := Rect^.Top;
gdkRect.Width := (Rect^.Right - Rect^.Left);
gdkRect.Height := (Rect^.Bottom - Rect^.Top);
Widget:=GetFixedWidget(PGtkWidget(aHandle));
if Widget=nil then Widget:=PgtkWidget(aHandle);
PaintWidget:=GetFixedWidget(Widget);
if PaintWidget=nil then PaintWidget:=Widget;
{$IfNDef Win32}
if bErase then
gtk_widget_queue_clear_area(Widget,
gtk_widget_queue_clear_area(PaintWidget,
gdkRect.X,gdkRect.Y,gdkRect.Width,gdkRect.Height);
gtk_widget_queue_draw_area(Widget, gdkRect.X,gdkRect.Y,gdkRect.Width,gdkRect.Height);
gtk_widget_queue_draw_area(PaintWidget,
gdkRect.X,gdkRect.Y,gdkRect.Width,gdkRect.Height);
{$Else}
if bErase then begin
AWindow:=GetControlWindow(Widget);
AWindow:=GetControlWindow(PaintWidget);
if AWindow<>nil then
gdk_window_clear_area(AWindow,
gdkRect.X,gdkRect.Y,gdkRect.Width,gdkRect.Height);
end;
gtk_widget_draw(Widget, @gdkRect);
gtk_widget_draw(PaintWidget, @gdkRect);
{$EndIf}
end;
@ -8084,6 +8093,9 @@ end;
{ =============================================================================
$Log$
Revision 1.239 2003/06/03 08:02:33 mattias
implemented showing source lines in breakpoints dialog
Revision 1.238 2003/05/20 21:41:07 mattias
started loading/saving breakpoints