unit InterfaceUI; interface uses Graphics; type TTalkingCategory = (tcNormal, tcTeam); IChangeUIColor = interface ['{CB440044-CA3F-42AD-B699-AA4A45501039}'] procedure ChangeUIColor(AColor: TColor); end; IUIForm = interface ['{55B05A36-58CC-4591-8A12-F60364E340E7}'] procedure Show; procedure Hide; procedure SetFormInfo(AJson: WideString); function GetAutoFree: Boolean; procedure SetAutoFree(const Value: Boolean); function GetIdentify: Cardinal; end; IUIIDForm = interface(IUIForm) ['{16AD8F78-9E1B-430C-A4A0-0BE79FC7FF6E}'] function GetFormID: string; procedure SetFormID(const Value: string); end; IUITalkForm = interface(IUIForm) ['{12DB6762-C1AA-42FD-B3F5-B593A86C1250}'] function GetFormID: string; end; TUIMainViewState = (mvsLogin, mvsLogining, mvsLogined); IUIMainForm = interface(IUIForm) ['{302B6A23-1093-4759-93E0-82202A552210}'] function SetViewState(AState: TUIMainViewState): Boolean; end; ITalkFormFactory = interface ['{E61E858E-E4FE-40FE-BB55-E45407C7C5EF}'] function GetTalkForm(AFormID: string; ACategory: TTalkingCategory): IUITalkForm; end; IViewManager = interface ['{0E08CB03-A2F6-4549-89C7-98A69337EF6C}'] function GetView(AClassName: AnsiString): IUIForm; function GetSingleView(AClassName: AnsiString): IUIForm; end; IUIHandler = interface ['{D534DA92-0417-4305-B9EE-FCC34C1A87CA}'] procedure SetViewManager(AViewManager: IViewManager); procedure SetTalkFormFactory(ATalkFormFactory: ITalkFormFactory); function GetViewManager: IViewManager; function GetTalkFormFactory: ITalkFormFactory; end; implementation end.