aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Core/IParameterized.cs
blob: 776a7f9264c1ae073e38611f1dc11747c3ac5c39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace Tango.Core
{
    /// <summary>
    /// Represents a component that exposes some of it's properties as an observable collection of <see cref="ParameterItem"/> which can be bound to UI controls.
    /// </summary>
    public interface IParameterized
    {
        /// <summary>
        /// Gets a bind-able observable collection of the component properties.
        /// </summary>
        [ParameterIgnore]
        [XmlIgnore]
        ReadOnlyObservableCollection<ParameterItem> Parameters { get; }
    }
}
pan> Tango.Logging { /// <summary> /// Represents a base class for log items. /// </summary> public abstract class LogItemBase { private static String base_path; /// <summary> /// Gets or sets the assembly. /// </summary> public String CallerAssembly { get; set; } /// <summary> /// Gets or sets the caller method adding the exception. /// </summary> public String CallerMethodName { get; set; } /// <summary> /// Gets or sets the caller file. /// </summary> public String CallerFile { get; set; } /// <summary> /// Gets the relative caller file. /// </summary> public String RelativeCallerFile { get { return GetRelativeCallerFilePath(); } } /// <summary> /// Gets or sets the caller line number. /// </summary> public int CallerLineNumber { get; set; } /// <summary> /// Gets or sets the DateTime for the log. /// </summary> public DateTime TimeStamp { get; set; } /// <summary> /// Gets or sets the log category. /// </summary> public LogCategory Category { get; set; } /// <summary> /// Gets the log message. /// </summary> public abstract String Message { get; set; } /// <summary> /// Returns a formatted string of the log item. /// </summary> public abstract override String ToString(); /// <summary> /// Gets the relative caller file path. /// </summary> /// <returns></returns> protected String GetRelativeCallerFilePath() { if (base_path == null) { int index = CallerFile.IndexOf("Visual_Studio") + "Visual_Studio".Length + 1; String relative = CallerFile.Substring(index, CallerFile.Length - index); base_path = CallerFile.Replace(relative, ""); } if (Path.IsPathRooted(CallerFile)) { return CallerFile.Remove(0, base_path.Length); } else { return CallerFile; } } } }