mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-26 02:59:41 +02:00
fixed statusbar updating all panels
git-svn-id: trunk@5057 -
This commit is contained in:
parent
fc8d6acbae
commit
44c4de4ced
@ -38,9 +38,8 @@ begin
|
||||
FBevelInner := bvNone;
|
||||
FBevelWidth := 1;
|
||||
FAlignment := taCenter;
|
||||
Color:=clBtnface;
|
||||
Color:=clBtnface;// clBackground;
|
||||
SetInitialBounds(0,0,170,50);
|
||||
// Color := clBackground;
|
||||
ParentColor := True;
|
||||
end;
|
||||
|
||||
|
@ -127,7 +127,7 @@ begin
|
||||
end;
|
||||
|
||||
//writeln('TStatusBar.UpdateHandleObject A FHandlePanelCount=',FHandlePanelCount,' PanelIndex=',PanelIndex,' Panels.Count=',Panels.Count,' ',SimplePanel);
|
||||
if FHandlePanelCount>PanelIndex then begin
|
||||
if (FHandlePanelCount>PanelIndex) and (PanelIndex>=0) then begin
|
||||
// update one panel
|
||||
StatusBarPanelUpdate(Self,PanelIndex);
|
||||
end else begin
|
||||
@ -175,7 +175,7 @@ end;
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TStatusBar.InvalidatePanel(PanelIndex: integer;
|
||||
PanelParts: TPanelParts);
|
||||
{$IFDEF OldtatusBar}
|
||||
{$IFDEF OldStatusBar}
|
||||
var
|
||||
PanelRect, TextRect: TRect;
|
||||
{$ENDIF}
|
||||
|
@ -29,7 +29,7 @@ begin
|
||||
else
|
||||
PaintMsg:=TLMPaint(TheMessage);
|
||||
Result := DeliverMessage(Target,PaintMsg) = 0;
|
||||
ReleaseDC(0,PaintMsg.DC);
|
||||
FinalizePaintMessage(@PaintMsg);
|
||||
end;
|
||||
|
||||
{-------------------------------------------------------------------------------
|
||||
@ -77,7 +77,7 @@ begin
|
||||
{$IFDEF DirectPaintMsg}
|
||||
PaintMsg:= GtkPaintMessageToPaintMessage(Msg,true);
|
||||
Result := DeliverMessage(Target,PaintMsg) = 0;
|
||||
ReleaseDC(0,PaintMsg.DC);
|
||||
FinalizePaintMessage(@PaintMsg);
|
||||
{$ELSE}
|
||||
Result:=DeliverPostMessage(Target,Msg);
|
||||
{$ENDIF}
|
||||
@ -429,7 +429,7 @@ begin
|
||||
end else begin
|
||||
{$IFDEF VerboseDesignerDraw}
|
||||
writeln('gtkDrawAfter',
|
||||
' Widget=',HexStr(Cardinal(Widget),8),
|
||||
' Widget=',HexStr(Cardinal(Widget),8),'=',GetWidgetClassName(Widget),
|
||||
' ',TComponent(Data).Name,
|
||||
' ',area^.x,',',area^.y,',',area^.width,',',area^.height,
|
||||
'');
|
||||
@ -459,7 +459,7 @@ begin
|
||||
end else begin
|
||||
{$IFDEF VerboseDesignerDraw}
|
||||
writeln('gtkExposeAfter',
|
||||
' Widget=',HexStr(Cardinal(Widget),8),
|
||||
' Widget=',HexStr(Cardinal(Widget),8),'=',GetWidgetClassName(Widget),
|
||||
' ',TComponent(Data).Name,
|
||||
' ',Event^.area.x,',',Event^.area.y,',',Event^.area.width,',',Event^.area.height,
|
||||
'');
|
||||
@ -3227,6 +3227,9 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.212 2004/01/13 10:41:40 mattias
|
||||
fixed statusbar updating all panels
|
||||
|
||||
Revision 1.211 2004/01/09 20:03:13 mattias
|
||||
implemented new statusbar methods in gtk intf
|
||||
|
||||
|
@ -127,6 +127,7 @@ var
|
||||
Widget: PGtkWidget;
|
||||
TargetObject: TObject;
|
||||
IsDoubleBuffered: Boolean;
|
||||
PaintWidget: Pointer;
|
||||
{$ENDIF}
|
||||
begin
|
||||
{$IFDEF Gtk1}
|
||||
@ -134,6 +135,17 @@ begin
|
||||
TargetObject:=GetParentLCLObject(Widget);
|
||||
IsDoubleBuffered:=(TargetObject is TWinControl)
|
||||
and TWinControl(TargetObject).DoubleBuffered;
|
||||
// check if Handle is the paint widget of the LCL component
|
||||
if IsDoubleBuffered then begin
|
||||
PaintWidget:=GetFixedWidget(PGtkWidget(TWinControl(TargetObject).Handle));
|
||||
IsDoubleBuffered:=(PaintWidget=Widget);
|
||||
//if not IsDoubleBuffered then begin
|
||||
// writeln('TgtkObject.BeginPaint Not the paint widget: ',
|
||||
// TWinControl(TargetObject).Name,':',TWinControl(TargetObject).ClassName,
|
||||
// ' PaintWidget=',GetWidgetClassName(PaintWidget),
|
||||
// ' Widget=',GetWidgetClassName(Widget));
|
||||
//end;
|
||||
end;
|
||||
{$IFNDEF UseGTKDoubleBuf}
|
||||
IsDoubleBuffered:=false;
|
||||
{$ENDIF}
|
||||
@ -9202,6 +9214,9 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.316 2004/01/13 10:41:40 mattias
|
||||
fixed statusbar updating all panels
|
||||
|
||||
Revision 1.315 2004/01/12 23:56:10 mattias
|
||||
improved double buffering, only one issue left: parent gdkwindow paint messages
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user