aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Xml/AXmlText.cs
blob: 8470979ce0fb982f099f78c3ed8980c106fae4bd (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// 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.ObjectModel;
using System.Collections.Specialized;
using System.Diagnostics;
using System.Globalization;
using System.Linq;

using Tango.Scripting.Editors.Document;

namespace Tango.Scripting.Editors.Xml
{
	/// <summary>
	/// Whitespace or character data
	/// </summary>
	public class AXmlText: AXmlObject
	{
		/// <summary> The context in which the text occured </summary>
		internal TextType Type { get; set; }
		/// <summary> The text exactly as in source </summary>
		public string EscapedValue { get; set; }
		/// <summary> The text with all entity references resloved </summary>
		public string Value { get; set; }
		/// <summary> True if the text contains only whitespace characters </summary>
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "Whitespace",
		                                                 Justification = "System.Xml also uses 'Whitespace'")]
		public bool ContainsOnlyWhitespace { get; set; }
		
		/// <inheritdoc/>
		public override void AcceptVisitor(IAXmlVisitor visitor)
		{
			visitor.VisitText(this);
		}
		
		/// <inheritdoc/>
		internal override bool UpdateDataFrom(AXmlObject source)
		{
			if (!base.UpdateDataFrom(source)) return false;
			AXmlText src = (AXmlText)source;
			if (this.EscapedValue != src.EscapedValue ||
			    this.Value != src.Value)
			{
				OnChanging();
				this.EscapedValue = src.EscapedValue;
				this.Value = src.Value;
				OnChanged();
				return true;
			} else {
				return false;
			}
		}
		
		/// <inheritdoc/>
		public override string ToString()
		{
			return string.Format(CultureInfo.InvariantCulture, "[{0} Text.Length={1}]", base.ToString(), this.EscapedValue.Length);
		}
	}
}
lass="w"> { return _settings; } set { _settings = value; RaisePropertyChangedAuto(); } } public SettingsVM() { _settings = new ObservableCollection<SettingVM>(); ChangedValues = new Dictionary<AnalyzerSettingsEnum, double>(); InitPBUTestSettings(); InitProcessSettings(); InitFlowTestSettings(); } private void InitPBUTestSettings() { SettingVM model = new SettingVM("Pressure build up"); List<SettingsModel> list = new List<SettingsModel>(); list.Add(new SettingsModel(AnalyzerSettingsEnum.PBUPassFail, "4.5 sec")); model.AddSettings(list); list.ForEach(x => x.SettingValueEvent += new EventHandler(OnSettingValueChanged)); Settings.Add(model); } private void InitFlowTestSettings() { SettingVM model = new SettingVM("Flow test"); List<SettingsModel> list = new List<SettingsModel>(); list.Add(new SettingsModel(AnalyzerSettingsEnum.FlowPBUPassFail, "4.5 sec")); list.Add(new SettingsModel(AnalyzerSettingsEnum.ExcludeAnalysis, "1800 reads")); list.Add(new SettingsModel(AnalyzerSettingsEnum.AvgMinValue, "1400-1850 [mbar]", true)); list.Add(new SettingsModel(AnalyzerSettingsEnum.MaxMinRange, "450 reads")); list.Add(new SettingsModel(AnalyzerSettingsEnum.MaxMinIntervals, "450 reads")); list.Add(new SettingsModel(AnalyzerSettingsEnum.MaxError, "1.5%")); list.Add(new SettingsModel(AnalyzerSettingsEnum.TakeOffMaxMin, "3")); list.ForEach(x => x.SettingValueEvent += new EventHandler(OnSettingValueChanged)); model.AddSettings(list); Settings.Add(model); } private void InitProcessSettings() { SettingVM model = new SettingVM("Process"); List<SettingsModel> list = new List<SettingsModel>(); list.Add(new SettingsModel(AnalyzerSettingsEnum.TimeInterval, "0.1 sec")); list.Add(new SettingsModel(AnalyzerSettingsEnum.StartCalculation, "600 sec")); list.Add(new SettingsModel(AnalyzerSettingsEnum.EndCalculation, "900 sec")); list.Add(new SettingsModel(AnalyzerSettingsEnum.MovingAvg, "50 points")); list.ForEach(x => x.SettingValueEvent += new EventHandler(OnSettingValueChanged)); model.AddSettings(list); Settings.Add(model); } private void OnSettingValueChanged(object sender, EventArgs e) { if (sender is SettingsModel) { SettingsModel settingModel = sender as SettingsModel; if (settingModel.IsRangeVisible) { ChangedValues[AnalyzerSettingsEnum.AvgMinValue] = settingModel.MinRangeValue; ChangedValues[AnalyzerSettingsEnum.AvgMaxValue] = settingModel.MaxRangeValue; } else ChangedValues[settingModel._enumName] = settingModel.PropertyValue; } } public Dictionary<AnalyzerSettingsEnum, double> GetChanges() { return ChangedValues; } public void Dispose() { Settings.ToList().ForEach(x => { x.Settings.ToList().ForEach(k => k.SettingValueEvent -= OnSettingValueChanged); }); } } }