Index: VerpakkingsDefinitie/Main.pas =================================================================== diff -u -r592 -r593 --- VerpakkingsDefinitie/Main.pas (.../Main.pas) (revision 592) +++ VerpakkingsDefinitie/Main.pas (.../Main.pas) (revision 593) @@ -6,23 +6,14 @@ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, - ApplicationContext, UserAgent, ProductsAgent; + ApplicationContext, UserAgent, ProductsAgent, Navigator; -const - NAVHOME = 0; - NAVLOGIN = 1; - NAVZOEKPRODUCTEN = 2; - type - INavigator = interface - ['{1648577B-6F43-4C3D-9122-F4F74D998611}'] - procedure NavigeerNaar(schermId: Integer); - end; - TControlArray = Array of TControl; TFormMain = class(TForm, INavigator) PanelMain: TPanel; + PanelGebruiker: TPanel; procedure FormCreate(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); private @@ -43,7 +34,7 @@ implementation uses - Util, LogInScherm, NavProductScherm; + Util, LogInScherm, NavProductScherm, GebruikerScherm; {$R *.dfm} @@ -58,9 +49,14 @@ FAppContext := TApplicationContext.Create(); FUserAgent := TUserAgent.Create(); FProductsAgent := TProductsAgent.Create(); - PanelMain.Parent := Self; - PanelMain.Align := TAlign.alClient; + with TFormGebruiker.Create(PanelGebruiker, Self, FAppContext, FAppContext.UserContext, FUserAgent) do + begin + Parent := PanelGebruiker; + Align := alClient; + Show; + end; + Self.NavigeerNaar(NAVLOGIN); end; @@ -73,13 +69,19 @@ // Volgende subscherm laden in panel // PanelMain behouden we altijd, the children can be free. - TUtil.FreeControlChildrenDeep(PanelMain); + TUtil.FreeControlChildren(PanelMain); case schermId of - NAVHOME, NAVZOEKPRODUCTEN: - NieuwScherm := TFormProductNav.Create(PanelMain, Self, FAppContext, FUserAgent, FProductsAgent); + NAVHOME, NAVPRODUCTEN: + begin + NieuwScherm := TFormProductNav.Create(PanelMain, Self, FAppContext, FUserAgent, FProductsAgent); + PanelGebruiker.Visible := true; + end; NAVLOGIN: - NieuwScherm := TFormLogin.Create(PanelMain, Self, FAppContext, FUserAgent); + begin + NieuwScherm := TFormLogin.Create(PanelMain, Self, FAppContext, FUserAgent); + PanelGebruiker.Visible := false; + end; else Exception.Create('SchermID: ' + IntToStr(schermId) + ' is onbekend'); NavigeerNaar(NAVHOME);