public int Add( string strText ) // TreeNode
 {
     TreeNode objNode = new TreeNode( m_objDNNTree );
     int intIndex = this.Add( objNode );
     objNode.Text = strText;
     return intIndex;
 }
Example #2
0
        /// <summary>
        /// Loads top level entry list into DNNTree
        /// </summary>
        /// <history>
        ///     [tamttt] 20/10/2004	Created
        /// </history>
        private void BindTree()
        {
            ListController     ctlLists    = new ListController();
            ListInfoCollection colLists    = ctlLists.GetListInfoCollection();
            Hashtable          indexLookup = new Hashtable();

            DNNtree.TreeNodes.Clear();

            foreach (ListInfo Lists in colLists)
            {
                TreeNode node = new TreeNode(Lists.DisplayName);
                node.Key        = Lists.Key;
                node.ToolTip    = Lists.EntryCount + " entries";
                node.ImageIndex = (int)eImageType.Folder;
                //.Target = Lists.DefinitionID.ToString & ":" & Lists.EnableSortOrder.ToString ' borrow this property to store this value

                if (Lists.Level == 0)
                {
                    DNNtree.TreeNodes.Add(node);
                }
                else
                {
                    if (indexLookup[Lists.ParentList] != null)
                    {
                        TreeNode parentNode = (TreeNode)(indexLookup[Lists.ParentList]);
                        parentNode.TreeNodes.Add(node);
                    }
                }

                // Add index key here to find it later, should suggest with Joe to add it to DNNTree
                if (indexLookup[Lists.Key] == null)
                {
                    indexLookup.Add(Lists.Key, node);
                }
            }
        }
		public DNNTreeNodeClickEventArgs(TreeNode Node)
		{
			_node = Node;
		}
Example #4
0
        private void SetFolder(DNNTreeNode node)
        {
            dgFileList.EditItemIndex = -1;
            if (DNNTree.IsDownLevel)
            {
                DestPath = node.Key;
                LastPath = node.Key;
            }
            ManageSecurity();

            BindFileList();
            GeneratePermissionsGrid();
        }
Example #5
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// Adds node to tree
        /// </summary>
        /// <param name="strName">Name of folder to display</param>
        /// <param name="strKey">Masked Key of folder location</param>
        /// <param name="eImage">Type of image</param>
        /// <param name="objNodes">Node collection to add to</param>
        /// <returns></returns>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// 	[Jon Henning]	10/26/2004	Created
        /// 	[Jon Henning]	8/24/2005	Added Populate on Demand (POD) logic
        /// </history>
        /// -----------------------------------------------------------------------------
        private DNNTreeNode AddNode(string strName, string strKey, int imageIndex, DNNTreeNodeCollection objNodes)
        {
            DNNTreeNode objNode;
            objNode = new DNNTreeNode(strName);
            objNode.Key = strKey;
            objNode.ToolTip = strName;
            objNode.ImageIndex = imageIndex;
            objNode.CssClass = "FileManagerTreeNode";
            objNodes.Add(objNode);

            if (objNode.Key == DestPath)
            {
                objNode.Selected = true;
                objNode.MakeNodeVisible();
            }
            return objNode;
        }
Example #6
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        ///     Loads top level entry list into DNNTree
        /// </summary>        
        /// <remarks>
        /// </remarks>
        /// <history>
        ///     [tamttt] 20/10/2004	Created
        /// </history>
        /// -----------------------------------------------------------------------------
        private void BindTree()
        {
            var ctlLists = new ListController();
            var colLists = ctlLists.GetListInfoCollection();
            var indexLookup = new Hashtable();

            DNNtree.TreeNodes.Clear();

            foreach (ListInfo list in colLists)
            {
                var node = new TreeNode(list.DisplayName);
                {
                    node.Key = list.Key;
                    node.ToolTip = list.EntryCount + " entries";
                    node.ImageIndex = (int) eImageType.Folder;
                }
                if (list.Level == 0)
                {
                    DNNtree.TreeNodes.Add(node);
                }
                else
                {
                    if (indexLookup[list.ParentList] != null)
                    {
                        var parentNode = (TreeNode) indexLookup[list.ParentList];
                        parentNode.TreeNodes.Add(node);
                    }
                }

                //Add index key here to find it later, should suggest with Joe to add it to DNNTree
                if (indexLookup[list.Key] == null)
                {
                    indexLookup.Add(list.Key, node);
                }
            }
        }
		public bool Contains(TreeNode value)
		{
			if (this.FindNode(value.ID) == null)
			{
				return false;
			}
			else
			{
				return true;
			}
		}
		public void Remove(TreeNode value)
		{
			this.XMLNode.RemoveChild(value.XmlNode);
		}
		public void Insert(int index, TreeNode value)
		{
			this.XMLNode.InsertAfter(this.XMLNode.ChildNodes[index], value.XmlNode);
		}
		public int IndexOf(TreeNode value)
		{
			int i;
			for (i = 0; i <= this.XMLNode.ChildNodes.Count; i++) {
				if (new TreeNode(this.XMLNode.ChildNodes[i], m_objDNNTree).ID == value.ID)
				{
					return i;
				}
			}
               return -1;
		}
		// TreeNode
		public new int Add(TreeNode objNode)
		{
			int intIndex = base.Add(objNode);
			objNode.SetDNNTree(m_objDNNTree);
			//ChildNodes.count is not guaranteed to be unique... GetHashCode should be a little safer (I assume it is medium trust safe...
			if (String.IsNullOrEmpty(objNode.ID)) objNode.ID = objNode.ParentNameSpace + "_" + objNode.GetHashCode(); 
			//Me.XMLNode.ChildNodes.Count
			return intIndex;
		}
        /// <summary>
        /// Loads Local Resource files in the tree
        /// </summary>
        /// <param name="Nodes">Node collection where to add new nodes</param>
        /// <param name="_path">Folder to search for</param>
        /// <returns>true if a Local Resource file is found in the given path</returns>
        /// <remarks>
        /// The Node collection will only contain en-US resources
        /// Only folders with Resource files will be included in the tree
        /// </remarks>
        /// <history>
        ///     [vmasanas]	07/10/2004	Created
        /// </history>
        private bool PopulateTree(TreeNodeCollection Nodes, string _path)
        {
            string[] folders = Directory.GetDirectories(_path);
            bool     found   = false;

            foreach (string folder in folders)
            {
                DirectoryInfo objFolder = new DirectoryInfo(folder);
                TreeNode      node      = new TreeNode(objFolder.Name);
                node.Key         = objFolder.FullName;
                node.ToolTip     = objFolder.Name;
                node.ImageIndex  = (int)eImageType.Folder;
                node.ClickAction = eClickAction.Expand;
                Nodes.Add(node);

                if (objFolder.Name == Localization.LocalResourceDirectory)
                {
                    // found local resource folder, add resources
                    foreach (FileInfo objFile in objFolder.GetFiles("*.ascx.resx"))
                    {
                        TreeNode leaf = new TreeNode(Path.GetFileNameWithoutExtension(objFile.Name));
                        leaf.Key        = objFile.FullName;
                        leaf.ToolTip    = objFile.Name;
                        leaf.ImageIndex = (int)eImageType.Page;
                        node.TreeNodes.Add(leaf);
                    }
                    foreach (FileInfo objFile in objFolder.GetFiles("*.aspx.resx"))
                    {
                        TreeNode leaf = new TreeNode(Path.GetFileNameWithoutExtension(objFile.Name));
                        leaf.Key        = objFile.FullName;
                        leaf.ToolTip    = objFile.Name;
                        leaf.ImageIndex = (int)eImageType.Page;
                        node.TreeNodes.Add(leaf);
                    }
                    // add LocalSharedResources if found
                    if (File.Exists(Path.Combine(folder, Localization.LocalSharedResourceFile)))
                    {
                        FileInfo objFile = new FileInfo(Path.Combine(folder, Localization.LocalSharedResourceFile));
                        TreeNode leaf    = new TreeNode(Path.GetFileNameWithoutExtension(objFile.Name));
                        leaf.Key        = objFile.FullName;
                        leaf.ToolTip    = objFile.Name;
                        leaf.ImageIndex = (int)eImageType.Page;
                        node.TreeNodes.Add(leaf);
                    }
                    found = true;
                }
                else
                {
                    //recurse
                    if (PopulateTree(node.TreeNodes, folder))
                    {
                        // found resources
                        found = true;
                    }
                    else
                    {
                        // not found, remove node
                        Nodes.Remove(node);
                    }
                }
            }

            return(found);
        }
		/// -----------------------------------------------------------------------------
		/// <summary>
		/// 
		/// </summary>
		/// <param name="node"></param>
		/// <remarks>
		/// </remarks>
		/// <history>
		/// 	[jbrinkman]	5/6/2004	Created
		/// </history>
		/// -----------------------------------------------------------------------------
		public DNNTreeEventArgs(TreeNode node)
		{
			this._node = node;
		}
        /// <summary>
        /// Loads top level entry list into DNNTree
        /// </summary>
        /// <history>
        ///     [tamttt] 20/10/2004	Created
        /// </history>
        private void BindTree()
        {
            ListController ctlLists = new ListController();
            ListInfoCollection colLists = ctlLists.GetListInfoCollection();
            Hashtable indexLookup = new Hashtable();

            DNNtree.TreeNodes.Clear();

            foreach (ListInfo Lists in colLists)
            {
                TreeNode node = new TreeNode(Lists.DisplayName);
                node.Key = Lists.Key;
                node.ToolTip = Lists.EntryCount + " entries";
                node.ImageIndex = (int)eImageType.Folder;
                //.Target = Lists.DefinitionID.ToString & ":" & Lists.EnableSortOrder.ToString ' borrow this property to store this value

                if (Lists.Level == 0)
                {
                    DNNtree.TreeNodes.Add(node);
                }
                else
                {
                    if (indexLookup[Lists.ParentList] != null)
                    {
                        TreeNode parentNode = (TreeNode)(indexLookup[Lists.ParentList]);
                        parentNode.TreeNodes.Add(node);
                    }
                }

                // Add index key here to find it later, should suggest with Joe to add it to DNNTree
                if (indexLookup[Lists.Key] == null)
                {
                    indexLookup.Add(Lists.Key, node);
                }

            }

        }
        /// <summary>
        /// Loads Local Resource files in the tree
        /// </summary>
        /// <param name="Nodes">Node collection where to add new nodes</param>
        /// <param name="_path">Folder to search for</param>
        /// <returns>true if a Local Resource file is found in the given path</returns>
        /// <remarks>
        /// The Node collection will only contain en-US resources
        /// Only folders with Resource files will be included in the tree
        /// </remarks>
        /// <history>
        /// 	[vmasanas]	07/10/2004	Created
        /// </history>
        private bool PopulateTree( TreeNodeCollection Nodes, string _path )
        {
            string[] folders = Directory.GetDirectories( _path );
            bool found = false;

            foreach( string folder in folders )
            {
                DirectoryInfo objFolder = new DirectoryInfo( folder );
                TreeNode node = new TreeNode( objFolder.Name );
                node.Key = objFolder.FullName;
                node.ToolTip = objFolder.Name;
                node.ImageIndex = (int)eImageType.Folder;
                node.ClickAction = eClickAction.Expand;
                Nodes.Add( node );

                if( objFolder.Name == Localization.LocalResourceDirectory )
                {
                    // found local resource folder, add resources
                    foreach( FileInfo objFile in objFolder.GetFiles( "*.ascx.resx" ) )
                    {
                        TreeNode leaf = new TreeNode( Path.GetFileNameWithoutExtension( objFile.Name ) );
                        leaf.Key = objFile.FullName;
                        leaf.ToolTip = objFile.Name;
                        leaf.ImageIndex = (int)eImageType.Page;
                        node.TreeNodes.Add( leaf );
                    }
                    foreach( FileInfo objFile in objFolder.GetFiles( "*.aspx.resx" ) )
                    {
                        TreeNode leaf = new TreeNode( Path.GetFileNameWithoutExtension( objFile.Name ) );
                        leaf.Key = objFile.FullName;
                        leaf.ToolTip = objFile.Name;
                        leaf.ImageIndex = (int)eImageType.Page;
                        node.TreeNodes.Add( leaf );
                    }
                    // add LocalSharedResources if found
                    if( File.Exists( Path.Combine( folder, Localization.LocalSharedResourceFile ) ) )
                    {
                        FileInfo objFile = new FileInfo( Path.Combine( folder, Localization.LocalSharedResourceFile ) );
                        TreeNode leaf = new TreeNode( Path.GetFileNameWithoutExtension( objFile.Name ) );
                        leaf.Key = objFile.FullName;
                        leaf.ToolTip = objFile.Name;
                        leaf.ImageIndex = (int)eImageType.Page;
                        node.TreeNodes.Add( leaf );
                    }
                    found = true;
                }
                else
                {
                    //recurse
                    if( PopulateTree( node.TreeNodes, folder ) )
                    {
                        // found resources
                        found = true;
                    }
                    else
                    {
                        // not found, remove node
                        Nodes.Remove( node );
                    }
                }
            }

            return found;
        }
        /// <summary>
        /// Adds node to tree
        /// </summary>
        /// <param name="strName">Name of folder to display</param>
        /// <param name="strKey">Masked Key of folder location</param>
        /// <param name="eImage">Type of image</param>
        /// <param name="objNodes">Node collection to add to</param>
        /// <history>
        /// 	[Jon Henning]	10/26/2004	Created
        /// 	[Jon Henning]	8/24/2005	Added Populate on Demand (POD) logic
        /// </history>
        private TreeNode AddNode( string strName, string strKey, eImageType eImage, TreeNodeCollection objNodes )
        {
            TreeNode objNode;
            objNode = new TreeNode( strName );
            objNode.Key = strKey;
            objNode.ToolTip = strName;
            objNode.ImageIndex = (int)eImage;
            objNode.CssClass = "FileManagerTreeNode";
            objNodes.Add( objNode );

            if( objNode.Key == DestPath )
            {
                objNode.Selected = true;
                objNode.MakeNodeVisible();
            }

            return objNode;
        }