Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/CS/DockingDemo/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WinForms/CS/DockingDemo/SolutionExplorer.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using DevExpress.XtraTreeList.Nodes;
using DevExpress.XtraTreeList.Columns;

namespace DevExpress.XtraBars.Demos.DockingDemo {
    public partial class SolutionExplorer : System.Windows.Forms.UserControl {
        public SolutionExplorer() {
            InitializeComponent();
            InitTreeView(treeView1);
            treeView1.CustomDrawNodeCell += new DevExpress.XtraTreeList.CustomDrawNodeCellEventHandler(treeView1_CustomDrawNodeCell);
            treeView1.AfterCollapse += new DevExpress.XtraTreeList.NodeEventHandler(treeView1_AfterCollapse);
            treeView1.AfterExpand += new DevExpress.XtraTreeList.NodeEventHandler(treeView1_AfterExpand);
            AddAllNodes(iShow.Down);
        }
        public static void InitTreeView(DevExpress.XtraTreeList.TreeList treeView) {
            TreeListColumn column = treeView.Columns.Add();
            column.Visible = true;
            treeView.OptionsView.ShowColumns = false;
            treeView.OptionsView.ShowIndicator = false;
            treeView.OptionsView.ShowVertLines = false;
            treeView.OptionsView.ShowHorzLines = false;
            treeView.OptionsBehavior.Editable = false;
            treeView.OptionsSelection.EnableAppearanceFocusedCell = false;
        }
        void treeView1_CustomDrawNodeCell(object sender, DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs e) {
            if(e.Node.Id == 1) e.Appearance.Font = new Font(e.Appearance.Font, FontStyle.Bold);
        }

        private void SetIndex(TreeListNode node, int index, bool expand) {
            int newIndex = expand ? index - 1 : index + 1;
            if(node.StateImageIndex == index)
                node.StateImageIndex = newIndex;
        }

        void treeView1_AfterExpand(object sender, DevExpress.XtraTreeList.NodeEventArgs e) {
            SetIndex(e.Node, 7, true);
            SetIndex(e.Node, 9, true);
        }

        void treeView1_AfterCollapse(object sender, DevExpress.XtraTreeList.NodeEventArgs e) {
            SetIndex(e.Node, 6, false);
            SetIndex(e.Node, 8, false);
        }

        private void AddAllNodes(bool showAll) {
            treeView1.Nodes.Clear();
            treeView1.AppendNode(new object[] { "Solution \'DockingDemo\' (1 project)" }, -1, -1, -1, 3);
            treeView1.AppendNode(new object[] { "DockingDemo" }, -1, -1, -1, 4);
            treeView1.AppendNode(new object[] { "References" }, 1, -1, -1, 7);
            treeView1.AppendNode(new object[] { "DevExpress.Utils" }, 2, -1, -1, 5);
            treeView1.AppendNode(new object[] { "DevExpress.XtraBars" }, 2, -1, -1, 5);
            treeView1.AppendNode(new object[] { "DevExpress.XtraEditors" }, 2, -1, -1, 5);
            treeView1.AppendNode(new object[] { "System" }, 2, -1, -1, 5);
            treeView1.AppendNode(new object[] { "System.Drawing" }, 2, -1, -1, 5);
            treeView1.AppendNode(new object[] { "System.Windows.Forms" }, 2, -1, -1, 5);
            if(showAll) {
                treeView1.AppendNode(new object[] { "bin" }, 1, -1, -1, 9);
                treeView1.AppendNode(new object[] { "Debug" }, 9, -1, -1, 9);
                treeView1.AppendNode(new object[] { "Release" }, 9, -1, -1, 9);
                treeView1.AppendNode(new object[] { "obj" }, 1, -1, -1, 9);
                treeView1.AppendNode(new object[] { "Debug" }, 12, -1, -1, 9);
                treeView1.AppendNode(new object[] { "Release" }, 12, -1, -1, 9);
            }
            treeView1.AppendNode(new object[] { "AssemblyInfo.cs" }, 1, -1, -1, 10);
            treeView1.AppendNode(new object[] { "frmMain.cs" }, 1, -1, -1, 11);
            treeView1.AppendNode(new object[] { "SolutionExplorer.cs" }, 1, -1, -1, 12);
            if(showAll) {
                treeView1.AppendNode(new object[] { "frmMain.resx" }, 16, -1, -1, 13);
                treeView1.AppendNode(new object[] { "SolutionExplorer.resx" }, 17, -1, -1, 13);
            }
            treeView1.ExpandAll();
        }

        private void iShow_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
            AddAllNodes(((DevExpress.XtraBars.BarButtonItem)e.Item).Down);
        }

        public event EventHandler PropertiesItemClick;
        private void iProperties_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
            if(PropertiesItemClick != null) PropertiesItemClick(sender, EventArgs.Empty);

        }
        public event EventHandler TreeViewItemClick;
        private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e) {
                if(TreeViewItemClick != null) TreeViewItemClick(sender, EventArgs.Empty);
        }
    }
}