InterfaceUI.pas 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. unit InterfaceUI;
  2. interface
  3. uses
  4. Graphics, superobject;
  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); overload;
  16. procedure SetFormInfo(AJo: ISuperObject); overload;
  17. function GetAutoFree: Boolean;
  18. procedure SetAutoFree(const Value: Boolean);
  19. function GetIdentify: Cardinal;
  20. end;
  21. IUIIDForm = interface(IUIForm)
  22. ['{16AD8F78-9E1B-430C-A4A0-0BE79FC7FF6E}']
  23. function GetFormID: string;
  24. procedure SetFormID(const Value: string);
  25. end;
  26. IUIUserCardView = interface(IUIForm)
  27. ['{6060B214-C93D-4762-8E9A-F49AA9318D2A}']
  28. procedure SetTargetTop(const Value: Integer);
  29. procedure TriggerHide;
  30. procedure CloseTrigger;
  31. end;
  32. IUITalkForm = interface(IUIForm)
  33. ['{12DB6762-C1AA-42FD-B3F5-B593A86C1250}']
  34. function GetFormID: string;
  35. end;
  36. TUIMainViewState = (mvsLogin, mvsLogining, mvsLogined);
  37. IUIMainForm = interface(IUIForm)
  38. ['{302B6A23-1093-4759-93E0-82202A552210}']
  39. function SetViewState(AState: TUIMainViewState): Boolean;
  40. end;
  41. ITalkFormFactory = interface
  42. ['{E61E858E-E4FE-40FE-BB55-E45407C7C5EF}']
  43. function GetTalkForm(AFormID: string; ACategory: TTalkingCategory): IUITalkForm;
  44. end;
  45. IViewManager = interface
  46. ['{0E08CB03-A2F6-4549-89C7-98A69337EF6C}']
  47. procedure GetViewByName(AFormName: string; const IID: TGUID; out AForm);
  48. procedure GetSingleViewByName(AFormName: string; const IID: TGUID; out AForm);
  49. procedure GetIDViewByName(AFormName, AFormID: string; const IID: TGUID; out AForm);
  50. procedure FreeIDViewByName(AFormName, AFormID: string);
  51. procedure GetView(AClassName: string; const IID: TGUID; out AForm);
  52. procedure GetSingleView(AClassName: string; const IID: TGUID; out AForm);
  53. procedure GetIDView(AClassName, AFormID: string; const IID: TGUID; out AForm);
  54. procedure FreeIDView(AClassName, AFormID: string);
  55. end;
  56. IUIHandler = interface
  57. ['{D534DA92-0417-4305-B9EE-FCC34C1A87CA}']
  58. procedure SetViewManager(AViewManager: IViewManager);
  59. procedure SetTalkFormFactory(ATalkFormFactory: ITalkFormFactory);
  60. function GetViewManager: IViewManager;
  61. function GetTalkFormFactory: ITalkFormFactory;
  62. end;
  63. IMainUIHandler = interface(IUIHandler)
  64. ['{037185BE-4300-4D8E-B85D-864AA086B29F}']
  65. function GetUserCardView(ALoginName: string = ''): IUIUserCardView;
  66. function GetUserCardDetailView(ALoginName: string; Show: Boolean = True): IUIForm;
  67. end;
  68. implementation
  69. end.