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); }
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); }