NiceGrid: Less hints and warnings.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8869 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2023-06-30 15:12:43 +00:00
parent dafa0ba164
commit 792ce273a7
2 changed files with 98 additions and 88 deletions

View File

@ -67,8 +67,8 @@
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\controls.pp"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\controls.pp"/>
<UnitName Value="Controls"/> <UnitName Value="Controls"/>
<EditorIndex Value="5"/> <EditorIndex Value="5"/>
<TopLine Value="234"/> <TopLine Value="2446"/>
<CursorPos X="3" Y="258"/> <CursorPos X="15" Y="2463"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit3> </Unit3>
@ -112,8 +112,8 @@
<UnitName Value="NiceGrid"/> <UnitName Value="NiceGrid"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="3"/> <EditorIndex Value="3"/>
<TopLine Value="534"/> <TopLine Value="307"/>
<CursorPos X="56" Y="558"/> <CursorPos X="52" Y="323"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit8> </Unit8>
@ -161,124 +161,126 @@
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit13> </Unit13>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="28">
<Position1> <Position1>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="1157" Column="24" TopLine="1126"/> <Caret Line="701" Column="11" TopLine="678"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\common\main.pas"/>
<Caret Line="1154" Column="21" TopLine="1154"/> <Caret Line="35" Column="7" TopLine="18"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\nicegridreg.pas"/>
<Caret Line="63" Column="9" TopLine="48"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\nicegridreg.pas"/>
<Caret Line="311" Column="27" TopLine="283"/> <Caret Line="64" Column="14" TopLine="46"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="1145" Column="33" TopLine="1115"/> <Caret Line="519" Column="43" TopLine="501"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="1472" Column="3" TopLine="1447"/> <Caret Line="3711" Column="57" TopLine="3693"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="1447" Column="22" TopLine="1447"/> <Caret Line="3684" Column="36" TopLine="3666"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="264" Column="3" TopLine="264"/> <Caret Line="290" Column="30" TopLine="274"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="1505" Column="21" TopLine="1483"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="289" Column="24" TopLine="261"/> <Caret Line="1306" Column="74" TopLine="1292"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="300" Column="47" TopLine="272"/> <Caret Line="2786" Column="13" TopLine="2745"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="2927" TopLine="2895"/> <Caret Line="2696" Column="30" TopLine="2683"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="..\common\main.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="33" Column="22" TopLine="13"/> <Caret Line="353" Column="15" TopLine="336"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="..\..\..\source\NiceGrid.pas"/> <Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="401" Column="23" TopLine="386"/> <Caret Line="415" Column="13" TopLine="412"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="695" Column="3" TopLine="679"/>
</Position15>
<Position16>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="701" Column="11" TopLine="678"/>
</Position16>
<Position17>
<Filename Value="..\common\main.pas"/>
<Caret Line="35" Column="7" TopLine="18"/>
</Position17>
<Position18>
<Filename Value="..\..\..\source\nicegridreg.pas"/>
<Caret Line="63" Column="9" TopLine="48"/>
</Position18>
<Position19>
<Filename Value="..\..\..\source\nicegridreg.pas"/>
<Caret Line="64" Column="14" TopLine="46"/>
</Position19>
<Position20>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="519" Column="43" TopLine="501"/>
</Position20>
<Position21>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="3711" Column="57" TopLine="3693"/>
</Position21>
<Position22>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="3684" Column="36" TopLine="3666"/>
</Position22>
<Position23>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="290" Column="30" TopLine="274"/>
</Position23>
<Position24>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="1505" Column="21" TopLine="1483"/>
</Position24>
<Position25>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="1306" Column="74" TopLine="1292"/>
</Position25>
<Position26>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="2786" Column="13" TopLine="2745"/>
</Position26>
<Position27>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="2696" Column="30" TopLine="2683"/>
</Position27>
<Position28>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="353" Column="15" TopLine="336"/>
</Position28>
<Position29>
<Filename Value="..\..\..\source\NiceGrid.pas"/>
<Caret Line="415" Column="13" TopLine="412"/>
</Position29>
<Position30>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="642" Column="50" TopLine="625"/> <Caret Line="642" Column="50" TopLine="625"/>
</Position15>
<Position16>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="563" Column="28" TopLine="534"/>
</Position16>
<Position17>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="3708" Column="29" TopLine="3680"/>
</Position17>
<Position18>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="522" Column="35" TopLine="504"/>
</Position18>
<Position19>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="3698" Column="3" TopLine="3680"/>
</Position19>
<Position20>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="3708" Column="58" TopLine="3691"/>
</Position20>
<Position21>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="3681" Column="36" TopLine="3663"/>
</Position21>
<Position22>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="290" Column="30" TopLine="274"/>
</Position22>
<Position23>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="1300" Column="57" TopLine="1283"/>
</Position23>
<Position24>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="1251" Column="57" TopLine="1226"/>
</Position24>
<Position25>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="1232" Column="59" TopLine="1213"/>
</Position25>
<Position26>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="1212" Column="59" TopLine="1194"/>
</Position26>
<Position27>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="1156" Column="16" TopLine="1144"/>
</Position27>
<Position28>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="699" Column="11" TopLine="677"/>
</Position28>
<Position29>
<Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="323" Column="15" TopLine="307"/>
</Position29>
<Position30>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\controls.pp"/>
<Caret Line="2463" Column="15" TopLine="2446"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>

View File

@ -320,7 +320,7 @@ type
procedure SetDefColWidth(Value: Integer); procedure SetDefColWidth(Value: Integer);
procedure SetDefRowHeight(Value: Integer); procedure SetDefRowHeight(Value: Integer);
procedure SetFlat(Value: Boolean); procedure SetFlat(Value: Boolean);
procedure SetColor(Value: TColor); procedure SetColor(Value: TColor); reintroduce;
procedure SetAlternateColor(Value: TColor); procedure SetAlternateColor(Value: TColor);
procedure SetGridColor(Value: TColor); procedure SetGridColor(Value: TColor);
procedure SetShowGrid(Value: Boolean); procedure SetShowGrid(Value: Boolean);
@ -692,7 +692,11 @@ end;
procedure TNiceGrid.SetScrollBar(AKind, AMax, APos, AMask: Integer); procedure TNiceGrid.SetScrollBar(AKind, AMax, APos, AMask: Integer);
var Info: TScrollInfo; var Info: TScrollInfo;
begin begin
{$IFDEF FPC}
Info := Default(TScrollInfo);
{$ELSE}
FillChar(Info, SizeOf(TScrollInfo), 0); FillChar(Info, SizeOf(TScrollInfo), 0);
{$ENDIF}
Info.cbSize := SizeOf(TScrollInfo); Info.cbSize := SizeOf(TScrollInfo);
Info.nMin := 0; Info.nMin := 0;
Info.nMax := AMax; Info.nMax := AMax;
@ -1153,12 +1157,13 @@ var
begin begin
if (FGutterKind = gkNone) if (FGutterKind = gkNone)
then Exit; then Exit;
CopyRect(GutterBox, CellBox); GutterBox := CellBox;
GutterBox.Left := 0; GutterBox.Left := 0;
for x := 0 to FRowCount-1 do for x := 0 to FRowCount-1 do
begin begin
R := Rect(-1, (x * FDefRowHeight) - 1, FGutterWidth, ((x + 1) * FDefRowHeight)); R := Rect(-1, (x * FDefRowHeight) - 1, FGutterWidth, ((x + 1) * FDefRowHeight));
OffsetRect(R, 0, -FVertOffset + FixedHeight); OffsetRect(R, 0, -FVertOffset + FixedHeight);
Dummy := Rect(0, 0, 0, 0); // to silence the compiler
if IntersectRect(Dummy, R, GutterBox) then if IntersectRect(Dummy, R, GutterBox) then
begin begin
case FGutterKind of case FGutterKind of
@ -1209,6 +1214,7 @@ begin
FDefRowHeight * (P^.Rc.Bottom + 1) FDefRowHeight * (P^.Rc.Bottom + 1)
); );
OffsetRect(R, -FHorzOffset + FixedWidth, 0); OffsetRect(R, -FHorzOffset + FixedWidth, 0);
Dummy := Rect(0, 0, 0, 0); // to silence the compiler
if IntersectRect(Dummy, R, ClientRect) if IntersectRect(Dummy, R, ClientRect)
then DrawFixCell(R, P^.Str, FHeaderFont, FOnDrawHeader); then DrawFixCell(R, P^.Str, FHeaderFont, FOnDrawHeader);
end; end;
@ -1229,6 +1235,7 @@ begin
begin begin
R := Rect(GetColCoord(x)-1, FooterTop, GetColCoord(x+1), FooterBottom); R := Rect(GetColCoord(x)-1, FooterTop, GetColCoord(x+1), FooterBottom);
OffsetRect(R, -FHorzOffset + FixedWidth, 0); OffsetRect(R, -FHorzOffset + FixedWidth, 0);
Dummy := Rect(0, 0, 0, 0); // to silence the compiler
if IntersectRect(Dummy, R, ClientRect) if IntersectRect(Dummy, R, ClientRect)
then DrawFixCell(R, FColumns[x].FFooter, FFooterFont, FOnDrawFooter); then DrawFixCell(R, FColumns[x].FFooter, FFooterFont, FOnDrawFooter);
end; end;
@ -1241,14 +1248,14 @@ end;
procedure TNiceGrid.DrawCell(X, Y: Integer); procedure TNiceGrid.DrawCell(X, Y: Integer);
var var
R, Rc, Dummy: TRect; Rc, Dummy: TRect;
Column: TNiceColumn; Column: TNiceColumn;
Handled: Boolean; Handled: Boolean;
begin begin
Handled := False; Handled := False;
Rc := GetCellRect(x, y); Rc := GetCellRect(x, y);
OffsetRect(Rc, -FHorzOffset + FixedWidth, -FVertOffset + FixedHeight); OffsetRect(Rc, -FHorzOffset + FixedWidth, -FVertOffset + FixedHeight);
R := Rc; Dummy := Rect(0, 0, 0, 0); // to silence the compiler
if IntersectRect(Dummy, Rc, CellBox) then if IntersectRect(Dummy, Rc, CellBox) then
begin begin
Column := FColumns[x]; Column := FColumns[x];
@ -1297,6 +1304,7 @@ begin
Result := Point(-1, -1); Result := Point(-1, -1);
R := GetCellRect(x, y); R := GetCellRect(x, y);
OffsetRect(R, -FHorzOffset + FixedWidth, -FVertOffset + FixedHeight); OffsetRect(R, -FHorzOffset + FixedWidth, -FVertOffset + FixedHeight);
Dummy := Rect(0, 0, 0, 0); // to silence the compiler
if IntersectRect(Dummy, R, CellBox) then if IntersectRect(Dummy, R, CellBox) then
begin begin
Column := FColumns[x]; Column := FColumns[x];
@ -3678,7 +3686,7 @@ var
begin begin
for x := 0 to Mergeds.Count-1 do for x := 0 to Mergeds.Count-1 do
begin begin
CopyRect(Rc, TMergeCell(Mergeds[x]).Rc); Rc := TMergeCell(Mergeds[x]).Rc;
for y := Rc.Left to Rc.Right do for y := Rc.Left to Rc.Right do
begin begin
if (y >= FColumns.Count) if (y >= FColumns.Count)
@ -3695,7 +3703,7 @@ end;
procedure TNiceGrid.DrawMergedCell(Index: Integer); procedure TNiceGrid.DrawMergedCell(Index: Integer);
var var
Data: TMergeCell; Data: TMergeCell;
R, Rc, Dummy: TRect; Rc, Dummy: TRect;
l1, l2, t, h: Integer; l1, l2, t, h: Integer;
begin begin
Data := TMergeCell(Mergeds[Index]); Data := TMergeCell(Mergeds[Index]);
@ -3705,7 +3713,7 @@ begin
h := FDefRowHeight * (Data.Rc.Bottom - Data.Rc.Top + 1); h := FDefRowHeight * (Data.Rc.Bottom - Data.Rc.Top + 1);
Rc := Rect(l1-1, t-1, l2, t+h); Rc := Rect(l1-1, t-1, l2, t+h);
OffsetRect(Rc, -FHorzOffset + FixedWidth, -FVertOffset + FixedHeight); OffsetRect(Rc, -FHorzOffset + FixedWidth, -FVertOffset + FixedHeight);
R := Rc; Dummy := Rect(0, 0, 0, 0); // to silence the compiler
if IntersectRect(Dummy, Rc, CellBox) then if IntersectRect(Dummy, Rc, CellBox) then
begin begin
with Canvas do with Canvas do