using System; using System.Text; using System.Web.UI; using System.Web.UI.WebControls; namespace VAR.Focus.Web.Controls { public class ChatControl : Control, INamingContainer { #region Declarations private string _serviceUrl = "ChatHandler"; private string _idMessageBoard = null; private string _userName = string.Empty; private int _timePoolData = 10000; private Unit _width = new Unit(500, UnitType.Pixel); private Unit _height = new Unit(300, UnitType.Pixel); private Panel _divChatWindow = null; private Panel _divChatContainer = null; private Panel _divChatTitleBar = null; #endregion #region Properties public string ServiceUrl { get { return _serviceUrl; } set { _serviceUrl = value; } } public string IDMessageBoard { get { return _idMessageBoard; } set { _idMessageBoard = value; } } public string UserName { get { return _userName; } set { _userName = value; } } public int TimePoolData { get { return _timePoolData; } set { _timePoolData = value; } } public Unit Width { get { return _width; } set { _width = value; if (_divChatContainer != null) { _divChatContainer.Width = value; } } } public Unit Height { get { return _height; } set { _height = value; if (_divChatContainer != null) { _divChatContainer.Height = value; } } } #endregion #region Control Life cycle public ChatControl() { Init += ChatControl_Init; } void ChatControl_Init(object sender, EventArgs e) { InitializeControls(); } #endregion #region Private methods private void InitializeControls() { string strCfgName = string.Format("{0}_cfg", this.ClientID); _divChatWindow = new Panel { ID = "divChatWindow", CssClass = "divChatWindow" }; Controls.Add(_divChatWindow); _divChatTitleBar = new Panel { ID = "divChatTitleBar", CssClass = "divChatTitleBar" }; _divChatWindow.Controls.Add(_divChatTitleBar); CLabel lblTitle = new CLabel(); lblTitle.ID = "lblTitle"; _divChatTitleBar.Controls.Add(lblTitle); _divChatContainer = new Panel { ID = "divChatContainer", CssClass = "divChatContainer" }; _divChatWindow.Controls.Add(_divChatContainer); _divChatContainer.Width = 0; _divChatContainer.Height = 0; var divChat = new Panel { ID = "divChat", CssClass = "divChat" }; _divChatContainer.Controls.Add(divChat); var divChatControls = new Panel { ID = "divChatControls", CssClass = "divChatControls" }; _divChatContainer.Controls.Add(divChatControls); var txtText = new TextBox { ID = "txtText", CssClass = "chatTextBox" }; txtText.Attributes.Add("autocomplete", "off"); txtText.Attributes.Add("onkeydown", String.Format("if(event.keyCode==13){{SendChat({0}); return false;}}", strCfgName)); divChatControls.Controls.Add(txtText); var btnSend = new Button { ID = "btnSend", Text = "Send", CssClass = "chatButton" }; divChatControls.Controls.Add(btnSend); btnSend.Attributes.Add("onclick", String.Format("SendChat({0}); return false;", strCfgName)); StringBuilder sbCfg = new StringBuilder(); sbCfg.AppendFormat("\n"); LiteralControl liScript = new LiteralControl(sbCfg.ToString()); Controls.Add(liScript); } #endregion } }