Browse Source

Do not show ASP.NET MVC Add View/Add Controller menu items when project is selected.

pull/18/head
Matt Ward 15 years ago
parent
commit
c35486ae3d
  1. 1
      src/AddIns/BackendBindings/AspNet.Mvc/Project/AspNet.Mvc.csproj
  2. 9
      src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcControllerFolderSelectedConditionEvaluator.cs
  3. 26
      src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcFolderSelectedConditionEvaluator.cs
  4. 9
      src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcViewFolderSelectedConditionEvaluator.cs
  5. 16
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcControllerFolderSelectedConditionEvaluatorTests.cs
  6. 16
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcViewFolderSelectedConditionEvaluatorTests.cs

1
src/AddIns/BackendBindings/AspNet.Mvc/Project/AspNet.Mvc.csproj

@ -69,6 +69,7 @@ @@ -69,6 +69,7 @@
<Compile Include="Src\IMvcViewFileGenerator.cs" />
<Compile Include="Src\ISelectedMvcFolder.cs" />
<Compile Include="Src\IsMvcControllerFolderSelectedConditionEvaluator.cs" />
<Compile Include="Src\IsMvcFolderSelectedConditionEvaluator.cs" />
<Compile Include="Src\IsMvcViewFolderSelectedConditionEvaluator.cs" />
<Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="Src\MvcAddViewTextTemplateFolder.cs" />

9
src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcControllerFolderSelectedConditionEvaluator.cs

@ -2,17 +2,10 @@ @@ -2,17 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.AspNet.Mvc
{
public class IsMvcControllerFolderSelectedConditionEvaluator : IConditionEvaluator
public class IsMvcControllerFolderSelectedConditionEvaluator : IsMvcFolderSelectedConditionEvaluator
{
public bool IsValid(object owner, Condition condition)
{
var directoryNode = owner as DirectoryNode;
return directoryNode != null;
}
}
}

26
src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcFolderSelectedConditionEvaluator.cs

@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.AspNet.Mvc
{
public abstract class IsMvcFolderSelectedConditionEvaluator : IConditionEvaluator
{
public bool IsValid(object owner, Condition condition)
{
if (IsProjectNode(owner)) {
return false;
}
var directoryNode = owner as DirectoryNode;
return directoryNode != null;
}
bool IsProjectNode(object owner)
{
return owner is ProjectNode;
}
}
}

9
src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/IsMvcViewFolderSelectedConditionEvaluator.cs

@ -2,17 +2,10 @@ @@ -2,17 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.AspNet.Mvc
{
public class IsMvcViewFolderSelectedConditionEvaluator : IConditionEvaluator
public class IsMvcViewFolderSelectedConditionEvaluator : IsMvcFolderSelectedConditionEvaluator
{
public bool IsValid(object owner, Condition condition)
{
var directoryNode = owner as DirectoryNode;
return directoryNode != null;
}
}
}

16
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcControllerFolderSelectedConditionEvaluatorTests.cs

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using AspNet.Mvc.Tests.Helpers;
using ICSharpCode.AspNet.Mvc;
using ICSharpCode.SharpDevelop.Project;
using NUnit.Framework;
@ -30,6 +31,12 @@ namespace AspNet.Mvc.Tests @@ -30,6 +31,12 @@ namespace AspNet.Mvc.Tests
return node;
}
ProjectNode CreateProjectNode()
{
var project = TestableProject.CreateProject();
return new ProjectNode(project);
}
[Test]
public void IsValid_NullOwnerIsPassed_ReturnsFalse()
{
@ -46,5 +53,14 @@ namespace AspNet.Mvc.Tests @@ -46,5 +53,14 @@ namespace AspNet.Mvc.Tests
Assert.IsTrue(valid);
}
[Test]
public void IsValid_ProjectNodePassed_ReturnsFalse()
{
ProjectNode owner = CreateProjectNode();
bool valid = IsValid(owner);
Assert.IsFalse(valid);
}
}
}

16
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/IsMvcViewFolderSelectedConditionEvaluatorTests.cs

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using AspNet.Mvc.Tests.Helpers;
using ICSharpCode.AspNet.Mvc;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Project;
@ -31,6 +32,12 @@ namespace AspNet.Mvc.Tests @@ -31,6 +32,12 @@ namespace AspNet.Mvc.Tests
return node;
}
ProjectNode CreateProjectNode()
{
var project = TestableProject.CreateProject();
return new ProjectNode(project);
}
[Test]
public void IsValid_NullOwnerIsPassed_ReturnsFalse()
{
@ -47,5 +54,14 @@ namespace AspNet.Mvc.Tests @@ -47,5 +54,14 @@ namespace AspNet.Mvc.Tests
Assert.IsTrue(valid);
}
[Test]
public void IsValid_ProjectNodePassed_ReturnsFalse()
{
ProjectNode owner = CreateProjectNode();
bool valid = IsValid(owner);
Assert.IsFalse(valid);
}
}
}
Loading…
Cancel
Save