Browse Source

Add child elements menu in WiX setup files view now working.

pull/32/merge
Matt Ward 12 years ago
parent
commit
5d4d80c79c
  1. 96
      src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/AddChildElementsMenuBuilder.cs
  2. 4
      src/AddIns/BackendBindings/WixBinding/Project/WixBinding.addin
  3. 2
      src/AddIns/BackendBindings/WixBinding/Test/Project/GetPreprocessorVariableValueTests.cs
  4. 2
      src/AddIns/BackendBindings/WixBinding/WixBinding.sln

96
src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/AddChildElementsMenuBuilder.cs

@ -1,48 +1,48 @@ @@ -1,48 +1,48 @@
//// 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 System.Collections.Generic;
//using System.Collections.Specialized;
//using System.Windows.Forms;
//
//using ICSharpCode.Core;
//using ICSharpCode.Core.WinForms;
//
//namespace ICSharpCode.WixBinding
//{
// public class AddChildElementsMenuBuilder : ISubmenuBuilder
// {
// public ToolStripItem[] BuildSubmenu(Codon codon, object owner)
// {
// StringCollection allowedChildElements = GetAllowedChildElements(owner);
// return CreateMenuItems(allowedChildElements);
// }
//
// ToolStripMenuItem[] CreateMenuItems(StringCollection elements)
// {
// List<ToolStripMenuItem> items = new List<ToolStripMenuItem>();
// foreach (string element in elements) {
// items.Add(new AddElementCommand(element));
// }
// return items.ToArray();
// }
//
// /// <summary>
// /// Gets the allowed child elements for the current selected node.
// /// </summary>
// StringCollection GetAllowedChildElements(object owner)
// {
// WixTreeNode node = owner as WixTreeNode;
// WixPackageFilesTreeView treeView = owner as WixPackageFilesTreeView;
// if (node != null) {
// treeView = node.TreeView as WixPackageFilesTreeView;
// }
//
// if (treeView != null) {
// return treeView.AllowedChildElements;
// }
// return new StringCollection();
// }
// }
//}
// 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 System.Collections.Generic;
using System.Collections.Specialized;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.Core.WinForms;
namespace ICSharpCode.WixBinding
{
public class AddChildElementsMenuBuilder : IMenuItemBuilder
{
public IEnumerable<object> BuildItems(Codon codon, object parameter)
{
StringCollection allowedChildElements = GetAllowedChildElements(parameter);
return CreateMenuItems(allowedChildElements);
}
ToolStripMenuItem[] CreateMenuItems(StringCollection elements)
{
List<ToolStripMenuItem> items = new List<ToolStripMenuItem>();
foreach (string element in elements) {
items.Add(new AddElementCommand(element));
}
return items.ToArray();
}
/// <summary>
/// Gets the allowed child elements for the current selected node.
/// </summary>
StringCollection GetAllowedChildElements(object owner)
{
WixTreeNode node = owner as WixTreeNode;
WixPackageFilesTreeView treeView = owner as WixPackageFilesTreeView;
if (node != null) {
treeView = node.TreeView as WixPackageFilesTreeView;
}
if (treeView != null) {
return treeView.AllowedChildElements;
}
return new StringCollection();
}
}
}

4
src/AddIns/BackendBindings/WixBinding/Project/WixBinding.addin

@ -252,7 +252,7 @@ @@ -252,7 +252,7 @@
label = "Diff"
class = "ICSharpCode.WixBinding.ShowDiffCommand"/>
</ComplexCondition>
<!--<ComplexCondition action = "Exclude">
<ComplexCondition action = "Exclude">
<Or>
<Condition name = "Ownerstate" ownerstate = "ChildElementsAllowed"/>
<Condition name = "Ownerstate" ownerstate = "NothingSelectedAndChildElementsAllowed"/>
@ -264,7 +264,7 @@ @@ -264,7 +264,7 @@
type = "Builder"
class = "ICSharpCode.WixBinding.AddChildElementsMenuBuilder"/>
</MenuItem>
</ComplexCondition>-->
</ComplexCondition>
<ComplexCondition action = "Exclude">
<Or>
<Condition name = "Ownerstate" ownerstate = "ChildElementsAllowed"/>

2
src/AddIns/BackendBindings/WixBinding/Test/Project/GetPreprocessorVariableValueTests.cs

@ -59,7 +59,7 @@ namespace WixBinding.Tests.Project @@ -59,7 +59,7 @@ namespace WixBinding.Tests.Project
/// Tests that SharpDevelop constants (e.g. ${SharpDevelopBinPath})
/// are expanded if the preprocessor variable uses one.
/// </summary>
[Test, Ignore("See comment in WixProject.GetValue()")]
[Test]
public void VariableValueUsingSharpDevelopConstant()
{
WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

2
src/AddIns/BackendBindings/WixBinding/WixBinding.sln

@ -65,7 +65,7 @@ Global @@ -65,7 +65,7 @@ Global
{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
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.ActiveCfg = net_4_5_Debug|Any CPU
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.Build.0 = Release|Any CPU
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection

Loading…
Cancel
Save