Files
Umbraco-CMS/umbraco/presentation/umbraco/tree.aspx.cs
Shandem f6d0d043b5 DO NOT DOWNLOAD. DOWNLOAT LATEST STABLE FROM RELEASE TAB
Created 4.1.0 branch

[TFS Changeset #55082]
2009-06-19 07:39:16 +00:00

128 lines
4.2 KiB
C#

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Reflection;
using umbraco.DataLayer;
using umbraco.cms.presentation.Trees;
using umbraco.BusinessLogic.Utils;
using umbraco.interfaces;
using umbraco.BusinessLogic;
using System.Collections.Generic;
namespace umbraco.cms.presentation
{
/// <summary>
/// This still outputs the xml format of the tree in case developers are using it.
/// </summary>
[Obsolete("this is no longer used for the client side tree")]
public partial class tree : umbraco.BasePages.UmbracoEnsuredPage
{
private XmlTree m_xTree = new XmlTree();
TreeRequestParams m_treeParams = TreeRequestParams.FromQueryStrings();
/// <summary>
/// This checks to see which request parameters have been set for the Tree xml service
/// to run. If there is no Tree Type specified, then this will return the xml structure
/// of the initial tree nodes for all trees required for the current application. Otherwise
/// this will return thre required tree xml based on the request parameters specified.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, System.EventArgs e)
{
if (string.IsNullOrEmpty(m_treeParams.TreeType))
if (!string.IsNullOrEmpty(m_treeParams.Application))
LoadAppTrees(m_treeParams.Application);
else
LoadNullTree();
else
LoadTree(m_treeParams.TreeType);
Response.Write(m_xTree.ToString(SerializedTreeType.XmlTree));
}
/// <summary>
/// If the application supports multiple trees, then this function iterates over all of the trees assigned to it
/// and creates their top level nodes and context menus.
/// </summary>
/// <param name="appAlias"></param>
private void LoadAppTrees(string appAlias)
{
//find all tree definitions that have the current application alias
List<TreeDefinition> treeDefs = TreeDefinitionCollection.Instance.FindActiveTrees(appAlias);
foreach (TreeDefinition treeDef in treeDefs)
{
BaseTree bTree = treeDef.CreateInstance();
bTree.SetTreeParameters(m_treeParams);
m_xTree.Add(bTree.RootNode);
}
}
/// <summary>
/// This will load the particular ITree object and call it's render method to get the nodes that need to be rendered.
/// </summary>
/// <param name="appAlias"></param>
/// <param name="treeAlias"></param>
private void LoadTree(string treeAlias)
{
TreeDefinition treeDef = TreeDefinitionCollection.Instance.FindTree(treeAlias);
if (treeDef != null)
{
BaseTree bTree = treeDef.CreateInstance();
bTree.SetTreeParameters(m_treeParams);
bTree.Render(ref m_xTree);
}
else
LoadNullTree();
}
/// <summary>
/// Load an empty tree structure to show the end user that there was a problem loading the tree.
/// </summary>
private void LoadNullTree()
{
BaseTree nullTree = new NullTree(m_treeParams.Application);
nullTree.SetTreeParameters(m_treeParams);
nullTree.Render(ref m_xTree);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}