diff --git a/Interact/Client.cs b/Interact/Client.cs index 79a10f0..708986c 100644 --- a/Interact/Client.cs +++ b/Interact/Client.cs @@ -38,7 +38,7 @@ namespace Interact //登录结果处理事件 public static event LoginDoneHandler OnLoginDone; //获取用户列表结果处理事件 - private static event GetUserListDoneHandler OnGetUserListDone; + public static event GetUserListDoneHandler OnGetUserListDone; //当前连接状态 public static ClientStatus Status diff --git a/StormChatWPF/Chat.cs b/StormChatWPF/Chat.cs index 6377be9..e67a055 100644 --- a/StormChatWPF/Chat.cs +++ b/StormChatWPF/Chat.cs @@ -11,29 +11,38 @@ namespace StormChatWPF { class Chat { - public static List userlist = new List();//联系人集合 - - - internal static void GetUsers(ResultHandler head, User user) + public static List ContactsList;//联系人集合 + public static Chat chat = new Chat(); + private Chat() { + StormClient.OnLoginDone += HaveLogin; + StormClient.OnGetUserListDone += GetContactsList; + StormClient.OnMessage +=ReciveMessage; + } - }//获取联系人对象 - internal static void GetUserList(ResultHead head, User[] users) + + private User ChatNow; + internal User SetContact + { + get + { + return ChatNow; + } + set + { + ChatNow = value; + } + }//设置当前联系人对象 + internal static void GetContactsList(ResultHead head, User[] users) { if (head.Error != "") { MessageBox.Show("无法获取联系人列表"); } else + ContactsList =new List( users); return; - }//获取用户列表 - internal static void GetUserPhoto(ResultHead head, Image image) - { - if (head.Error != "") - { - MessageBox.Show("无法读取用户图片"); - } - }//对用户头像进行赋值 + }//获取联系人列表 internal void Log(string user,string password) { if (StormClient.Initialize()) @@ -55,7 +64,7 @@ namespace StormChatWPF User.Me = user; MainWindow userWindow = new MainWindow(); userWindow.Show(); - LogWindow.a.Close(); + LogWindow.Instence.Close(); } else { @@ -63,7 +72,19 @@ namespace StormChatWPF } }); }//登录完成 + internal static void ReciveMessage(Message message) + { + LogWindow.Instence.ShowMessage(message); + }//接受到新消息的时候 + internal static void SendMessage(string text,User target) + { + // Message msg = new Message(text); + // Action f = delegate(BaseHead head) + // { - + // }; + // StormClient.QueueSendMessage(msg, target, f); + // LogWindow.Instence.ShowUserMessage(); + } } } diff --git a/StormChatWPF/LogWindow.xaml b/StormChatWPF/LogWindow.xaml index 0e46e9f..efe8c9a 100644 --- a/StormChatWPF/LogWindow.xaml +++ b/StormChatWPF/LogWindow.xaml @@ -6,11 +6,11 @@ xmlns:local="clr-namespace:StormChatWPF" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> - - -