LCL, fix TValueListEditor streaming problems, issue #21480

git-svn-id: trunk@36064 -
This commit is contained in:
jesus 2012-03-16 06:44:58 +00:00
parent 46a46e49eb
commit cd63f40bc8
2 changed files with 14 additions and 3 deletions

View File

@ -1518,6 +1518,7 @@ type
procedure AutoAdjustColumn(aCol: Integer); override;
procedure CalcCellExtent(acol, aRow: Integer; var aRect: TRect); override;
procedure DefineProperties(Filer: TFiler); override;
procedure DefineCellsProperty(Filer: TFiler); virtual;
function DoCompareCells(Acol,ARow,Bcol,BRow: Integer): Integer; override;
procedure DoCopyToClipboard; override;
procedure DoCutToClipboard; override;
@ -9902,6 +9903,12 @@ begin
end;
procedure TCustomStringGrid.DefineProperties(Filer: TFiler);
begin
inherited DefineProperties(Filer);
DefineCellsProperty(Filer);
end;
procedure TCustomStringGrid.DefineCellsProperty(Filer: TFiler);
function NeedCells: boolean;
var
i,j: integer;
@ -9927,7 +9934,6 @@ procedure TCustomStringGrid.DefineProperties(Filer: TFiler);
end;
end;
begin
inherited DefineProperties(Filer);
with Filer do begin
DefineProperty('Cells', @ReadCells, @WriteCells, NeedCells);
end;

View File

@ -68,10 +68,11 @@ type
procedure AdjustColumnWidths; virtual;
procedure AdjustRowCount; virtual;
procedure ColWidthsChanged; override;
procedure DefineCellsProperty(Filer: TFiler); override;
function GetEditText(ACol, ARow: Integer): string; override;
function GetCells(ACol, ARow: Integer): string; override;
procedure SetCells(ACol, ARow: Integer; const AValue: string); override;
procedure SetEditText(ACol, ARow: Integer; const Value: string); override;
procedure SetEditText(ACol, ARow: Longint; const Value: string); override;
procedure TitlesChanged(Sender: TObject);
public
constructor Create(AOwner: TComponent); override;
@ -429,6 +430,10 @@ begin
inherited;
end;
procedure TValueListEditor.DefineCellsProperty(Filer: TFiler);
begin
end;
function TValueListEditor.GetCells(ACol, ARow: Integer): string;
var
I: Integer;
@ -464,7 +469,7 @@ begin
Strings[I]:=Line;
end;
function TValueListEditor.GetEditText(ACol, ARow: Longint): string;
function TValueListEditor.GetEditText(ACol, ARow: Integer): string;
begin
Result:= Cells[ACol, ARow];
if Assigned(OnGetEditText) then