InterfaceUI.pas 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. unit InterfaceUI;
  2. interface
  3. uses
  4. Graphics;
  5. type
  6. TTalkingCategory = (tcNormal, tcTeam);
  7. IChangeUIColor = interface
  8. ['{CB440044-CA3F-42AD-B699-AA4A45501039}']
  9. procedure ChangeUIColor(AColor: TColor);
  10. end;
  11. IUIForm = interface
  12. ['{55B05A36-58CC-4591-8A12-F60364E340E7}']
  13. procedure Show;
  14. procedure Hide;
  15. procedure SetFormInfo(AJson: WideString);
  16. function GetAutoFree: Boolean;
  17. procedure SetAutoFree(const Value: Boolean);
  18. function GetIdentify: Cardinal;
  19. end;
  20. IUIIDForm = interface(IUIForm)
  21. ['{16AD8F78-9E1B-430C-A4A0-0BE79FC7FF6E}']
  22. function GetFormID: string;
  23. procedure SetFormID(const Value: string);
  24. end;
  25. IUITalkForm = interface(IUIForm)
  26. ['{12DB6762-C1AA-42FD-B3F5-B593A86C1250}']
  27. function GetFormID: string;
  28. end;
  29. TUIMainViewState = (mvsLogin, mvsLogining, mvsLogined);
  30. IUIMainForm = interface(IUIForm)
  31. ['{302B6A23-1093-4759-93E0-82202A552210}']
  32. function SetViewState(AState: TUIMainViewState): Boolean;
  33. end;
  34. ITalkFormFactory = interface
  35. ['{E61E858E-E4FE-40FE-BB55-E45407C7C5EF}']
  36. function GetTalkForm(AFormID: string; ACategory: TTalkingCategory): IUITalkForm;
  37. end;
  38. IViewManager = interface
  39. ['{0E08CB03-A2F6-4549-89C7-98A69337EF6C}']
  40. function GetView(AClassName: AnsiString): IUIForm;
  41. function GetSingleView(AClassName: AnsiString): IUIForm;
  42. end;
  43. IUIHandler = interface
  44. ['{D534DA92-0417-4305-B9EE-FCC34C1A87CA}']
  45. procedure SetViewManager(AViewManager: IViewManager);
  46. procedure SetTalkFormFactory(ATalkFormFactory: ITalkFormFactory);
  47. function GetViewManager: IViewManager;
  48. function GetTalkFormFactory: ITalkFormFactory;
  49. end;
  50. implementation
  51. end.