mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 01:39:25 +02:00
implemented updating on changing BorderSpacing.InnerBorder
git-svn-id: trunk@8637 -
This commit is contained in:
parent
3c3ac6365a
commit
9789a6b124
@ -581,7 +581,7 @@ type
|
|||||||
procedure SetSpace(Kind: TAnchorKind; const AValue: integer);
|
procedure SetSpace(Kind: TAnchorKind; const AValue: integer);
|
||||||
procedure SetTop(const AValue: TSpacingSize);
|
procedure SetTop(const AValue: TSpacingSize);
|
||||||
protected
|
protected
|
||||||
procedure Change; dynamic;
|
procedure Change(InnerSpaceChanged: Boolean); dynamic;
|
||||||
public
|
public
|
||||||
constructor Create(OwnerControl: TControl);
|
constructor Create(OwnerControl: TControl);
|
||||||
procedure Assign(Source: TPersistent); override;
|
procedure Assign(Source: TPersistent); override;
|
||||||
@ -900,7 +900,8 @@ type
|
|||||||
procedure SetAutoSize(const Value: Boolean); virtual;
|
procedure SetAutoSize(const Value: Boolean); virtual;
|
||||||
procedure BoundsChanged; dynamic;
|
procedure BoundsChanged; dynamic;
|
||||||
procedure DoConstraintsChange(Sender: TObject); virtual;
|
procedure DoConstraintsChange(Sender: TObject); virtual;
|
||||||
procedure DoBorderSpacingChange(Sender: TObject); virtual;
|
procedure DoBorderSpacingChange(Sender: TObject;
|
||||||
|
InnerSpaceChanged: Boolean); virtual;
|
||||||
procedure SendMoveSizeMessages(SizeChanged, PosChanged: boolean); virtual;
|
procedure SendMoveSizeMessages(SizeChanged, PosChanged: boolean); virtual;
|
||||||
procedure ConstrainedResize(var MinWidth, MinHeight,
|
procedure ConstrainedResize(var MinWidth, MinHeight,
|
||||||
MaxWidth, MaxHeight: TConstraintSize); virtual;
|
MaxWidth, MaxHeight: TConstraintSize); virtual;
|
||||||
@ -2512,14 +2513,14 @@ procedure TControlBorderSpacing.SetAround(const AValue: TSpacingSize);
|
|||||||
begin
|
begin
|
||||||
if FAround=AValue then exit;
|
if FAround=AValue then exit;
|
||||||
FAround:=AValue;
|
FAround:=AValue;
|
||||||
Change;
|
Change(false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControlBorderSpacing.SetBottom(const AValue: TSpacingSize);
|
procedure TControlBorderSpacing.SetBottom(const AValue: TSpacingSize);
|
||||||
begin
|
begin
|
||||||
if FBottom=AValue then exit;
|
if FBottom=AValue then exit;
|
||||||
FBottom:=AValue;
|
FBottom:=AValue;
|
||||||
Change;
|
Change(false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControlBorderSpacing.SetCellAlignHorizontal(
|
procedure TControlBorderSpacing.SetCellAlignHorizontal(
|
||||||
@ -2527,7 +2528,7 @@ procedure TControlBorderSpacing.SetCellAlignHorizontal(
|
|||||||
begin
|
begin
|
||||||
if FCellAlignHorizontal=AValue then exit;
|
if FCellAlignHorizontal=AValue then exit;
|
||||||
FCellAlignHorizontal:=AValue;
|
FCellAlignHorizontal:=AValue;
|
||||||
Change;
|
Change(false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControlBorderSpacing.SetCellAlignVertical(
|
procedure TControlBorderSpacing.SetCellAlignVertical(
|
||||||
@ -2535,28 +2536,29 @@ procedure TControlBorderSpacing.SetCellAlignVertical(
|
|||||||
begin
|
begin
|
||||||
if FCellAlignVertical=AValue then exit;
|
if FCellAlignVertical=AValue then exit;
|
||||||
FCellAlignVertical:=AValue;
|
FCellAlignVertical:=AValue;
|
||||||
Change;
|
Change(false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControlBorderSpacing.SetInnerBorder(const AValue: Integer);
|
procedure TControlBorderSpacing.SetInnerBorder(const AValue: Integer);
|
||||||
begin
|
begin
|
||||||
if FInnerBorder=AValue then exit;
|
if FInnerBorder=AValue then exit;
|
||||||
FInnerBorder:=AValue;
|
FInnerBorder:=AValue;
|
||||||
Change;
|
if Control<>nil then Control.InvalidatePreferredSize;
|
||||||
|
Change(true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControlBorderSpacing.SetLeft(const AValue: TSpacingSize);
|
procedure TControlBorderSpacing.SetLeft(const AValue: TSpacingSize);
|
||||||
begin
|
begin
|
||||||
if FLeft=AValue then exit;
|
if FLeft=AValue then exit;
|
||||||
FLeft:=AValue;
|
FLeft:=AValue;
|
||||||
Change;
|
Change(false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControlBorderSpacing.SetRight(const AValue: TSpacingSize);
|
procedure TControlBorderSpacing.SetRight(const AValue: TSpacingSize);
|
||||||
begin
|
begin
|
||||||
if FRight=AValue then exit;
|
if FRight=AValue then exit;
|
||||||
FRight:=AValue;
|
FRight:=AValue;
|
||||||
Change;
|
Change(false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControlBorderSpacing.SetSpace(Kind: TAnchorKind;
|
procedure TControlBorderSpacing.SetSpace(Kind: TAnchorKind;
|
||||||
@ -2574,7 +2576,7 @@ procedure TControlBorderSpacing.SetTop(const AValue: TSpacingSize);
|
|||||||
begin
|
begin
|
||||||
if FTop=AValue then exit;
|
if FTop=AValue then exit;
|
||||||
FTop:=AValue;
|
FTop:=AValue;
|
||||||
Change;
|
Change(false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TControlBorderSpacing.Create(OwnerControl: TControl);
|
constructor TControlBorderSpacing.Create(OwnerControl: TControl);
|
||||||
@ -2596,8 +2598,11 @@ begin
|
|||||||
FLeft:=SrcSpacing.Left;
|
FLeft:=SrcSpacing.Left;
|
||||||
FRight:=SrcSpacing.Right;
|
FRight:=SrcSpacing.Right;
|
||||||
FTop:=SrcSpacing.Top;
|
FTop:=SrcSpacing.Top;
|
||||||
|
FInnerBorder:=SrcSpacing.InnerBorder;
|
||||||
Change;
|
FCellAlignHorizontal:=SrcSpacing.CellAlignHorizontal;
|
||||||
|
FCellAlignVertical:=SrcSpacing.CellAlignVertical;
|
||||||
|
|
||||||
|
Change(false);
|
||||||
end else
|
end else
|
||||||
inherited Assign(Source);
|
inherited Assign(Source);
|
||||||
end;
|
end;
|
||||||
@ -2640,9 +2645,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControlBorderSpacing.Change;
|
procedure TControlBorderSpacing.Change(InnerSpaceChanged: Boolean);
|
||||||
begin
|
begin
|
||||||
FControl.DoBorderSpacingChange(Self);
|
FControl.DoBorderSpacingChange(Self,InnerSpaceChanged);
|
||||||
if Assigned(OnChange) then OnChange(Self);
|
if Assigned(OnChange) then OnChange(Self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -957,9 +957,13 @@ begin
|
|||||||
AdjustSize;
|
AdjustSize;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TControl.DoBorderSpacingChange(Sender: TObject);
|
procedure TControl.DoBorderSpacingChange(Sender: TObject;
|
||||||
|
InnerSpaceChanged: Boolean);
|
||||||
begin
|
begin
|
||||||
RequestAlign;
|
if InnerSpaceChanged then
|
||||||
|
AdjustSize
|
||||||
|
else
|
||||||
|
RequestAlign;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user