Ejemplo n.º 1
0
        public void Exec(vsCommandExecOption ExecuteOption, ref object VariantIn, ref object VariantOut, ref bool Handled)
        {
            Logger.Write("Getting coupling graph");
            var methodName = GetMethodNameAtCursor();

            if (methodName != null)
            {
                _client.GetGraphFor(methodName);
            }
        }
 public void IncomingMessage(object message)
 {
     _syncContext.Post(x =>
     {
         if (x.GetType().Equals(typeof(VisualGraphGeneratedMessage)))
         {
             try
             {
                 var m = (VisualGraphGeneratedMessage)x;
                 if (m.Nodes.Count == 1 && string.IsNullOrEmpty(m.Nodes[0].Assembly))
                 {
                     Analytics.SendEvent("GraphNotFound");
                     _application.StatusBar.Text = "Node not found, has change been saved?";
                 }
                 else
                 {
                     Analytics.SendEvent("GraphDisplayed");
                     Logger.Write("sending message to Graph Provider");
                     var visualization =
                         GraphGeneratorFactory.GetVisualizerFor(
                             _client.MMConfiguration.GraphProvider.ToString());
                     visualization.GenerateAndShowGraphFor(m);
                 }
             }
             catch (Exception ex)
             {
                 Analytics.SendEvent("GraphError");
                 Logger.Write("error generating graph");
                 Logger.Write(ex);
             }
         }
         if (message.GetType() == typeof(AssembliesMinimizedMessage))
         {
             try
             {
                 var visualization =
                     GraphGeneratorFactory.GetVisualizerFor(
                         _client.MMConfiguration.GraphProvider.ToString());
                 Logger.Write("wantsrefresh=" + visualization.WantsRefresh());
                 if (visualization.WantsRefresh())
                 {
                     Logger.Write("Sending Message to get Graph Refresh");
                     _client.GetGraphFor(visualization.GetCurrentSignature());
                 }
             }
             catch (Exception ex)
             {
                 Logger.Write("Error updating graph " + ex);
             }
         }
     }, message);
 }
Ejemplo n.º 3
0
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (_gViewer == null)
            {
                return(false);
            }
            if (keyData == (Keys.Up | Keys.Control))
            {
                _gViewer.ZoomOutPressed();
            }
            if (keyData == (Keys.Down | Keys.Control))
            {
                _gViewer.ZoomInPressed();
            }
            if (keyData == Keys.P)
            {
                if (_selectedNode != null)
                {
                    _client.GetProfiledGraphFor(_selectedNode.Id);
                }
            }
            if ((keyData & Keys.S) == Keys.S)
            {
                //if (_selectedNode != null)
                //    _client.GetProfiledGraphFor(_selectedNode.Id);
                //_gViewer.SaveButtonPressed();
            }
            if ((keyData & Keys.G) == Keys.G)
            {
                if (_selectedNode != null)
                {
                    _client.GetGraphFor(_selectedNode.Id);
                }
            }

            if (keyData == Keys.PageDown || keyData == Keys.Oemplus)
            {
                _gViewer.ZoomInPressed();
            }
            if (keyData == Keys.PageUp || keyData == Keys.OemMinus)
            {
                _gViewer.ZoomOutPressed();
            }
            if (keyData == (Keys.Down | Keys.Alt))
            {
                _gViewer.Pan(0, _gViewer.GraphHeight * -.05);
            }
            if (keyData == (Keys.Up | Keys.Alt))
            {
                _gViewer.Pan(0, _gViewer.GraphHeight * .05);
            }
            if (keyData == (Keys.Left | Keys.Alt))
            {
                _gViewer.Pan(_gViewer.GraphHeight * -.1, 0);
            }
            if (keyData == (Keys.Right | Keys.Alt))
            {
                _gViewer.Pan(_gViewer.GraphHeight * .1, 0);
            }
            if (keyData == Keys.H || keyData == Keys.Left)
            {
                selectNode(direction.left);
            }
            if (keyData == Keys.L || keyData == Keys.Right)
            {
                selectNode(direction.right);
            }
            if (keyData == Keys.K || keyData == Keys.Up)
            {
                selectNode(direction.up);
            }
            if (keyData == Keys.J || keyData == Keys.Down)
            {
                selectNode(direction.down);
            }
            if (keyData == Keys.Escape)
            {
                Close();
            }
            if (keyData == Keys.Enter || keyData == Keys.Return || keyData == Keys.Space)
            {
                if (_selectedNode != null)
                {
                    MethodFinder_Slow.GotoMethod(_selectedNode.Id, _dte);
                }
                Close();
            }
            return(true);
        }