UIMainForm.pas 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. unit UIMainForm;
  2. interface
  3. uses
  4. mybean.core.objects, System.Classes, InterfaceUI, MainLayout, LoginView,
  5. LoginedView, LoginedViewHeader, LoginedViewMain, LoginedViewFooter, System.SysUtils;
  6. type
  7. TUIMainForm = class(TMyBeanInterfacedObject, IUIMainForm)
  8. private
  9. FMainLayout: TMainLayoutForm;
  10. FLoginView: TLoginViewForm;
  11. FLoginedView: TLoginedViewForm;
  12. FLoginedViewHeader: TLoginedViewHeaderForm;
  13. FLoginedViewMain: TLoginedViewMainForm;
  14. FLoginedViewFooter: TLoginedViewFooterForm;
  15. procedure Init;
  16. procedure LoginState;
  17. procedure LoginingState;
  18. procedure LoginedState;
  19. public
  20. constructor Create; override;
  21. destructor Destroy; override;
  22. procedure Show;
  23. procedure Hide;
  24. function SetViewState(AState: TUIMainViewState): Boolean;
  25. end;
  26. implementation
  27. uses
  28. Vcl.Forms;
  29. { TMainForm }
  30. constructor TUIMainForm.Create;
  31. begin
  32. inherited;
  33. FMainLayout := TMainLayoutForm.Create(nil);
  34. FLoginView := TLoginViewForm.Create(FMainLayout);
  35. FLoginedView := TLoginedViewForm.Create(FMainLayout);;
  36. FLoginedViewHeader := TLoginedViewHeaderForm.Create(FMainLayout);;
  37. FLoginedViewMain := TLoginedViewMainForm.Create(FMainLayout);
  38. FLoginedViewFooter := TLoginedViewFooterForm.Create(FMainLayout);
  39. Init;
  40. end;
  41. destructor TUIMainForm.Destroy;
  42. begin
  43. FreeAndNil(FLoginView);
  44. FreeAndNil(FLoginedViewFooter);
  45. FreeAndNil(FLoginedViewMain);
  46. FreeAndNil(FLoginedViewHeader);
  47. FreeAndNil(FLoginedView);
  48. // FreeAndNil(FLoginView);
  49. inherited;
  50. end;
  51. procedure TUIMainForm.Hide;
  52. begin
  53. end;
  54. procedure TUIMainForm.Init;
  55. begin
  56. FLoginView.pnlLoginView.Parent := FMainLayout;
  57. FLoginedView.pnlLoginedView.Parent := FMainLayout;
  58. FLoginedViewHeader.pnlTop.Parent := FLoginedView.pnlMain;
  59. FLoginedViewFooter.pnlWebSearch.Parent := FLoginedView.pnlMain;
  60. FLoginedViewMain.pnlClient.Parent := FLoginedView.pnlMain;
  61. // FLoginedViewMain
  62. FMainLayout.ChangeUIColor($EADEBA);
  63. LoginState;
  64. end;
  65. procedure TUIMainForm.LoginedState;
  66. begin
  67. FLoginView.pnlLoginView.Visible := False;
  68. FLoginedView.pnlLoginedView.Visible := True;
  69. FMainLayout.Height := FLoginedView.Height;
  70. FMainLayout.Width := FLoginedView.Width;
  71. end;
  72. procedure TUIMainForm.LoginingState;
  73. begin
  74. FLoginView.pnlLoginView.Visible := True;
  75. FLoginedView.pnlLoginedView.Visible := False;
  76. end;
  77. procedure TUIMainForm.LoginState;
  78. begin
  79. FMainLayout.Height := FLoginView.Height;
  80. FMainLayout.Width := FLoginView.Width;
  81. FMainLayout.Top := (Screen.Height - FMainLayout.Height) div 2;
  82. FMainLayout.Left := (Screen.Width - FMainLayout.Width) div 2;
  83. FLoginView.pnlLoginView.Visible := True;
  84. FLoginedView.pnlLoginedView.Visible := False;
  85. end;
  86. function TUIMainForm.SetViewState(AState: TUIMainViewState): Boolean;
  87. begin
  88. case AState of
  89. mvsLogin:
  90. begin
  91. LoginState;
  92. Exit;
  93. end;
  94. mvsLogining:
  95. begin
  96. LoginingState;
  97. Exit;
  98. end;
  99. mvsLogined:
  100. begin
  101. LoginedState;
  102. Exit;
  103. end;
  104. end;
  105. end;
  106. procedure TUIMainForm.Show;
  107. begin
  108. FMainLayout.Show;
  109. end;
  110. end.