Browse Source

File content for ConfigurationElement, ConfigurationElementCollection and ConfigurationSection moved to separate .cs files. This prevents duplicate content as ConfigurationSection implements ConfigurationElementCollection and ConfigurationElementCollection contain ConfigurationElement.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2037 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Justin Dearing 19 years ago
parent
commit
31d6fab63f
  1. 33
      data/templates/file/CSharp/CSharp.ConfigurationElement.xft
  2. 129
      data/templates/file/CSharp/CSharp.ConfigurationElementCollection.xft
  3. 154
      data/templates/file/CSharp/CSharp.ConfigurationSection.xft
  4. 32
      data/templates/file/CSharp/ConfigurationElement.cs
  5. 95
      data/templates/file/CSharp/ConfigurationElementCollection.cs
  6. 24
      data/templates/file/CSharp/ConfigurationSection.cs
  7. 11
      src/Setup/Files.wxs
  8. 1
      src/Setup/Setup.wxs

33
data/templates/file/CSharp/CSharp.ConfigurationElement.xft

@ -18,38 +18,7 @@ @@ -18,38 +18,7 @@
${ClassName} -> Class name (generally FileNameWithoutExtension w/o 'bad' characters)
-->
<Files>
<File name="${Path}/${FileNameWithoutExtension}.cs" language="C#"><![CDATA[${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
public sealed class ${ClassName}Element : ConfigurationElement
{
/// <summary>
/// The attribute <c>name</c> of a <c>${ClassName}Element</c>.
/// </summary>
[ConfigurationProperty("name", IsKey = true, IsRequired = true)]
public string Name
{
get { return (string)this["name"]; }
set { this["name"] = value; }
}
/// <summary>
/// A demonstration of how to use a boolean property.
/// </summary>
[ConfigurationProperty("special")]
public bool IsSpecial {
get { return (bool)this["special"]; }
set { this["special"] = value; }
}
}
}
]]></File>
<File name="${Path}/${FileNameWithoutExtension}Element.cs" language="C#" src="ConfigurationElement.cs" />
</Files>
<AdditionalOptions/>
</Template>

129
data/templates/file/CSharp/CSharp.ConfigurationElementCollection.xft

@ -18,133 +18,8 @@ @@ -18,133 +18,8 @@
${ClassName} -> Class name (generally FileNameWithoutExtension w/o 'bad' characters)
-->
<Files>
<File name="${Path}/${FileNameWithoutExtension}Element.cs" language="C#"><![CDATA[${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
public sealed class ${ClassName}Element : ConfigurationElement
{
/// <summary>
/// The attribute <c>name</c> of a <c>${ClassName}Element</c>.
/// </summary>
[ConfigurationProperty("name", IsKey = true, IsRequired = true)]
public string Name
{
get { return (string)this["name"]; }
set { this["name"] = value; }
}
/// <summary>
/// A demonstration of how to use a boolean property.
/// </summary>
[ConfigurationProperty("special")]
public bool IsSpecial {
get { return (bool)this["special"]; }
set { this["special"] = value; }
}
}
}
]]></File>
<File name="${Path}/${FileNameWithoutExtension}Collection.cs" language="C#"><![CDATA[${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
/// <summary>
/// Description of ${ClassName}.
/// </summary>
public sealed class ${ClassName}Collection : ConfigurationElementCollection
{
#region Properties
/// <summary>
/// Gets the CollectionType of the ConfigurationElementCollection.
/// </summary>
public override ConfigurationElementCollectionType CollectionType
{
get { return ConfigurationElementCollectionType.BasicMap; }
}
/// <summary>
/// Gets the Name of Elements of the collection.
/// </summary>
protected override string ElementName
{
get { return "${ClassName}"; }
}
/// <summary>
/// Retrieve and item in the collection by index.
/// </summary>
public ${ClassName}Element this[int index]
{
get { return (${ClassName}Element)BaseGet(index); }
set
{
if (BaseGet(index) != null)
{
BaseRemoveAt(index);
}
BaseAdd(index, value);
}
}
#endregion
/// <summary>
/// Adds a ${ClassName}Element to the configuration file.
/// </summary>
/// <param name="element">The ${ClassName}Element to add.</param>
public void Add(${ClassName}Element element)
{
BaseAdd(element);
}
/// <summary>
/// Creates a new ${ClassName}Element.
/// </summary>
/// <returns>A new <c>${ClassName}Element</c></returns>
protected override ConfigurationElement CreateNewElement()
{
return new ${ClassName}Element();
}
/// <summary>
/// Gets the key of an element based on it's Id.
/// </summary>
/// <param name="element">Element to get the key of.</param>
/// <returns>The key of <c>element</c>.</returns>
protected override object GetElementKey(ConfigurationElement element)
{
return ((${ClassName}Element)element).Name;
}
/// <summary>
/// Removes a ${ClassName}Element with the given name.
/// </summary>
/// <param name="name">The name of the ${ClassName}Element to remove.</param>
public void Remove (string name) {
base.BaseRemove(name);
}
}
}
]]></File>
<File name="${Path}/${FileNameWithoutExtension}Element.cs" language="C#" src="ConfigurationElement.cs" />
<File name="${Path}/${FileNameWithoutExtension}ElementCollection.cs" language="C#" src="ConfigurationElementCollection.cs" />
</Files>
<AdditionalOptions/>
</Template>

154
data/templates/file/CSharp/CSharp.ConfigurationSection.xft

@ -18,157 +18,9 @@ @@ -18,157 +18,9 @@
${ClassName} -> Class name (generally FileNameWithoutExtension w/o 'bad' characters)
-->
<Files>
<File name="${Path}/${FileNameWithoutExtension}Element.cs" language="C#"><![CDATA[${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
public sealed class ${ClassName}Element : ConfigurationElement
{
/// <summary>
/// The attribute <c>name</c> of a <c>${ClassName}Element</c>.
/// </summary>
[ConfigurationProperty("name", IsKey = true, IsRequired = true)]
public string Name
{
get { return (string)this["name"]; }
set { this["name"] = value; }
}
/// <summary>
/// A demonstration of how to use a boolean property.
/// </summary>
[ConfigurationProperty("special")]
public bool IsSpecial {
get { return (bool)this["special"]; }
set { this["special"] = value; }
}
}
}
]]></File>
<File name="${Path}/${FileNameWithoutExtension}Collection.cs" language="C#"><![CDATA[${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
/// <summary>
/// Description of ${ClassName}.
/// </summary>
public sealed class ${ClassName}Collection : ConfigurationElementCollection
{
#region Properties
/// <summary>
/// Gets the CollectionType of the ConfigurationElementCollection.
/// </summary>
public override ConfigurationElementCollectionType CollectionType
{
get { return ConfigurationElementCollectionType.BasicMap; }
}
/// <summary>
/// Gets the Name of Elements of the collection.
/// </summary>
protected override string ElementName
{
get { return "${ClassName}"; }
}
/// <summary>
/// Retrieve and item in the collection by index.
/// </summary>
public ${ClassName}Element this[int index]
{
get { return (${ClassName}Element)BaseGet(index); }
set
{
if (BaseGet(index) != null)
{
BaseRemoveAt(index);
}
BaseAdd(index, value);
}
}
#endregion
/// <summary>
/// Adds a ${ClassName}Element to the configuration file.
/// </summary>
/// <param name="element">The ${ClassName}Element to add.</param>
public void Add(${ClassName}Element element)
{
BaseAdd(element);
}
/// <summary>
/// Creates a new ${ClassName}Element.
/// </summary>
/// <returns>A new <c>${ClassName}Element</c></returns>
protected override ConfigurationElement CreateNewElement()
{
return new ${ClassName}Element();
}
/// <summary>
/// Gets the key of an element based on it's Id.
/// </summary>
/// <param name="element">Element to get the key of.</param>
/// <returns>The key of <c>element</c>.</returns>
protected override object GetElementKey(ConfigurationElement element)
{
return ((${ClassName}Element)element).Name;
}
/// <summary>
/// Removes a ${ClassName}Element with the given name.
/// </summary>
/// <param name="name">The name of the ${ClassName}Element to remove.</param>
public void Remove (string name) {
base.BaseRemove(name);
}
}
}
]]></File>
<File name="${Path}/${FileNameWithoutExtension}Section.cs" language="C#"><![CDATA[${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
/// <summary>
/// Configuration settings for ${ClassName}.
/// </summary>
public class ${ClassName}Section : ConfigurationSection
{
/// <summary>
/// Collection of tables (auctually views) to generate
/// reports from.
/// </summary>
[ConfigurationProperty("customSection", IsDefaultCollection = true)]
public ${ClassName}Collection ${ClassName}
{
get { return (${ClassName}Collection) base["customSection"]; }
}
}
}
]]></File>
<File name="${Path}/${FileNameWithoutExtension}Element.cs" language="C#" src="ConfigurationElement.cs" />
<File name="${Path}/${FileNameWithoutExtension}ElementCollection.cs" language="C#" src="ConfigurationElementCollection.cs" />
<File name="${Path}/${FileNameWithoutExtension}Section.cs" language="C#" src="ConfigurationSection.cs" />
</Files>
<AdditionalOptions/>
</Template>

32
data/templates/file/CSharp/ConfigurationElement.cs

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
public sealed class ${ClassName}Element : ConfigurationElement
{
/// <summary>
/// The attribute <c>name</c> of a <c>${ClassName}Element</c>.
/// </summary>
[ConfigurationProperty("name", IsKey = true, IsRequired = true)]
public string Name
{
get { return (string)this["name"]; }
set { this["name"] = value; }
}
/// <summary>
/// A demonstration of how to use a boolean property.
/// </summary>
[ConfigurationProperty("special")]
public bool IsSpecial {
get { return (bool)this["special"]; }
set { this["special"] = value; }
}
}
}

95
data/templates/file/CSharp/ConfigurationElementCollection.cs

@ -0,0 +1,95 @@ @@ -0,0 +1,95 @@
${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
/// <summary>
/// Description of ${ClassName}.
/// </summary>
public sealed class ${ClassName}Collection : ConfigurationElementCollection
{
#region Properties
/// <summary>
/// Gets the CollectionType of the ConfigurationElementCollection.
/// </summary>
public override ConfigurationElementCollectionType CollectionType
{
get { return ConfigurationElementCollectionType.BasicMap; }
}
/// <summary>
/// Gets the Name of Elements of the collection.
/// </summary>
protected override string ElementName
{
get { return "${ClassName}"; }
}
/// <summary>
/// Retrieve and item in the collection by index.
/// </summary>
public ${ClassName}Element this[int index]
{
get { return (${ClassName}Element)BaseGet(index); }
set
{
if (BaseGet(index) != null)
{
BaseRemoveAt(index);
}
BaseAdd(index, value);
}
}
#endregion
/// <summary>
/// Adds a ${ClassName}Element to the configuration file.
/// </summary>
/// <param name="element">The ${ClassName}Element to add.</param>
public void Add(${ClassName}Element element)
{
BaseAdd(element);
}
/// <summary>
/// Creates a new ${ClassName}Element.
/// </summary>
/// <returns>A new <c>${ClassName}Element</c></returns>
protected override ConfigurationElement CreateNewElement()
{
return new ${ClassName}Element();
}
/// <summary>
/// Gets the key of an element based on it's Id.
/// </summary>
/// <param name="element">Element to get the key of.</param>
/// <returns>The key of <c>element</c>.</returns>
protected override object GetElementKey(ConfigurationElement element)
{
return ((${ClassName}Element)element).Name;
}
/// <summary>
/// Removes a ${ClassName}Element with the given name.
/// </summary>
/// <param name="name">The name of the ${ClassName}Element to remove.</param>
public void Remove (string name) {
base.BaseRemove(name);
}
}
}

24
data/templates/file/CSharp/ConfigurationSection.cs

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
${StandardHeader.C#}
using System;
using System.Configuration;
namespace ${StandardNamespace}
{
/// <summary>
/// Configuration settings for ${ClassName}.
/// </summary>
public class ${ClassName}Section : ConfigurationSection
{
/// <summary>
/// Collection of tables (auctually views) to generate
/// reports from.
/// </summary>
[ConfigurationProperty("customSection", IsDefaultCollection = true)]
public ${ClassName}Collection ${ClassName}
{
get { return (${ClassName}Collection) base["customSection"]; }
}
}
}

11
src/Setup/Files.wxs

@ -627,9 +627,6 @@ @@ -627,9 +627,6 @@
<Directory Id="CSharpFileTemplatesFolder" Name="CSharp">
<Component Guid="178B7A4B-FEE8-432D-A014-256FAA5441BE" Id="CSharpFileTemplates" DiskId="1">
<File Source="..\..\data\templates\file\CSharp\FileCategorySortOrder.xml" Name="FILECA_1.XML" Id="CSharpFileCategorySortOrder.xml" LongName="FileCategorySortOrder.xml" />
<File Source="..\..\data\templates\file\CSharp\CSharp.ConfigurationElement.xft" Name="CSCONFIG.XFT" Id="CSharp.ConfigurationElement.xft" LongName="CSharp.ConfigurationElement.xft" />
<File Source="..\..\data\templates\file\CSharp\CSharp.ConfigurationElementCollection.xft" Name="CSCONFIG.XFT" Id="CSharp.ConfigurationElementCollection.xft" LongName="CSharp.ConfigurationElementCollection.xft" />
<File Source="..\..\data\templates\file\CSharp\CSharp.ConfigurationSection.xft" Name="CSCONFIG.XFT" Id="CSharp.ConfigurationSection.xft" LongName="CSharp.ConfigurationSection.xft" />
<File Source="..\..\data\templates\file\CSharp\CSharp.Empty.xft" Name="CSHARP_1.XFT" Id="CSharp.Empty.xft" LongName="CSharp.Empty.xft" />
<File Source="..\..\data\templates\file\CSharp\CSharp.EmptyClass.xft" Name="CSHARP_2.XFT" Id="CSharp.EmptyClass.xft" LongName="CSharp.EmptyClass.xft" />
<File Source="..\..\data\templates\file\CSharp\CSharp.Forms.Form.xft" Name="CSHARP_3.XFT" Id="CSharp.Forms.Form.xft" LongName="CSharp.Forms.Form.xft" />
@ -651,6 +648,14 @@ @@ -651,6 +648,14 @@
<Component Guid="16055582-32EE-4418-A06B-488AC5EC79E4" Id="CSharpStructTemplate" DiskId="1">
<File Source="..\..\data\templates\file\CSharp\CSharp.Struct.xft" Name="CSSTRUCT.XFT" Id="CSharp.Struct.xft" LongName="CSharp.Struct.xft" />
</Component>
<Component Guid="3ffcfcc0-6f9b-11db-9fe1-0800200c9a66" Id="CSharpConfigurationFileTemplates" DiskId="1">
<File Source="..\..\data\templates\file\CSharp\CSharp.ConfigurationElement.xft" Name="CSCONFIG.XFT" Id="CSharp.ConfigurationElement.xft" LongName="CSharp.ConfigurationElement.xft" />
<File Source="..\..\data\templates\file\CSharp\CSharp.ConfigurationElementCollection.xft" Name="CSCONFIG.XFT" Id="CSharp.ConfigurationElementCollection.xft" LongName="CSharp.ConfigurationElementCollection.xft" />
<File Source="..\..\data\templates\file\CSharp\CSharp.ConfigurationSection.xft" Name="CSCONFIG.XFT" Id="CSharp.ConfigurationSection.xft" LongName="CSharp.ConfigurationSection.xft" />
<File Source="..\..\data\templates\file\CSharp\ConfigurationElement.cs" Name="CONFELEM.CS" Id="ConfigurationElement.cs" LongName="ConfigurationElement.cs" />
<File Source="..\..\data\templates\file\CSharp\ConfigurationElementCollection.cs" Name="CONFECOL.CS" Id="ConfigurationElementCollection.cs" LongName="ConfigurationElementCollection.cs" />
<File Source="..\..\data\templates\file\CSharp\ConfigurationSection.cs" Name="CONFSECT.CS" Id="ConfigurationSection.cs" LongName="ConfigurationSection.cs" />
</Component>
</Directory>
<Directory Id="MiscFileTemplatesFolder" Name="Misc">
<Component Guid="2BDF0836-B3D9-4B96-8F9F-59477B0C6F21" Id="MiscFileTemplates" DiskId="1">

1
src/Setup/Setup.wxs

@ -234,6 +234,7 @@ @@ -234,6 +234,7 @@
<ComponentRef Id="CSharpWebServiceProjectTemplate"/>
<ComponentRef Id="CSharpNotifyIconProjectTemplate"/>
<ComponentRef Id="CSharpStructTemplate"/>
<ComponentRef Id="CSharpConfigurationFileTemplates"/>
<ComponentRef Id="MiscProjectTemplates"/>
<ComponentRef Id="VBNetProjectTemplates"/>
<ComponentRef Id="ExampleProjectTemplate"/>

Loading…
Cancel
Save