Browse Source

Disable the context menu in the setup files window when there are errors loading the WiX document.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5709 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Matt Ward 15 years ago
parent
commit
fe6d788819
  1. 5
      src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixPackageFilesControl.cs
  2. 2
      src/AddIns/BackendBindings/WixBinding/Project/Src/IWixPackageFilesView.cs
  3. 2
      src/AddIns/BackendBindings/WixBinding/Project/Src/WixPackageFilesEditor.cs
  4. 6
      src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/AddDirectoryTestFixture.cs
  5. 6
      src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/NoRootDirectoryFoundTestFixture.cs
  6. 6
      src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/NoRootDirectoryInWixProductFileTestFixture.cs
  7. 6
      src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/NoWixProductFileTestFixture.cs
  8. 7
      src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/NoWixSourceFileInProjectTestFixture.cs
  9. 6
      src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWixPackageFilesView.cs
  10. 8
      src/AddIns/BackendBindings/WixBinding/WixBinding.sln

5
src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixPackageFilesControl.cs

@ -39,6 +39,11 @@ namespace ICSharpCode.WixBinding @@ -39,6 +39,11 @@ namespace ICSharpCode.WixBinding
/// Raised when the files are changed and require saving.
/// </summary>
public event DirtyChangedEventHandler DirtyChanged;
public bool ContextMenuEnabled {
get { return packageFilesTreeView.ContextMenuStrip.Enabled; }
set { packageFilesTreeView.ContextMenuStrip.Enabled = value; }
}
/// <summary>
/// Gets or sets the error message that will be displayed instead of the

2
src/AddIns/BackendBindings/WixBinding/Project/Src/IWixPackageFilesView.cs

@ -16,6 +16,8 @@ namespace ICSharpCode.WixBinding @@ -16,6 +16,8 @@ namespace ICSharpCode.WixBinding
/// </summary>
public interface IWixPackageFilesView
{
bool ContextMenuEnabled { get; set; }
/// <summary>
/// Displays the message in the view that no WiX source file is contained
/// in the project.

2
src/AddIns/BackendBindings/WixBinding/Project/Src/WixPackageFilesEditor.cs

@ -63,6 +63,7 @@ namespace ICSharpCode.WixBinding @@ -63,6 +63,7 @@ namespace ICSharpCode.WixBinding
{
// Look for Wix document containing root directory.
document = null;
view.ContextMenuEnabled = false;
if (project.WixSourceFiles.Count > 0) {
bool errors = false;
WixDocument currentDocument = null;
@ -83,6 +84,7 @@ namespace ICSharpCode.WixBinding @@ -83,6 +84,7 @@ namespace ICSharpCode.WixBinding
} else if (document == null) {
view.ShowNoRootDirectoryFoundMessage();
} else {
view.ContextMenuEnabled = true;
SelectedElementChanged();
}
} else {

6
src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/AddDirectoryTestFixture.cs

@ -124,6 +124,12 @@ namespace WixBinding.Tests.PackageFiles @@ -124,6 +124,12 @@ namespace WixBinding.Tests.PackageFiles
Assert.AreEqual(3, view.ElementsAdded.Length);
}
[Test]
public void ContextMenuIsEnabled()
{
Assert.IsTrue(view.ContextMenuEnabled);
}
protected override string GetWixXml()
{
return "<Wix xmlns=\"http://schemas.microsoft.com/wix/2006/wi\">\r\n" +

6
src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/NoRootDirectoryFoundTestFixture.cs

@ -40,6 +40,12 @@ namespace WixBinding.Tests.PackageFiles @@ -40,6 +40,12 @@ namespace WixBinding.Tests.PackageFiles
Assert.IsTrue(view.IsNoRootDirectoryFoundMessageDisplayed);
}
[Test]
public void ContextMenuIsDisabled()
{
Assert.IsFalse(view.ContextMenuEnabled);
}
/// <summary>
/// Deliberately use WiX 2.0's namespace so the test fixture will not find any
/// target directory element.

6
src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/NoRootDirectoryInWixProductFileTestFixture.cs

@ -46,6 +46,12 @@ namespace WixBinding.Tests.PackageFiles @@ -46,6 +46,12 @@ namespace WixBinding.Tests.PackageFiles
Assert.IsTrue(view.IsNoDifferencesFoundMessageDisplayed);
}
[Test]
public void ContextMenuIsEnabled()
{
Assert.IsTrue(view.ContextMenuEnabled);
}
protected override string GetWixXml()
{
return "<Wix xmlns=\"http://schemas.microsoft.com/wix/2006/wi\">\r\n" +

6
src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/NoWixProductFileTestFixture.cs

@ -39,6 +39,12 @@ namespace WixBinding.Tests.PackageFiles @@ -39,6 +39,12 @@ namespace WixBinding.Tests.PackageFiles
Assert.IsTrue(view.IsNoRootDirectoryFoundMessageDisplayed);
}
[Test]
public void ContextMenuIsDisabled()
{
Assert.IsFalse(view.ContextMenuEnabled);
}
protected override string GetWixXml()
{
return "<Wix xmlns=\"http://schemas.microsoft.com/wix/2006/wi\">\r\n" +

7
src/AddIns/BackendBindings/WixBinding/Test/PackageFiles/NoWixSourceFileInProjectTestFixture.cs

@ -25,6 +25,7 @@ namespace WixBinding.Tests.PackageFiles @@ -25,6 +25,7 @@ namespace WixBinding.Tests.PackageFiles
WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();
p.Name = "MySetup";
view = new MockWixPackageFilesView();
view.ContextMenuEnabled = true;
WixPackageFilesEditor editor = new WixPackageFilesEditor(view, this, this);
editor.ShowFiles(p);
}
@ -55,5 +56,11 @@ namespace WixBinding.Tests.PackageFiles @@ -55,5 +56,11 @@ namespace WixBinding.Tests.PackageFiles
public void Write(WixDocument document)
{
}
[Test]
public void ContextMenuDisabledInPackageFilesView()
{
Assert.IsFalse(view.ContextMenuEnabled);
}
}
}

6
src/AddIns/BackendBindings/WixBinding/Test/Utils/MockWixPackageFilesView.cs

@ -33,6 +33,7 @@ namespace WixBinding.Tests.Utils @@ -33,6 +33,7 @@ namespace WixBinding.Tests.Utils
List<XmlElement> directoriesAdded = new List<XmlElement>();
bool clearDirectoriesCalled;
WixPackageFilesDiffResult[] diffResults;
bool contextMenuEnabled;
public MockWixPackageFilesView()
{
@ -216,5 +217,10 @@ namespace WixBinding.Tests.Utils @@ -216,5 +217,10 @@ namespace WixBinding.Tests.Utils
return diffResults;
}
}
public bool ContextMenuEnabled {
get { return contextMenuEnabled; }
set { contextMenuEnabled = value; }
}
}
}

8
src/AddIns/BackendBindings/WixBinding/WixBinding.sln

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
# SharpDevelop 3.0.0.3280
# SharpDevelop 3.2.0.5687
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}"
@ -26,6 +26,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Wi @@ -26,6 +26,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Wi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "..\..\..\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "..\..\..\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -80,5 +82,9 @@ Global @@ -80,5 +82,9 @@ Global
{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}.Release|Any CPU.Build.0 = Release|Any CPU
{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Debug|Any CPU.Build.0 = Debug|Any CPU
{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|Any CPU.Build.0 = Release|Any CPU
{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

Loading…
Cancel
Save