unit NavProductScherm; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Subscherm, Main, ApplicationContext, ProductsAgent, UserAgent; type TFormProductNav = class(TFormSubscherm, INavigator) PanelMain: TPanel; private FUserAgent: TUserAgent; FProductsAgent: TProductsAgent; public constructor Create(AOwner: TComponent; Navigator: INavigator; ApplicationContext: TApplicationContext; UserAgent: TUserAgent; ProductsAgent: TProductsAgent); procedure NavigeerNaar(schermId: Integer); end; implementation {$R *.dfm} uses NavGridPanel, Util, ZoekProductenScherm, GebruikerScherm, GevondenProductenScherm, ProductDetailScherm; constructor TFormProductNav.Create(AOwner: TComponent; Navigator: INavigator; ApplicationContext: TApplicationContext; UserAgent: TUserAgent; ProductsAgent: TProductsAgent); var NavGridPanelStandard: TNavGridPanelStandard; begin inherited Create(AOwner, Navigator, ApplicationContext); self.FUserAgent := UserAgent; self.FProductsAgent := ProductsAgent; { TODO -cUI : Onderzoeken of 'TSplitter' een beter alternatief is dan volledig een gridview } // Gebruikersgegevens scherm, zoekscherm, resultaten en detail scherm inladen. NavGridPanelStandard := TNavGridPanelStandard.Create(PanelMain); FProductsAgent.LaadUIInstellingen(ApplicationContext.UserContext, ApplicationContext.UiInstellingenContext); // Gebruikersgegevens scherm bovenaan // Zoekscherm daaronder links // Resultaten scherm daaronder links // Rechts is helemaal voor detail scherm NavGridPanelStandard.Init(TFormGebruiker.Create(NavGridPanelStandard, self, ApplicationContext, ApplicationContext.UserContext, FUserAgent), TFormZoekProducten.Create(NavGridPanelStandard, self, ApplicationContext, FProductsAgent), TFormGevondenProducten.Create(NavGridPanelStandard, self, ApplicationContext, ApplicationContext.ProductsContext, FProductsAgent), TFormProductDetail.Create(NavGridPanelStandard, self, ApplicationContext, ApplicationContext.ProductVerpakkingContext)); NavGridPanelStandard.Parent := PanelMain; NavGridPanelStandard.Align := alClient; NavGridPanelStandard.Show; end; procedure TFormProductNav.NavigeerNaar(schermId: Integer); begin end; end.