TPageCollection =
class(TObject)
private
FInnerList: TList;
FPageParent: TWinControl;
FPageOptions: TPageProperties;
FScaleFactor: Double;
FOnAfterAdd: TOnAfterAdd;
FOnAfterDelete: TOnAfterDelete;
FOnProgress: TOnProgress;
FOnSaveFinish: TOnSaveFinish;
FOnLoadFinish: TOnLoadFinish;
{ Getter und Setter } {}
function GetScaleFactor: Double;
procedure SetScaleFactor(
const Value: Double);
function GetPageParent: TWinControl;
procedure SetPageParent(
const Value: TWinControl);
function GetItem(
Index: Integer): TImageEnVect;
procedure SetItem(
Index: Integer; Item: TImageEnVect);
function GetPageOptions: TPageProperties;
procedure SetPageOptions(PageOptions: TPageProperties);
{ Private Methoden } {}
procedure Renumber;
procedure RescalePage(Page: TImageEnvect);
public
constructor Create;
overload;
destructor Destroy;
override;
{ Methode zum "Clonen" der Seitenliste }
procedure Assign(Source: TPageCollection);
{ TList Methoden } {}
procedure Add(Item: TImageEnVect);
procedure Clear;
function Count: Integer;
procedure Delete(
Index: Integer);
procedure Insert(
Index: Integer; Item: TImageEnVect);
{ Fotobook spezifische Erweiterungen für Liste } {}
{ Aktualisiert Seite in der Liste und skaliert sie zurück. }
procedure UpdatePage(Page: TImageEnVect);
{ Speichert eine Seite ohne sie zurück zu skalieren. }
procedure Save(Page: TImageEnVect);
{ Liefert den Index einer Seite nach Namen. }
function FindItemByName(
const Name: WideString): Integer;
{ Speichert die Seiten in einem eignen, komprimierten Dateiformat
mit Bildern und XML-Datei zur Beschreibung der Seiten.
Ausgelagert in die Klasse TPagesIO. }
procedure SavePages(
const Filename: WideString);
{ Läd Seiten aus einer Fotobuchdatei.
Ausgelagert in die Klasse TPagesIO. }
procedure LoadPages(
const Filename: WideString);
{ Öffentliche Eigenschaften }{}
property ScaleFactor: Double
read GetScaleFactor
write SetScaleFactor;
property PageParent: TWinControl
read GetPageParent
write SetPageParent;
property Items[
Index: Integer]: TImageEnVect
read GetItem
write SetItem;
property PageOptions: TPageProperties
read GetPageOptions
write SetPageOptions;
property OnAfterAdd: TOnAfterAdd
read FOnAfterAdd
write FOnAfterAdd;
property OnAfterDelete: TOnAfterDelete
read FOnAfterDelete
write FOnAfterDelete;
property OnProgress: TOnProgress
read FOnProgress
write FOnProgress;
property OnSaveFinish: TOnSaveFinish
read FOnSaveFinish
write FOnSaveFinish;
property OnLoadFinish: TOnLoadFinish
read FOnLoadFinish
write FOnLoadFinish;
end;