private void AddToolsOnDesignExplorer(IExplorerTreeConfig config)
        {
            var toolsCollection = config.ContextMenu.Tools;

            for (int i = 0; i < mDefaultAddCExpMenus.Count; i++)
            {
                var tool = mDefaultAddCExpMenus[i];
                if (toolsCollection.Contains(tool.Key))
                {
                    toolsCollection.Remove(tool.Key);
                }

                toolsCollection.AddTool(tool.Key).IsFirstInGroup = i == 0;
            }


/*
 *          foreach (var tool in mDefaultAddCExpMenus)
 *          {
 *              try
 *              {
 *                  if (toolsCollection.Contains(tool.Key))
 *                      toolsCollection.Remove(tool.Key);
 *
 *                  toolsCollection.AddTool(tool.Key).IsFirstInGroup = tool.IsFirstInGroup;
 *              }
 *              catch (Exception e)
 *              {
 *                  continue;
 *              }
 *          }*/

            /*          if(toolsCollection.Contains("Aveva.Jin.CstExpAddElements"))
             *            toolsCollection.Remove("Aveva.Jin.CstExpAddElements");
             *
             *        var addTool = toolsCollection.AddTool("Aveva.Jin.CstExpAddElements");
             *        addTool.IsFirstInGroup = true;
             *
             *        if (toolsCollection.Contains("Aveva.Jin.CstExpAdd2DElements"))
             *            toolsCollection.Remove("Aveva.Jin.CstExpAdd2DElements");
             *        toolsCollection.AddTool("Aveva.Jin.CstExpAdd2DElements");
             *
             *
             *        if(toolsCollection.Contains("Aveva.Jin.CstExpDeleteElements"))
             *            toolsCollection.Remove("Aveva.Jin.CstExpDeleteElements");
             *
             *        var delTool = toolsCollection.AddTool("Aveva.Jin.CstExpDeleteElements");
             *        delTool.IsFirstInGroup = true;
             *
             *
             *        if (toolsCollection.Contains("Aveva.Jin.CstExpCopyElements"))
             *            toolsCollection.Remove("Aveva.Jin.CstExpCopyElements");
             *
             *        toolsCollection.AddTool("Aveva.Jin.CstExpCopyElements");*/
        }
        private void RemoveToolsOnDesignExplorer(IExplorerTreeConfig config)
        {
            var toolsCollection = config.ContextMenu.Tools;

            foreach (var key in mDefaultAddCExpMenus.Select(x => x.Key))
            {
                if (toolsCollection.Contains(key))
                {
                    toolsCollection.Remove(key);
                }
            }
        }
        public void Start()
        {
            //get treeview...
            mSelect = SelectMode.Mulity;


            //rev3
            mExcludedNodes = new List <UltraTreeNode>();

            //rev2
            mUltraTree.AllowDrop   = true;
            mUltraTree.MouseClick += mUltraTree_MouseClick;

            mUltraTree.BeforeSelect += mUltraTree_BeforeSelect;
            mUltraTree.DragDrop     += mUltraTree_DragDrop;

            //add context menu...

            /*     var explorerService = ServiceManager.Instance.GetService(typeof(ExplorerService)) as ExplorerService;
             *   if (explorerService != null)
             *   {
             *       mExplorerTreeConfig = explorerService.GetExplorerConfig("Design");
             *       CreateToos();
             *       AddToolsOnDesignExplorer(mExplorerTreeConfig);
             *   }*/


            //add context menu...
            mExplorerTreeConfig = CustomExplorerAddin.DesigExpTreeConfig;


            CreateToos();
            AddToolsOnDesignExplorer(mExplorerTreeConfig);

            //remove single selection menu....
            SetMultiSelectMenu(mExplorerTreeConfig.ContextMenu);
        }
        void windowManager_WindowLayoutLoaded(object sender, EventArgs e)
        {
            var explorerService = mServiceManager.GetService(typeof(ExplorerService)) as ExplorerService;
            var sCmdBarManager  = mServiceManager.GetService(typeof(CommandBarManager)) as CommandBarManager;


            SingleSelectionMenus = new List <ExplorerContextMenu>();
            MultiSelectionMenus  = new List <ExplorerContextMenu>();

            if (explorerService != null)
            {
                if (ServiceManager.Instance.ApplicationName.ToUpper() == "OUTFITTING")
                {
                    DesigExpTreeConfig = explorerService.GetExplorerConfig("Design");
                }
                else if (ServiceManager.Instance.ApplicationName.ToUpper() == "PARAGON")
                {
                    DesigExpTreeConfig = explorerService.GetExplorerConfig("Catalogue");
                }
                else if (ServiceManager.Instance.ApplicationName.ToUpper() == "MARINEDRAFTING")
                {
                    DesigExpTreeConfig = explorerService.GetExplorerConfig("Design");
                }



                //DesigExpTreeConfig = explorerService.GetExplorerConfig("Design");
                //explorerService.GetExplorerConfig("Catalogue");
                //explorerService.GetExplorerConfig("Draft");
            }

            mCustExp = CustomExplorer.Instance;


            var stbtnMSelect = sCmdBarManager.RootTools.AddStateButtonTool("PHS.DoMulitySelect", "Multi Selection Mode", null);


            foreach (ITool tool in DesigExpTreeConfig.ContextMenu.Tools)
            {
                SingleSelectionMenus.Add(new ExplorerContextMenu(tool));
            }

            DesigExpTreeConfig.ContextMenu.Tools.InsertTool("PHS.DoMulitySelect", 0).IsFirstInGroup = true;

            stbtnMSelect.Checked = false;
            //mCustExp.Start();

            stbtnMSelect.ToolClick += stbtnMSelect_ToolClick;


            //C:\AVEVA\Marine\OH12.1.SP4\DesignExplorer.uic 파일이 만들어지고 해당 메뉴를 Design Explorer의 Popup Menu에 추가한다.
            //add multiy..
            if (ServiceManager.Instance.ApplicationName.ToUpper() == "MARINEDRAFTING")
            {
                var uicFile = ExplorerCommandUic.CreateUicFile("Design");
                foreach (var tool in ExplorerCommands.ExplorerCommands.CreateButtons(uicFile, DesigExpTreeConfig.ContextMenu, "MTool"))
                {
                    SingleSelectionMenus.Add(new ExplorerContextMenu(tool));
                }
            }

            mCustExp.settingdata();
        }