UITalkFormBase.pas 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. unit UITalkFormBase;
  2. interface
  3. uses
  4. Classes, Graphics, RealICQModel, InterfaceUI;
  5. type
  6. PImageInfo = ^TImageInfo;
  7. TImageInfo = record
  8. Name: string;
  9. iFlag: Integer;
  10. end;
  11. TUITalkFormBase = class(TInterfacedObject, IUITalkForm)
  12. private
  13. FImages: TList;
  14. FLastSendInputtingMessageTicket: Cardinal;
  15. FAutoFree:Boolean;
  16. function GetMe: TRealICQUser;
  17. protected
  18. FCategory: TTalkingCategory;
  19. public
  20. constructor Create(AOwner: TComponent; AID: string); virtual;
  21. destructor Destroy; override;
  22. procedure InsertImage(AFileName:string; AFlag:Integer);
  23. procedure ClearImages;
  24. procedure SetFormInfo(AJson: WideString);
  25. function GetIdentify: Cardinal;
  26. function GetAutoFree: Boolean;
  27. procedure SetAutoFree(const Value: Boolean);
  28. procedure SendMessage(AMsg, AFont: string; AFaces: TStringList); virtual;
  29. procedure OnRecvMessage(AMsg: string); virtual;
  30. procedure SendInputing; virtual;
  31. procedure ChangeUIColor(AColor: TColor); virtual;
  32. procedure Show; virtual;
  33. procedure Hide; virtual;
  34. function GetFormID: string; virtual;
  35. property Category: TTalkingCategory read FCategory;
  36. property Me: TRealICQUser read GetMe;
  37. end;
  38. implementation
  39. uses
  40. SysUtils, CurrentContentService;
  41. { TUITalkFormBase }
  42. procedure TUITalkFormBase.ChangeUIColor(AColor: TColor);
  43. begin
  44. end;
  45. procedure TUITalkFormBase.ClearImages;
  46. begin
  47. while(FImages.Count > 0) do
  48. begin
  49. dispose(FImages.First);
  50. FImages.Delete(0);
  51. end;
  52. end;
  53. constructor TUITalkFormBase.Create(AOwner: TComponent; AID: string);
  54. begin
  55. FImages := TList.Create;
  56. end;
  57. destructor TUITalkFormBase.Destroy;
  58. begin
  59. ClearImages;
  60. FreeAndNil(FImages);
  61. inherited;
  62. end;
  63. function TUITalkFormBase.GetAutoFree: Boolean;
  64. begin
  65. Result := FAutoFree;
  66. end;
  67. function TUITalkFormBase.GetFormID: string;
  68. begin
  69. end;
  70. function TUITalkFormBase.GetIdentify: Cardinal;
  71. begin
  72. end;
  73. function TUITalkFormBase.GetMe: TRealICQUser;
  74. begin
  75. Result := TCurrentContentService.GetService.Me;
  76. end;
  77. procedure TUITalkFormBase.Hide;
  78. begin
  79. end;
  80. procedure TUITalkFormBase.InsertImage(AFileName: string; AFlag: Integer);
  81. var
  82. tempImgInfo:PImageInfo;
  83. begin
  84. tempImgInfo := new(PImageInfo);
  85. tempImgInfo.Name := AFileName;
  86. tempImgInfo.iFlag := AFlag;
  87. FImages.Add(tempImgInfo);
  88. end;
  89. procedure TUITalkFormBase.OnRecvMessage(AMsg: string);
  90. begin
  91. end;
  92. procedure TUITalkFormBase.SendInputing;
  93. begin
  94. end;
  95. procedure TUITalkFormBase.SendMessage(AMsg, AFont: string; AFaces: TStringList);
  96. begin
  97. end;
  98. procedure TUITalkFormBase.SetAutoFree(const Value: Boolean);
  99. begin
  100. FAutoFree := Value;
  101. end;
  102. procedure TUITalkFormBase.SetFormInfo(AJson: WideString);
  103. begin
  104. end;
  105. procedure TUITalkFormBase.Show;
  106. begin
  107. end;
  108. end.