703 lines
18 KiB
C#
703 lines
18 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.ComponentModel;
|
|
using DescriptiveEnum;
|
|
using System.Xml;
|
|
|
|
namespace VEPROMS.CSLA.Library
|
|
{
|
|
public partial class EnhancedDocuments : List<EnhancedDocument>
|
|
{
|
|
public void Add(int type, int itemID)
|
|
{
|
|
Add(new EnhancedDocument(type, itemID));
|
|
}
|
|
public static EnhancedDocuments Load(XMLProperties _Xp)
|
|
{
|
|
EnhancedDocuments ed = new EnhancedDocuments();
|
|
foreach (XmlNode xn in _Xp.XmlContents.SelectNodes("//Enhanced"))
|
|
{
|
|
ed.Add(int.Parse(xn.Attributes["Type"].Value), int.Parse(xn.Attributes["ItemID"].Value));
|
|
}
|
|
return ed;
|
|
}
|
|
public EnhancedDocument GetByType(int type)
|
|
{
|
|
foreach (EnhancedDocument ed in this)
|
|
if (ed.Type == type) return ed;
|
|
return null;
|
|
}
|
|
}
|
|
public partial class EnhancedDocument
|
|
{
|
|
private int _Type;
|
|
public int Type
|
|
{
|
|
get { return _Type; }
|
|
set { _Type = value; }
|
|
}
|
|
private int _ItemID;
|
|
public int ItemID
|
|
{
|
|
get { return _ItemID; }
|
|
set { _ItemID = value; }
|
|
}
|
|
public EnhancedDocument() { ;}
|
|
public EnhancedDocument(int type, int itemID)
|
|
{
|
|
Type = type;
|
|
ItemID = itemID;
|
|
}
|
|
public override string ToString()
|
|
{
|
|
return string.Format("{0}.ItemID={1}", Type, ItemID);
|
|
}
|
|
}
|
|
[Serializable]
|
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
|
public class StepConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged, IItemConfig
|
|
{
|
|
#region DynamicTypeDescriptor
|
|
internal override bool IsReadOnly
|
|
{
|
|
get { return false; }//_Section == null; }
|
|
}
|
|
#endregion
|
|
#region XML
|
|
private XMLProperties _Xp;
|
|
private XMLProperties Xp
|
|
{
|
|
get { return _Xp; }
|
|
}
|
|
#endregion
|
|
#region Constructors
|
|
//PROPGRID: Hide ParentLookup
|
|
[Browsable(false)]
|
|
public bool ParentLookup
|
|
{
|
|
get { return _Xp.ParentLookup; }
|
|
set { _Xp.ParentLookup = value; }
|
|
}
|
|
//PROPGRID: Had to comment out NonSerialized to hide AncestorLookup from Property Grid
|
|
//[NonSerialized]
|
|
//private bool _AncestorLookup;
|
|
////PROPGRID: Hide AncestorLookup
|
|
//[Browsable(false)]
|
|
//public bool AncestorLookup
|
|
//{
|
|
// get { return _AncestorLookup; }
|
|
// set { _AncestorLookup = value; }
|
|
//}
|
|
private Step _Step;
|
|
private StepInfo _StepInfo;
|
|
public StepConfig(Step step)
|
|
{
|
|
_Step = step;
|
|
string xml = step.MyContent.Config;
|
|
if (xml == string.Empty) xml = "<Config/>";
|
|
_Xp = new XMLProperties(xml);
|
|
}
|
|
public StepConfig(StepInfo stepInfo)
|
|
{
|
|
_StepInfo = stepInfo;
|
|
string xml = stepInfo.MyContent.Config;
|
|
if (xml == string.Empty) xml = "<Config/>";
|
|
_Xp = new XMLProperties(xml);
|
|
}
|
|
public StepConfig(string xml)
|
|
{
|
|
if (xml == string.Empty) xml = "<Config/>";
|
|
_Xp = new XMLProperties(xml);
|
|
|
|
}
|
|
public StepConfig()
|
|
{
|
|
_Xp = new XMLProperties();
|
|
}
|
|
internal string GetValue(string group, string item)
|
|
{
|
|
return _Xp[group, item];
|
|
}
|
|
#endregion
|
|
#region Local Properties
|
|
|
|
#endregion
|
|
#region ToString
|
|
public override string ToString()
|
|
{
|
|
string s = _Xp.ToString();
|
|
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
|
return s;
|
|
}
|
|
#endregion
|
|
#region StepAttr
|
|
//[Category("Step Attributes")]
|
|
//[DisplayName("Step Floating Foldout Association")]
|
|
//[RefreshProperties(RefreshProperties.All)]
|
|
//[Description("Step Floating Foldout Association")]
|
|
public int Step_FloatingFoldout
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "FloatingFoldout"];
|
|
if (s == string.Empty) return 0;
|
|
int tst = 0;
|
|
try
|
|
{
|
|
tst = int.Parse(s);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return 0;
|
|
}
|
|
return int.Parse(s);
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "FloatingFoldout"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "FloatingFoldout"] = value.ToString();
|
|
OnPropertyChanged("Step_FloatingFoldout");
|
|
}
|
|
}
|
|
public string Step_CAS
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "ContActSum"];
|
|
//If there is no value in the config, then return null. This will tell us to check the step type and format flag (ExcludeFromContActSum).
|
|
if (s == string.Empty) return null;
|
|
return s;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "ContActSum"];
|
|
if (value == s) return;
|
|
_Xp["Step", "ContActSum"] = value;
|
|
OnPropertyChanged("Step_CAS");
|
|
}
|
|
}
|
|
// F2022-024 Time Critical Action Step
|
|
public string Step_TCAS // Time Critical Action Summary
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "TimeCriticalActionSum"];
|
|
//If there is no value in the config, then return null. This will tell us to check the step type and format flag (ExcludeFromTimeCriticalActSum).
|
|
if (s == string.Empty) return null;
|
|
return s;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "TimeCriticalActionSum"];
|
|
if (value == s) return;
|
|
_Xp["Step", "TimeCriticalActionSum"] = value;
|
|
OnPropertyChanged("Step_TCAS");
|
|
}
|
|
}
|
|
//// Alternate text to use on the Continuous Action Summary
|
|
//public string Step_AlternateContActSumText
|
|
//{
|
|
// get
|
|
// {
|
|
// string s = _Xp["Step", "AlternateContActSumText"];
|
|
// //If there is no value to get, then we use the actual step text
|
|
// if (s == string.Empty) return null;
|
|
// return s;
|
|
// }
|
|
// set
|
|
// {
|
|
// string s = _Xp["Step", "AlternateContActSumText"];
|
|
// if (value == s) return;
|
|
// _Xp["Step", "AlternateContActSumText"] = value;
|
|
// OnPropertyChanged("Step_AlternateContActSumText");
|
|
// }
|
|
//}
|
|
//[Category("Step Attributes")]
|
|
//[DisplayName("Step Placekeeper")]
|
|
//[RefreshProperties(RefreshProperties.All)]
|
|
//[Description("Step Placekeeper")]
|
|
public string Step_Placekeeper
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "Placekeeper"];
|
|
|
|
//If there is no value to get, then get the parent value (a.k.a. default value).
|
|
if (s == string.Empty) return "N";
|
|
return s;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "Placekeeper"];
|
|
if (value == s) return;
|
|
_Xp["Step", "Placekeeper"] = value;
|
|
OnPropertyChanged("Step_Placekeeper");
|
|
}
|
|
}
|
|
//[Category("Step Attributes")]
|
|
//[DisplayName("Step Check Off Index")]
|
|
//[RefreshProperties(RefreshProperties.All)]
|
|
//[Description("Step Check Off Index")]
|
|
public int Step_CheckOffIndex
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "CheckOffIndex"];
|
|
|
|
if (s == string.Empty) return 0;
|
|
|
|
// there was an invalid character for Wolf Creek's index. just return
|
|
// a 0 if found. The dataloader was fixed (6/8/12) to not migrate the
|
|
// bad character, but this was added, in case there are some other conditions.
|
|
int tst = 0;
|
|
if(int.TryParse(s,out tst))
|
|
return tst;
|
|
tst = (int) s[0];
|
|
tst -= '0';
|
|
return tst;
|
|
//try
|
|
//{
|
|
// tst = int.Parse(s);
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// return 0;
|
|
//}
|
|
//return int.Parse(s);
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "CheckOffIndex"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "CheckOffIndex"] = value.ToString();
|
|
OnPropertyChanged("Step_CheckOffIndex");
|
|
}
|
|
}
|
|
//[Category("Step Attributes")]
|
|
//[DisplayName("Step Manual Pagebreak")]
|
|
//[RefreshProperties(RefreshProperties.All)]
|
|
//[Description("Step Manual Pagebreak")]
|
|
public bool Step_ManualPagebreak
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "ManualPagebreak"];
|
|
|
|
if (s == string.Empty) return false;
|
|
if (s == "True") return true;
|
|
return false;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "ManualPagebreak"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "ManualPagebreak"] = value.ToString();
|
|
OnPropertyChanged("Step_ManualPagebreak");
|
|
}
|
|
}
|
|
public bool Step_NewManualPagebreak
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "NewManualPagebreak"];
|
|
|
|
if (s == string.Empty) return false;
|
|
if (s == "True") return true;
|
|
return false;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "NewManualPagebreak"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "NewManualPagebreak"] = value.ToString();
|
|
OnPropertyChanged("Step_NewManualPagebreak");
|
|
}
|
|
}
|
|
public bool Step_PreferredPagebreak
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "PreferredPagebreak"];
|
|
|
|
if (s == string.Empty) return false;
|
|
if (s == "True") return true;
|
|
return false;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "PreferredPagebreak"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "PreferredPagebreak"] = value.ToString();
|
|
OnPropertyChanged("Step_PreferredPagebreak");
|
|
}
|
|
}
|
|
// C2023-015: Pagination on a sub-step
|
|
public bool Step_SubStepPagebreak
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "SubStepPagebreak"];
|
|
|
|
if (s == string.Empty) return false;
|
|
if (s == "True") return true;
|
|
return false;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "SubStepPagebreak"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "SubStepPagebreak"] = value.ToString();
|
|
OnPropertyChanged("Step_SubStepPagebreak");
|
|
}
|
|
}
|
|
//[Category("Step Attributes")]
|
|
//[DisplayName("Step Change Bar Override")]
|
|
//[RefreshProperties(RefreshProperties.All)]
|
|
//[Description("Step Change Bar Override")]
|
|
public string Step_CBOverride
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "CBOverride"];
|
|
|
|
if (s == string.Empty) return null;
|
|
return s;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "CBOverride"];
|
|
|
|
if (value != null && value.ToString() == s) return;
|
|
if (value == null && s != null) _Xp["Step", "CBOverride"] = null;
|
|
else _Xp["Step", "CBOverride"] = value.ToString();
|
|
OnPropertyChanged("Step_CBOverride");
|
|
}
|
|
}
|
|
public string Step_ChangeID
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "ChangeID"];
|
|
|
|
if (s == string.Empty) return null;
|
|
return s;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "ChangeID"];
|
|
|
|
if (value != null && value.ToString() == s) return;
|
|
if (value == null && s != null) _Xp["Step", "ChangeID"] = null;
|
|
else _Xp["Step", "ChangeID"] = value.ToString();
|
|
OnPropertyChanged("Step_ChangeID");
|
|
}
|
|
}
|
|
public string Step_Responsibility
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "Responsibility"];
|
|
|
|
if (s == string.Empty) return null;
|
|
return s;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "Responsibility"];
|
|
|
|
if (value != null && value.ToString() == s) return;
|
|
if (value == null && s != null) _Xp["Step", "Responsibility"] = null;
|
|
else _Xp["Step", "Responsibility"] = value.ToString();
|
|
OnPropertyChanged("Step_Responsibility");
|
|
}
|
|
}
|
|
//[Category("Step Attributes")]
|
|
//[DisplayName("Step Change By Spell Checker")]
|
|
//[RefreshProperties(RefreshProperties.All)]
|
|
//[Description("Step Change By Spell Checker")]
|
|
// When the spell checker changes text do not assign a change bar but keep existing change bar if it is there
|
|
public string Step_SpellCheckerChangedText
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "SpellCheckerChangedText"];
|
|
|
|
if (s == string.Empty) return null;
|
|
return s;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "SpellCheckerChangedText"];
|
|
|
|
if (value != null && value.ToString() == s) return;
|
|
if (value == null && s != null) _Xp["Step", "SpellCheckerChangedText"] = null;
|
|
else _Xp["Step", "SpellCheckerChangedText"] = value.ToString();
|
|
OnPropertyChanged("SpellCheckerChangedText");
|
|
}
|
|
}
|
|
// C2021-015: Barakah High Level Steps in Table of Contents
|
|
public bool Step_IncludeInTOC
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "IncludeInTOC"];
|
|
|
|
if (s == string.Empty) return false;
|
|
if (s == "True") return true;
|
|
return false;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "IncludeInTOC"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "IncludeInTOC"] = value.ToString();
|
|
OnPropertyChanged("Step_IncludeInTOC");
|
|
}
|
|
}
|
|
public bool Step_FixedTblForSrch
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "FixedTblForSrch"];
|
|
|
|
if (s == string.Empty) return false;
|
|
if (s == "True") return true;
|
|
return false;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "FixedTblForSrch"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "FixedTblForSrch"] = value.ToString();
|
|
OnPropertyChanged("Step_FixedTblForSrch");
|
|
}
|
|
}
|
|
//CSM F2024-080: For South Texas - Ability to toggle off Initial Line
|
|
public bool Step_DisableInitialLine
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "DisableInitialLine"];
|
|
|
|
if (s == string.Empty) return false;
|
|
if (s == "True") return true;
|
|
return false;
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "DisableInitialLine"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "DisableInitialLine"] = value.ToString();
|
|
OnPropertyChanged("Step_DisableInitialLine");
|
|
}
|
|
}
|
|
#region RO image sizing
|
|
// if the RO image (figure) is resized, save it in the step config, not in the ROImageConfig. If stored in ROImageConfig
|
|
// the size is set for ALL uses.
|
|
public int Step_ImageWidth
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "ImageWidth"];
|
|
if (s == string.Empty) return 0;
|
|
int tst = 0;
|
|
try
|
|
{
|
|
tst = int.Parse(s);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return 0;
|
|
}
|
|
return int.Parse(s);
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "ImageWidth"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "ImageWidth"] = value.ToString();
|
|
OnPropertyChanged("Step_ImageWidth");
|
|
}
|
|
}
|
|
public int Step_ImageHeight
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["Step", "ImageHeight"];
|
|
if (s == string.Empty) return 0;
|
|
int tst = 0;
|
|
try
|
|
{
|
|
tst = int.Parse(s);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return 0;
|
|
}
|
|
return int.Parse(s);
|
|
}
|
|
set
|
|
{
|
|
string s = _Xp["Step", "ImageHeight"];
|
|
if (value.ToString() == s) return;
|
|
_Xp["Step", "ImageHeight"] = value.ToString();
|
|
OnPropertyChanged("Step_ImageHeight");
|
|
}
|
|
}
|
|
#endregion
|
|
// Enhanced Documents
|
|
private EnhancedDocuments _MyEnhancedDocuments = null;
|
|
public EnhancedDocuments MyEnhancedDocuments
|
|
{
|
|
get
|
|
{
|
|
if (_MyEnhancedDocuments == null)
|
|
{
|
|
_MyEnhancedDocuments = EnhancedDocuments.Load(_Xp);
|
|
}
|
|
return _MyEnhancedDocuments;
|
|
}
|
|
set
|
|
{
|
|
_MyEnhancedDocuments = value;
|
|
//OnPropertyChanged("EnhancedDocuments");
|
|
}
|
|
}
|
|
public void AddEnhancedDocument(int type, int itemid)
|
|
{
|
|
MyEnhancedDocuments.Add(type, itemid);
|
|
SaveEnhancedDocuments();
|
|
}
|
|
public void SaveEnhancedDocuments()
|
|
{
|
|
// get all of the current enhanced links from datastructure in code. This list may have been
|
|
// modified by adding items during code execution by associating source <--> background etc.
|
|
EnhancedDocuments edsToAdd = new EnhancedDocuments();
|
|
foreach (EnhancedDocument ed in MyEnhancedDocuments)
|
|
edsToAdd.Add(ed);
|
|
|
|
// from the existing list in xml, remove any that are in the 'editted (edsToAdd) list
|
|
// so that what remains are those that need added to xml that will then be written to database
|
|
foreach (XmlNode xn in _Xp.XmlContents.SelectNodes("//Enhanced"))
|
|
{
|
|
//EnhancedDocument tmp = edsToAdd[int.Parse(xn.Attributes["Type"].Value)];
|
|
EnhancedDocument tmp = edsToAdd.GetByType(int.Parse(xn.Attributes["Type"].Value));
|
|
if (tmp != null)
|
|
{
|
|
if (int.Parse(xn.Attributes["ItemID"].Value) != tmp.ItemID)
|
|
xn.Attributes["ItemID"].Value = tmp.ItemID.ToString();
|
|
edsToAdd.Remove(tmp);
|
|
}
|
|
}
|
|
foreach (EnhancedDocument edadd in edsToAdd)
|
|
{
|
|
// Add (example): <Enhanced Type="Background" ItemID="43138" /><Enhanced Type="Deviation" ItemID="67165" />
|
|
// First add 'Enhanced' element:
|
|
XmlNode newEnhNode = _Xp.XmlContents.CreateNode(XmlNodeType.Element, "Enhanced", _Xp.XmlContents.NamespaceURI);
|
|
XmlNode xnEnh = _Xp.XmlContents.DocumentElement.AppendChild(newEnhNode);
|
|
// Now add the 'Type' and 'ItemID' attributes:
|
|
XmlAttribute xa = xnEnh.Attributes.Append(_Xp.XmlContents.CreateAttribute("Type"));
|
|
xa.Value = edadd.Type.ToString();
|
|
xa = xnEnh.Attributes.Append(_Xp.XmlContents.CreateAttribute("ItemID"));
|
|
xa.Value = edadd.ItemID.ToString();
|
|
}
|
|
}
|
|
//public string Step_SourceToBackground
|
|
//{
|
|
// get
|
|
// {
|
|
// string s = _Xp["Step", "SourceToBackground"];
|
|
// if (s == string.Empty) return null;
|
|
// return s;
|
|
// }
|
|
// set
|
|
// {
|
|
// string s = _Xp["Step", "SourceToBackground"];
|
|
// if (value != null && value.ToString() == s) return;
|
|
// if (value == null && s != null) _Xp["Step", "SourceToBackground"] = null;
|
|
// else _Xp["Step", "SourceToBackground"] = value.ToString();
|
|
// OnPropertyChanged("Step_SourceToBackground");
|
|
// }
|
|
//}
|
|
//public string Step_BackgroundToSource
|
|
//{
|
|
// get
|
|
// {
|
|
// string s = _Xp["Step", "BackgroundToSource"];
|
|
// if (s == string.Empty) return null;
|
|
// return s;
|
|
// }
|
|
// set
|
|
// {
|
|
// string s = _Xp["Step", "BackgroundToSource"];
|
|
// if (value != null && value.ToString() == s) return;
|
|
// if (value == null && s != null) _Xp["Step", "BackgroundToSource"] = null;
|
|
// else _Xp["Step", "BackgroundToSource"] = value.ToString();
|
|
// OnPropertyChanged("Step_BackgroundToSource");
|
|
// }
|
|
//}
|
|
//public string Step_SourceToDeviation
|
|
//{
|
|
// get
|
|
// {
|
|
// string s = _Xp["Step", "SourceToDeviation"];
|
|
// if (s == string.Empty) return null;
|
|
// return s;
|
|
// }
|
|
// set
|
|
// {
|
|
// string s = _Xp["Step", "SourceToDeviation"];
|
|
// if (value != null && value.ToString() == s) return;
|
|
// if (value == null && s != null) _Xp["Step", "SourceToDeviation"] = null;
|
|
// else _Xp["Step", "SourceToDeviation"] = value.ToString();
|
|
// OnPropertyChanged("Step_SourceToDeviation");
|
|
// }
|
|
//}
|
|
//public string Step_DeviationToSource
|
|
//{
|
|
// get
|
|
// {
|
|
// string s = _Xp["Step", "DeviationToSource"];
|
|
// if (s == string.Empty) return null;
|
|
// return s;
|
|
// }
|
|
// set
|
|
// {
|
|
// string s = _Xp["Step", "DeviationToSource"];
|
|
// if (value != null && value.ToString() == s) return;
|
|
// if (value == null && s != null) _Xp["Step", "DeviationToSource"] = null;
|
|
// else _Xp["Step", "DeviationToSource"] = value.ToString();
|
|
// OnPropertyChanged("Step_DeviationToSource");
|
|
// }
|
|
//}
|
|
#endregion
|
|
|
|
#region IItemConfig Members
|
|
|
|
[Category("Master/Slave Settings")]
|
|
[DisplayName("Applicability")]
|
|
[RefreshProperties(RefreshProperties.All)]
|
|
[Description("Scope Applicability")]
|
|
public Volian.Base.Library.BigNum MasterSlave_Applicability
|
|
{
|
|
get
|
|
{
|
|
string s = _Xp["MasterSlave", "Applicability"];
|
|
return new Volian.Base.Library.BigNum(s);
|
|
}
|
|
set
|
|
{
|
|
if (value != null)
|
|
_Xp["MasterSlave", "Applicability"] = value.FlagList;
|
|
else
|
|
_Xp["MasterSlave", "Applicability"] = null;
|
|
OnPropertyChanged("MasterSlave_Applicability");
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|