Skip to content

Commit

Permalink
added context menu; can now run all tests from Code Explorer!
Browse files Browse the repository at this point in the history
  • Loading branch information
retailcoder committed Mar 8, 2015
1 parent 76d078c commit d95d740
Show file tree
Hide file tree
Showing 6 changed files with 183 additions and 12 deletions.
11 changes: 11 additions & 0 deletions RetailCoder.VBE/UI/CodeExplorer/CodeExplorerDockablePresenter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,17 @@ private void RegisterControlEvents()
Control.ToggleFolders += ToggleFolders;
Control.ShowDesigner += ShowDesigner;
Control.DisplayStyleChanged += DisplayStyleChanged;
Control.RunAllTests += ContextMenuRunAllTests;
}

public event EventHandler RunAllTests;
private void ContextMenuRunAllTests(object sender, EventArgs e)
{
var handler = RunAllTests;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}

private void DisplayStyleChanged(object sender, EventArgs e)
Expand Down
141 changes: 135 additions & 6 deletions RetailCoder.VBE/UI/CodeExplorer/CodeExplorerWindow.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 22 additions & 6 deletions RetailCoder.VBE/UI/CodeExplorer/CodeExplorerWindow.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using Microsoft.Vbe.Interop;
using Rubberduck.VBA.Grammar;
using Rubberduck.Extensions;
using Rubberduck.Properties;
using Rubberduck.VBA.ParseTreeListeners;

namespace Rubberduck.UI.CodeExplorer
Expand Down Expand Up @@ -37,6 +36,23 @@ public CodeExplorerWindow()
SolutionTree.ImageList = TreeNodeIcons;
SolutionTree.ShowNodeToolTips = true;
SolutionTree.LabelEdit = false;

AddClassContextButton.Click += AddClassButton_Click;
AddStdModuleContextButton.Click += AddStdModuleButton_Click;
AddFormContextButton.Click += AddFormButton_Click;
AddTestModuleContextButton.Click += AddTestModuleButtonClick;
NavigateContextButton.Click += SolutionTreeClick;
RunAllTestsContextButton.Click += RunAllTestsContextButton_Click;
}

public event EventHandler RunAllTests;
private void RunAllTestsContextButton_Click(object sender, EventArgs e)
{
var handler = RunAllTests;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}

private TreeViewDisplayStyle _displayStyle;
Expand Down Expand Up @@ -74,8 +90,8 @@ private void CheckDisplayStyleButton()
DisplaySignaturesButton.Checked = DisplayStyle == TreeViewDisplayStyle.Signatures;
DisplayMemberNamesButton.Checked = DisplayStyle == TreeViewDisplayStyle.MemberNames;
DisplayModeButton.Image = DisplayStyle == TreeViewDisplayStyle.Signatures
? Properties.Resources.DisplayFullSignature_13393_32
: Properties.Resources.DisplayName_13394_32;
? Resources.DisplayFullSignature_13393_32
: Resources.DisplayName_13394_32;
}

public event EventHandler AddTestModule;
Expand All @@ -92,10 +108,10 @@ private void SolutionTreeClick(object sender, EventArgs e)
{
var node = SolutionTree.SelectedNode;
ShowDesignerButton.Enabled = (node != null && node.ImageKey == "Form");
DeleteButton.Enabled = CanDeleteNode(node);
ShowDesignerContextButton.Enabled = ShowDesignerButton.Enabled;

SelectedNodeLabel.Text =
node == null || node.Tag == null
node == null
? string.Empty
: node.Text;
}
Expand Down
3 changes: 3 additions & 0 deletions RetailCoder.VBE/UI/CodeExplorer/CodeExplorerWindow.resx
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@
<metadata name="CodeExplorerToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="CodeExplorerContextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>317, 17</value>
</metadata>
<metadata name="TreeNodeIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>183, 17</value>
</metadata>
Expand Down
6 changes: 6 additions & 0 deletions RetailCoder.VBE/UI/RubberduckMenu.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public RubberduckMenu(VBE vbe, AddIn addIn, IConfigurationService configService,

var codeExplorer = new CodeExplorerWindow();
var codePresenter = new CodeExplorerDockablePresenter(parser, vbe, addIn, codeExplorer);
codePresenter.RunAllTests += codePresenter_RunAllTests;
_codeExplorerMenu = new CodeExplorerMenu(vbe, addIn, codeExplorer, codePresenter);

var todoSettings = configService.LoadConfiguration().UserSettings.ToDoListSettings;
Expand All @@ -50,6 +51,11 @@ public RubberduckMenu(VBE vbe, AddIn addIn, IConfigurationService configService,
_refactorMenu = new RefactorMenu(IDE, AddIn, parser);
}

private void codePresenter_RunAllTests(object sender, System.EventArgs e)
{
_testMenu.RunAllTests();
}

public void Initialize()
{
const int windowMenuId = 30009;
Expand Down
6 changes: 6 additions & 0 deletions RetailCoder.VBE/UI/UnitTesting/TestMenu.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ public void Initialize(CommandBarControls menuControls)
_runAllTestsButton = AddButton(menu, "&Run All Tests", true, new CommandBarButtonClickEvent(OnRunAllTestsButtonClick), Resources.AllLoadedTests_8644_24);
}

public void RunAllTests()
{
var cancelDefault = false;
OnRunAllTestsButtonClick(null, ref cancelDefault);
}

void OnRunAllTestsButtonClick(CommandBarButton Ctrl, ref bool CancelDefault)
{
_presenter.Show();
Expand Down

0 comments on commit d95d740

Please sign in to comment.