/// <summary>User has selected a node. Raise event for presenter.</summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param> private void OnAfterSelect(object sender, EventArgs e) { try { if (SelectedNodeChanged != null) { treeview1.CursorChanged -= OnAfterSelect; NodeSelectedArgs selectionChangedData = new NodeSelectedArgs(); selectionChangedData.OldNodePath = previouslySelectedNodePath; TreePath selPath; TreeViewColumn selCol; treeview1.GetCursor(out selPath, out selCol); selectionChangedData.NewNodePath = GetFullPath(selPath); if (selectionChangedData.NewNodePath != selectionChangedData.OldNodePath) { SelectedNodeChanged.Invoke(this, selectionChangedData); } previouslySelectedNodePath = selectionChangedData.NewNodePath; treeview1.CursorChanged += OnAfterSelect; } else { // Presenter is ignoring the SelectedNodeChanged event. // We should scroll to the newly selected node so the user // can actually see what they've selected. treeview1.GetCursor(out TreePath path, out _); treeview1.ScrollToCell(path, null, false, 0, 1); } } catch (Exception err) { ShowError(err); } }
/// <summary>User has selected a node. Raise event for presenter.</summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param> private void OnAfterSelect(object sender, EventArgs e) { try { if (SelectedNodeChanged != null) { treeview1.CursorChanged -= OnAfterSelect; NodeSelectedArgs selectionChangedData = new NodeSelectedArgs(); selectionChangedData.OldNodePath = previouslySelectedNodePath; TreePath selPath; TreeViewColumn selCol; treeview1.GetCursor(out selPath, out selCol); selectionChangedData.NewNodePath = GetFullPath(selPath); if (selectionChangedData.NewNodePath != selectionChangedData.OldNodePath) { SelectedNodeChanged.Invoke(this, selectionChangedData); } previouslySelectedNodePath = selectionChangedData.NewNodePath; treeview1.CursorChanged += OnAfterSelect; } } catch (Exception err) { ShowError(err); } }
static public void ChangeSelection(object sender, SelectionSet set) { SelectedTunnels = new List <DBTunnel>(); SelectedNodes = new List <DBNode>(); if (set.Count != 0) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; var ids = set.GetObjectIds(); Autodesk.AutoCAD.DatabaseServices.TransactionManager tm = db.TransactionManager; Utils.TransactionControl(() => { Entity entity = null; foreach (var id in ids) { entity = (Entity)tm.GetObject(id, OpenMode.ForRead, false); if (entity.IsErased == true) { return; } long handleValue = entity.Handle.Value; if (entity is BaseTunnel) { DBTunnel dbTunnel = Utils.GetEntityFromDB(handleValue) as DBTunnel; if (dbTunnel == null) { return; } else { SelectedTunnels.Add(dbTunnel); } } else if (entity is Node) { DBNode dbNode = Utils.GetEntityFromDB(handleValue) as DBNode; if (dbNode == null) { return; } else { SelectedNodes.Add(dbNode); } } } }); } SelectedTunnelChanged?.Invoke(sender, SelectedTunnels); SelectedNodeChanged?.Invoke(sender, SelectedNodes); }
/// <summary>User has selected a node. Raise event for presenter.</summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param> private void OnAfterSelect(object sender, TreeViewEventArgs e) { if (SelectedNodeChanged != null) { NodeSelectedArgs selectionChangedData = new NodeSelectedArgs(); selectionChangedData.OldNodePath = previouslySelectedNodePath; selectionChangedData.NewNodePath = FullPath(e.Node); SelectedNodeChanged.Invoke(this, selectionChangedData); previouslySelectedNodePath = selectionChangedData.NewNodePath; } }
/// <summary>User has selected a node. Raise event for presenter.</summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="TreeViewEventArgs"/> instance containing the event data.</param> private void OnAfterSelect(object sender, EventArgs e) { if (SelectedNodeChanged != null) { NodeSelectedArgs selectionChangedData = new NodeSelectedArgs(); selectionChangedData.OldNodePath = previouslySelectedNodePath; TreePath selPath; TreeViewColumn selCol; treeview1.GetCursor(out selPath, out selCol); selectionChangedData.NewNodePath = FullPath(selPath); SelectedNodeChanged.Invoke(this, selectionChangedData); previouslySelectedNodePath = selectionChangedData.NewNodePath; } }
private void TvDbItems_AfterSelect(object sender, TreeViewEventArgs e) { SelectedNodeChanged?.Invoke(sender, e); }
private void OnSelectedNodeChanged() => SelectedNodeChanged?.Invoke();