Index: VerpakkingsDefinitie/ApplicationContext.pas =================================================================== diff -u -r585 -r586 --- VerpakkingsDefinitie/ApplicationContext.pas (.../ApplicationContext.pas) (revision 585) +++ VerpakkingsDefinitie/ApplicationContext.pas (.../ApplicationContext.pas) (revision 586) @@ -35,19 +35,26 @@ // - UI instellingen TUiInstellingenContext = class(TSubject) private - FPositie: TDictionary; - FPlaatsing: TDictionary; - FRichting: TDictionary; + FPositieByKey: TDictionary; + FPositieByValue: TDictionary; + FPlaatsingByKey: TDictionary; + FPlaatsingByValue: TDictionary; + FRichtingByKey: TDictionary; + FRichtingByValue: TDictionary; FIsOK: Boolean; FErrorMessage: string; FInternalErrorMessage: string; public constructor Create(); procedure NotifyChanged(); - property Positie: TDictionary read FPositie write FPositie; - property Plaatsing: TDictionary read FPlaatsing write FPlaatsing; - property Richting: TDictionary read FRichting write FRichting; + property Posities: TDictionary read FPositieByKey; + property PositiesByValue: TDictionary read FPositieByValue; + property Plaatsing: TDictionary read FPlaatsingByKey; + property PlaatsingByValue: TDictionary read FPlaatsingByValue; + property Richtingen: TDictionary read FRichtingByKey; + property RichtingenByValue: TDictionary read FRichtingByValue; + property IsOK: Boolean read FIsOK write FIsOK; property ErrorMessage: string read FErrorMessage write FErrorMessage; property InternalErrorMessage: string read FInternalErrorMessage write FInternalErrorMessage; @@ -100,44 +107,65 @@ FRawData: TObject; FID: string; - FMetaCaption: string; FCutOrder: Integer; + FBreedte: string; FDefaultBreedte: string; FDiepte: string; FDefaultDiepte: string; FHoogte: string; FDefaultHoogte: string; FAantal: string; + FDefaultAantal: string; FMaxCombinAantal: string; + FDefaultMaxCombinAantal: string; FPlaatsing: string; - FPositie: string; - FRichting: string; + FDefaultPlaatsing: string; + FPosities: TList; + FDefaultPosities: TList; + FRichtingen: TList; + FDefaultRichtingen: TList; + FDeelVanID: string; + FDeelVanCaption: string; FDeelVan: TProductVerpakking; + + FMetaCaption: string; + + function GetMetaCaptionDisplay(): string; public property RawData: TObject read FRawData write FRawData; property ID: string read FID write FID; - property MetaCaption: string read FMetaCaption write FMetaCaption; property CutOrder: Integer read FCutOrder write FCutOrder; + property Breedte: string read FBreedte write FBreedte; property DefaultBreedte: string read FDefaultBreedte write FDefaultBreedte; property Diepte: string read FDiepte write FDiepte; property DefaultDiepte: string read FDefaultDiepte write FDefaultDiepte; property Hoogte: string read FHoogte write FHoogte; property DefaultHoogte: string read FDefaultHoogte write FDefaultHoogte; property Aantal: string read FAantal write FAantal; + property DefaultAantal: string read FDefaultAantal write FDefaultAantal; property MaxCombinAantal: string read FMaxCombinAantal write FMaxCombinAantal; + property DefaultMaxCombinAantal: string read FDefaultMaxCombinAantal write FDefaultMaxCombinAantal; property Plaatsing: string read FPlaatsing write FPlaatsing; - property Positie: string read FPositie write FPositie; - property Richting: string read FRichting write FRichting; + property DefaultPlaatsing: string read FDefaultPlaatsing write FDefaultPlaatsing; + property Posities: TList read FPosities; + property DefaultPosities: TList read FDefaultPosities; + property Richtingen: TList read FRichtingen; + property DefaultRichtingen: TList read FDefaultRichtingen; property DeelVanID: string read FDeelVanID write FDeelVanID; + property DeelVanCaption: string read FDeelVanCaption write FDeelVanCaption; property DeelVan: TProductVerpakking read FDeelVan write FDeelVan; + property MetaCaption: string write FMetaCaption; + property MetaCaptionDisplay: string read GetMetaCaptionDisplay; + function Equals(Obj: TObject): Boolean; override; + constructor Create(); end; TProductDetailContext = class(TSubject) @@ -189,9 +217,12 @@ constructor TUiInstellingenContext.Create(); begin inherited Create(); - FPositie := TDictionary.Create(); - FPlaatsing := TDictionary.Create(); - FRichting := TDictionary.Create(); + FPositieByKey := TDictionary.Create(); + FPositieByValue := TDictionary.Create(); + FPlaatsingByKey := TDictionary.Create(); + FPlaatsingByValue := TDictionary.Create(); + FRichtingByKey := TDictionary.Create(); + FRichtingByValue := TDictionary.Create(); end; procedure TUiInstellingenContext.NotifyChanged(); @@ -288,13 +319,23 @@ for ProductVerpakkingTeZoeken in FProductVerpakkingen do begin if not ProductVerpakkingTeZoeken.Equals(ProductVerpakking) then - Namen.Add(intToStr(ProductVerpakkingTeZoeken.CutOrder) + ': ' + ProductVerpakkingTeZoeken.MetaCaption) + Namen.Add(intToStr(ProductVerpakkingTeZoeken.CutOrder) + ': ' + ProductVerpakkingTeZoeken.MetaCaptionDisplay) end; Result := Namen; end; // Product verpakking +constructor TProductVerpakking.Create(); +begin + inherited Create(); + + FPosities := TList.Create(); + FDefaultPosities := TList.Create(); + FRichtingen := TList.Create(); + FDefaultRichtingen := TList.Create(); +end; + function TProductVerpakking.Equals(Obj: TObject): Boolean; begin if Obj = nil then @@ -307,6 +348,14 @@ Result := false; end; +function TProductVerpakking.GetMetaCaptionDisplay(): string; +begin + if FMetaCaption <> '' then + Result := copy(FMetaCaption, Pos(':', FMetaCaption) + 2) + else + Result := ''; +end; + // APPLICATION CONTEXT constructor TApplicationContext.Create(); begin