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("");
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(" |
");
}
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{}
}
}
}