📄 impspresenceicons.cs
字号:
namespace Imps.Client.Resource
{
using Imps.Client;
using Imps.Common;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Reflection;
using System.Runtime.InteropServices;
public class ImpsPresenceIcons : IDictionary<CompositePresence, Image>, ICollection<KeyValuePair<CompositePresence, Image>>, IEnumerable<KeyValuePair<CompositePresence, Image>>, IEnumerable
{
private Image _blockIcon;
private static ImpsPresenceIcons _impsPresence = new ImpsPresenceIcons();
private Image _mobileBuddy;
private Image _offline;
private Image _onlineIcon;
protected const string _ourNamespace = "PresenceIcons.";
private static Dictionary<CompositePresence, Image> _presenceIcons = new Dictionary<CompositePresence, Image>();
private static Dictionary<MainPresence, Image> _userPresenceIcons = new Dictionary<MainPresence, Image>();
static ImpsPresenceIcons()
{
Image image = ImpsResources.GetImage("PresenceIcons.user_online.png");
_userPresenceIcons.Add(MainPresence.Online, image);
image = ImpsResources.GetImage("PresenceIcons.user_away.png");
_userPresenceIcons.Add(MainPresence.Away, image);
_userPresenceIcons.Add(MainPresence.OutToLunch, image);
_userPresenceIcons.Add(MainPresence.BeRightBack, image);
image = ImpsResources.GetImage("PresenceIcons.user_busy.png");
_userPresenceIcons.Add(MainPresence.Busy, image);
_userPresenceIcons.Add(MainPresence.DoNotDisturb, image);
_userPresenceIcons.Add(MainPresence.OnThePhone, image);
_userPresenceIcons.Add(MainPresence.InTheMeeting, image);
image = ImpsResources.GetImage("PresenceIcons.user_invisible.png");
_userPresenceIcons.Add(MainPresence.Invisible, image);
_userPresenceIcons.Add(MainPresence.Offline, image);
_userPresenceIcons.Add(MainPresence.SmsOnline, image);
_userPresenceIcons.Add(MainPresence.Unknown, image);
Image image2 = ImpsResources.GetImage("PresenceIcons.pc.png");
_presenceIcons.Add(new CompositePresence(MainPresence.Online, 1), image2);
Image image3 = ImpsResources.GetImage("PresenceIcons.smartphone.png");
_presenceIcons.Add(new CompositePresence(MainPresence.Online, 2), image3);
Image image4 = ImpsResources.GetImage("PresenceIcons.wap.png");
_presenceIcons.Add(new CompositePresence(MainPresence.Online, 4), image4);
Image image5 = ImpsResources.GetImage("PresenceIcons.sms.png");
_presenceIcons.Add(new CompositePresence(MainPresence.SmsOnline, null), image5);
_presenceIcons.Add(new CompositePresence(MainPresence.SmsOnline, 1), image5);
_presenceIcons.Add(new CompositePresence(MainPresence.SmsOnline, 2), image5);
_presenceIcons.Add(new CompositePresence(MainPresence.SmsOnline, 3), image5);
_presenceIcons.Add(new CompositePresence(MainPresence.SmsOnline, 4), image5);
Image image6 = ImpsResources.GetImage("PresenceIcons.offline.png");
_userPresenceIcons.Add(MainPresence.OfflineLogin, image6);
_presenceIcons.Add(new CompositePresence(MainPresence.Offline, null), image6);
_presenceIcons.Add(new CompositePresence(MainPresence.Offline, 1), image6);
_presenceIcons.Add(new CompositePresence(MainPresence.Offline, 2), image6);
_presenceIcons.Add(new CompositePresence(MainPresence.Offline, 3), image6);
_presenceIcons.Add(new CompositePresence(MainPresence.Offline, 4), image6);
Image image7 = ImpsResources.GetImage("PresenceIcons.pc_busy.png");
_presenceIcons.Add(new CompositePresence(MainPresence.InTheMeeting, 1), image7);
_presenceIcons.Add(new CompositePresence(MainPresence.Busy, 1), image7);
_presenceIcons.Add(new CompositePresence(MainPresence.OnThePhone, 1), image7);
_presenceIcons.Add(new CompositePresence(MainPresence.DoNotDisturb, 1), image7);
Image image8 = ImpsResources.GetImage("PresenceIcons.smartphone_busy.png");
_presenceIcons.Add(new CompositePresence(MainPresence.InTheMeeting, 2), image8);
_presenceIcons.Add(new CompositePresence(MainPresence.Busy, 2), image8);
_presenceIcons.Add(new CompositePresence(MainPresence.OnThePhone, 2), image8);
_presenceIcons.Add(new CompositePresence(MainPresence.DoNotDisturb, 2), image8);
Image image9 = ImpsResources.GetImage("PresenceIcons.wap_busy.png");
_presenceIcons.Add(new CompositePresence(MainPresence.InTheMeeting, 4), image9);
_presenceIcons.Add(new CompositePresence(MainPresence.Busy, 4), image9);
_presenceIcons.Add(new CompositePresence(MainPresence.OnThePhone, 4), image9);
_presenceIcons.Add(new CompositePresence(MainPresence.DoNotDisturb, 4), image9);
Image image10 = ImpsResources.GetImage("PresenceIcons.pc_away.png");
_presenceIcons.Add(new CompositePresence(MainPresence.OutToLunch, 1), image10);
_presenceIcons.Add(new CompositePresence(MainPresence.BeRightBack, 1), image10);
_presenceIcons.Add(new CompositePresence(MainPresence.Away, 1), image10);
ImpsResources.GetImage("PresenceIcons.smartphone_away.png");
_presenceIcons.Add(new CompositePresence(MainPresence.OutToLunch, 2), image10);
_presenceIcons.Add(new CompositePresence(MainPresence.BeRightBack, 2), image10);
_presenceIcons.Add(new CompositePresence(MainPresence.Away, 2), image10);
Image image11 = ImpsResources.GetImage("PresenceIcons.wap_away.png");
_presenceIcons.Add(new CompositePresence(MainPresence.OutToLunch, 4), image11);
_presenceIcons.Add(new CompositePresence(MainPresence.BeRightBack, 4), image11);
_presenceIcons.Add(new CompositePresence(MainPresence.Away, 4), image11);
_presenceIcons.Add(new CompositePresence(MainPresence.OfflineLogin, null), image6);
_presenceIcons.Add(new CompositePresence(MainPresence.OfflineLogin, 1), image6);
_presenceIcons.Add(new CompositePresence(MainPresence.OfflineLogin, 2), image6);
_presenceIcons.Add(new CompositePresence(MainPresence.OfflineLogin, 3), image6);
_presenceIcons.Add(new CompositePresence(MainPresence.OfflineLogin, 4), image6);
}
private ImpsPresenceIcons()
{
}
public void Add(KeyValuePair<CompositePresence, Image> item)
{
throw new Exception("The method or operation is not implemented.");
}
public void Add(CompositePresence key, Image value)
{
throw new Exception("The method or operation is not implemented.");
}
public void Clear()
{
throw new Exception("The method or operation is not implemented.");
}
public bool Contains(KeyValuePair<CompositePresence, Image> item)
{
throw new Exception("The method or operation is not implemented.");
}
public bool ContainsKey(CompositePresence key)
{
return _presenceIcons.ContainsKey(key);
}
public void CopyTo(KeyValuePair<CompositePresence, Image>[] array, int arrayIndex)
{
throw new Exception("The method or operation is not implemented.");
}
public IEnumerator<KeyValuePair<CompositePresence, Image>> GetEnumerator()
{
return _presenceIcons.GetEnumerator();
}
public bool Remove(CompositePresence key)
{
return false;
}
public bool Remove(KeyValuePair<CompositePresence, Image> item)
{
throw new Exception("The method or operation is not implemented.");
}
IEnumerator IEnumerable.GetEnumerator()
{
return _presenceIcons.GetEnumerator();
}
public bool TryGetValue(CompositePresence key, out Image value)
{
return _presenceIcons.TryGetValue(key, ref value);
}
public Image BlockIcon
{
get
{
if (this._blockIcon == null)
{
this._blockIcon = ImpsResources.GetImage("PresenceIcons.block.png");
}
return this._blockIcon;
}
}
public int Count
{
get
{
return _presenceIcons.get_Count();
}
}
public static ImpsPresenceIcons Instance
{
get
{
return _impsPresence;
}
}
public bool IsReadOnly
{
get
{
return true;
}
}
public Image this[CompositePresence key]
{
get
{
return _presenceIcons.get_Item(key);
}
set
{
throw new Exception("The method or operation is not implemented.");
}
}
public ICollection<CompositePresence> Keys
{
get
{
return _presenceIcons.get_Keys();
}
}
public Image MobileBuddy
{
get
{
if (this._mobileBuddy == null)
{
this._mobileBuddy = ImpsResources.GetImage("PresenceIcons.mobilebuddy.png");
}
return this._mobileBuddy;
}
}
public Image Offline
{
get
{
if (this._offline == null)
{
this._offline = ImpsResources.GetImage("PresenceIcons.offline.png");
}
return this._offline;
}
}
public Image OnlineIcon
{
get
{
if (this._onlineIcon == null)
{
this._onlineIcon = ImpsResources.GetImage("PresenceIcons.pc.png");
}
return this._onlineIcon;
}
}
public static Dictionary<MainPresence, Image> UserPresenceIcons
{
get
{
return _userPresenceIcons;
}
}
public ICollection<Image> Values
{
get
{
return _presenceIcons.get_Values();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -