www.pudn.com > Tustena_CRM_OS_3.0.2_Stable.zip > SideBar.cs


/// TUSTENA PUBLIC LICENSE v1.0 
///  
/// Portions Copyright (c) 2003-2005 Digita S.r.l. All Rights Reserved. 
/// 
/// Tustena CRM is a trademark of: 
/// Digita S.r.l. 
/// Viale Enrico Fermi 14/z 
/// 31011 Asolo (Italy) 
/// Tel. +39-0423-951251 
/// Mail. info@digita.it 
/// 
/// This file contains Original Code and/or Modifications of Original Code 
/// as defined in and that are subject to the Tustena Public Source License 
/// Version 1.0 (the 'License'). You may not use this file except in 
/// compliance with the License. Please obtain a copy of the License at 
/// http://www.tustena.com/TPL/ and read it before using this 
// file. 
/// 
/// The Original Code and all software distributed under the License are 
/// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 
/// EXPRESS OR IMPLIED, AND DIGITA S.R.L. HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
/// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 
/// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 
/// Please see the License for the specific language governing rights and 
/// limitations under the License. 
/// 
/// YOU MAY NOT REMOVE OR ALTER THIS COPYRIGHT NOTICE! 
///  
 
using System; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
 
namespace Digita.Tustena.Base.SideBar 
{ 
	public class SideBarContainer : HtmlGenericControl 
	{ 
 
		private string currentPage = null; 
		private string currentTitle = null; 
		private string excludeControls = null; 
 
		public SideBarContainer(string tagName) 
		{ 
		} 
 
		protected override void OnInit(EventArgs e) 
		{ 
			InitializeComponent(); 
			base.OnInit(e); 
		} 
 
		private void InitializeComponent() 
		{ 
			if (Attributes["page"] != null) 
			{ 
				currentPage = Attributes["page"]; 
			} 
			if (Attributes["title"] != null) 
			{ 
				currentTitle = Attributes["title"]; 
			} 
			if (Attributes["exclude"] != null) 
			{ 
				excludeControls = Attributes["exclude"]; 
			} 
		} 
 
		protected override void Render(HtmlTextWriter writer) 
		{ 
			if(HttpContext.Current.Session["modules"]!=null) 
			foreach(SideBarModule controlName in (SideBarModule[])HttpContext.Current.Session["modules"]) 
			{ 
				LoadControl(controlName.filePath,controlName.moduleId); 
 
			} 
 
			EnsureChildControls(); 
			base.RenderBeginTag(writer); 
			writer.Write(""); 
			if (!HasControls()) 
			{ 
				writer.Write("?? vuoto ??"); 
			} 
			foreach(Control c in Controls) 
			{ 
				if(c.ID==null) 
					continue; 
				writer.Write(""); 
			} 
			writer.Write("
"); if(c is SideBarControl && !((SideBarControl)c).NoTitle) { writer.Write(String.Format("
{0}
",c.ID)); c.RenderControl(writer); writer.Write("
"); }else c.RenderControl(writer); writer.Write("
"); base.RenderEndTag(writer); } private bool RenderExcluded(string id) { if(id==null) return true; foreach(string excluded in excludeControls.Split(';')) { if(excluded==id) return true; } return false; } private void LoadControl(string ctrlName, string id) { if(excludeControls.IndexOf(id)==-1) this.Controls.Add(Page.LoadControl(ctrlName)); } } [Serializable] public class SideBarModule { public string moduleId = String.Empty; public string filePath = String.Empty; public SideBarModule(){} public SideBarModule(string moduleId,string filePath) { this.moduleId=moduleId; this.filePath=filePath; } } public class SideBarControl : UserControl { public bool StandAlone { get{return true;} } private bool noTitle = false; public bool NoTitle { get{return noTitle;} set { noTitle=value; } } public bool Active { set{} } } }