fpspreadsheet: Add workbook methods to navigate to previous, next and last worksheet.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5543 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-12-19 22:19:00 +00:00
parent 249a40754b
commit 56009b4a89

View File

@ -742,6 +742,9 @@ type
function CopyWorksheetFrom(AWorksheet: TsWorksheet; function CopyWorksheetFrom(AWorksheet: TsWorksheet;
ReplaceDuplicateName: Boolean = false): TsWorksheet; ReplaceDuplicateName: Boolean = false): TsWorksheet;
function GetFirstWorksheet: TsWorksheet; function GetFirstWorksheet: TsWorksheet;
function GetLastWorksheet: TsWorksheet;
function GetNextWorksheet(AWorksheet: TsWorksheet): TsWorksheet;
function GetPreviousWorksheet(AWorksheet: TsWorksheet): TsWorksheet;
function GetWorksheetByIndex(AIndex: Integer): TsWorksheet; function GetWorksheetByIndex(AIndex: Integer): TsWorksheet;
function GetWorksheetByName(AName: String): TsWorksheet; function GetWorksheetByName(AName: String): TsWorksheet;
function GetWorksheetCount: Integer; function GetWorksheetCount: Integer;
@ -8172,6 +8175,72 @@ begin
Result := TsWorksheet(FWorksheets.First); Result := TsWorksheet(FWorksheets.First);
end; end;
{@@ ----------------------------------------------------------------------------
Quick helper routine which returns the last worksheet
@return A TsWorksheet instance if at least one is present.
nil otherwise.
@see TsWorkbook.GetWorksheetByIndex
@see TsWorkbook.GetWorksheetByName
@see TsWorksheet
-------------------------------------------------------------------------------}
function TsWorkbook.GetLastWorksheet: TsWorksheet;
begin
Result := TsWorksheet(FWorksheets.Last);
end;
{@@ ----------------------------------------------------------------------------
Returns the worksheet following the specified one.
@return A TsWorksheet instance if the specified worksheet is not the last one
nil otherwise.
@see TsWorkbook.GetFirstWorksheet
@see TsWorkbook.GetPreviousWorksheet
@see TsWorkbook.GetLastWorksheet
@see TsWorkbook.GetFirstWorksheet
@see TsWorkbook.GetWorksheetByIndex
@see TsWorkbook.GetWorksheetByName
@see TsWorksheet
-------------------------------------------------------------------------------}
function TsWorkbook.GetNextWorksheet(AWorksheet: TsWorksheet): TsWorksheet;
var
idx: Integer;
begin
idx := FWorksheets.Indexof(AWorksheet);
if idx < FWorksheets.Count-1 then
Result := TsWorksheet(FWorksheets.Items[idx + 1])
else
Result := nil;
end;
{@@ ----------------------------------------------------------------------------
Returns the worksheet preceding the specified one.
@return A TsWorksheet instance if the specified worksheet is not
the first one, nil otherwise.
@see TsWorkbook.GetFirstWorksheet
@see TsWorkbook.GetNextWorksheet
@see TsWorkbook.GetLastWorksheet
@see TsWorkbook.GetFirstWorksheet
@see TsWorkbook.GetWorksheetByIndex
@see TsWorkbook.GetWorksheetByName
@see TsWorksheet
-------------------------------------------------------------------------------}
function TsWorkbook.GetPreviousWorksheet(AWorksheet: TsWorksheet): TsWorksheet;
var
idx: Integer;
begin
idx := FWorksheets.IndexOf(AWorksheet);
if idx > 0 then
Result := TsWorksheet(FWorksheets.Items[idx - 1])
else
Result := nil;
end;
{@@ ---------------------------------------------------------------------------- {@@ ----------------------------------------------------------------------------
Gets the worksheet with a given index Gets the worksheet with a given index