aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItemAttribute.cs
blob: fafd00954a95b51acb2093563f6322284abec789 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.MachineStudio.Technician.TechItems
{
    /// <summary>
    /// Represents a tech item attribute
    /// </summary>
    /// <seealso cref="System.Attribute" />
    public class TechItemAttribute : Attribute
    {
        /// <summary>
        /// Gets or sets the item index.
        /// </summary>
        public int Index { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="TechItemAttribute"/> class.
        /// </summary>
        /// <param name="index">The index.</param>
        public TechItemAttribute(int index)
        {
            Index = index;
        }
    }
}
ine.ColorSpaces { <# foreach (XmlNode space in colorSpaces) { var spaceName = space.Attributes["name"].Value; var points = space.SelectNodes("dataPoints/dataPoint");#> public interface I<#=spaceName#> : IColorSpace { <# foreach(XmlNode point in points) { #> double <#=point.Attributes["label"].Value#> { get; set; } <# } #> } public class <#=spaceName#> : ColorSpace, I<#=spaceName#> { <# foreach(XmlNode point in points) { #> public double <#=point.Attributes["label"].Value#> { get; set; } <# } #> public <#=spaceName#>() { } public <#=spaceName#>(<# foreach(XmlNode point in points) { #>double <#=point.Attributes["label"].Value.ToLower()#><# if(point.Attributes != points[points.Count - 1].Attributes) { #>, <# } #><# } #>) { <# foreach(XmlNode point in points) { #> <#=point.Attributes["label"].Value#> = <#=point.Attributes["label"].Value.ToLower()#>; <# } #> } public <#=spaceName#>(IColorSpace color) { Ordinals = color.To<<#=spaceName#>>().Ordinals; } public <#=spaceName#>(double[] ordinals) { Ordinals = ordinals; } public override void Initialize(IRgb color) { <#=spaceName#>Converter.ToColorSpace(color,this); } public override string ToString() { return string.Join(", ", new []{ <# foreach(XmlNode point in points) { #> "<#=point.Attributes["label"].Value#>: " + <#=point.Attributes["label"].Value#>, <# } #> }); } public override IRgb ToRgb() { return <#=spaceName#>Converter.ToColor(this); } public override sealed double[] Ordinals { get { return new[] {<# foreach(XmlNode point in points) { #> <#=point.Attributes["label"].Value#>,<# } #> }; } set { <# var counter = 0; foreach(XmlNode point in points) { #> <#=point.Attributes["label"].Value#> = value[<#=counter++#>]; <# } #> } } } <# } #>}