Example #1
0
 /// <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);
     }
 }
Example #2
0
 /// <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);
     }
 }
Example #3
0
        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);
        }
Example #4
0
 /// <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;
     }
 }
Example #5
0
 /// <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;
     }
 }
Example #6
0
 private void TvDbItems_AfterSelect(object sender, TreeViewEventArgs e)
 {
     SelectedNodeChanged?.Invoke(sender, e);
 }
Example #7
0
 private void OnSelectedNodeChanged() => SelectedNodeChanged?.Invoke();