private void tree_NodeSelected(System.Windows.Forms.TreeNode node) { if (_toolStripAddress == null) return; if (node is ExplorerObjectNode && ((ExplorerObjectNode)node).ExplorerObject != null) { RemovePathButtons(); IExplorerObject pathObject = ((ExplorerObjectNode)node).ExplorerObject; while (pathObject != null) { if (pathObject is IExplorerParentObject) _toolStripAddress.Items.Insert(0, new SubPathParentToolStripItem(this, (IExplorerParentObject)pathObject)); SubPathToolStripItem item = new SubPathToolStripItem(pathObject); item.Click += new EventHandler(SubPathItem_Click); _toolStripAddress.Items.Insert(0, item); pathObject = pathObject.ParentExplorerObject; } _selected.Clear(); _selected.Add(_exObject = ((ExplorerObjectNode)node).ExplorerObject); ViewTabPages(_exObject); if (_createNewRibbonGroupBox != null) { RemoveCreateNewButtons(); PlugInManager compMan = new PlugInManager(); foreach (XmlNode compNode in compMan.GetPluginNodes(Plugins.Type.IExplorerObject)) { IExplorerObject ex = compMan.CreateInstance(compNode) as IExplorerObject; if (ex is IExplorerObjectCreatable) { if (!((IExplorerObjectCreatable)ex).CanCreate(_exObject)) continue; //if (_toolStripCreateNew.Items.Count == 0) //{ // _toolStripCreateNew.Items.Add(new System.Windows.Forms.ToolStripLabel(gView.Framework.Globalisation.LocalizedResources.GetResString("Create.New", "Create new") + ":")); //} CreateNewToolStripItem createNewItem = new CreateNewToolStripItem(ex); createNewItem.Click += createNewItem_Click; _createNewRibbonGroupBox.Items.Add(createNewItem); } } if (_createNewRibbonGroupBox.Items.Count > 0) _createNewRibbonGroupBox.Visibility = Visibility.Visible; } } else { RemovePathButtons(); ViewTabPages(null); } ValidateButtons(); }
async private Task tree_NodeSelected(global::System.Windows.Forms.TreeNode node) { if (_toolStripAddress == null) { return; } if (node is ExplorerObjectNode && ((ExplorerObjectNode)node).ExplorerObject != null) { RemovePathButtons(); IExplorerObject pathObject = ((ExplorerObjectNode)node).ExplorerObject; while (pathObject != null) { if (pathObject is IExplorerParentObject) { try { _toolStripAddress.Items.Insert(0, await SubPathParentToolStripItem.Create(this, (IExplorerParentObject)pathObject)); } catch (Exception ex) { string msg = ex.Message; MessageBox.Show(ex.Message); } } SubPathToolStripItem item = new SubPathToolStripItem(pathObject); item.Click += new EventHandler(SubPathItem_Click); _toolStripAddress.Items.Insert(0, item); pathObject = pathObject.ParentExplorerObject; } _selected.Clear(); _selected.Add(_exObject = ((ExplorerObjectNode)node).ExplorerObject); await ViewTabPages(_exObject); if (_createNewRibbonGroupBox != null) { RemoveCreateNewButtons(); PlugInManager compMan = new PlugInManager(); foreach (var compType in compMan.GetPlugins(gView.Framework.system.Plugins.Type.IExplorerObject)) { IExplorerObject ex = compMan.CreateInstance <IExplorerObject>(compType); if (ex is IExplorerObjectCreatable) { if (!((IExplorerObjectCreatable)ex).CanCreate(_exObject)) { continue; } //if (_toolStripCreateNew.Items.Count == 0) //{ // _toolStripCreateNew.Items.Add(new System.Windows.Forms.ToolStripLabel(gView.Framework.Globalisation.LocalizedResources.GetResString("Create.New", "Create new") + ":")); //} CreateNewToolStripItem createNewItem = new CreateNewToolStripItem(ex); createNewItem.Click += createNewItem_Click; _createNewRibbonGroupBox.Items.Add(createNewItem); } } if (_createNewRibbonGroupBox.Items.Count > 0) { _createNewRibbonGroupBox.Visibility = Visibility.Visible; } } } else { RemovePathButtons(); await ViewTabPages(null); } ValidateButtons(); }