private bool LoadSignalModel(SignalModel sm, XmlDocument tsfDocument )
{
bool loaded = false;
if (sm != null)
{
string tsfNameSpace = sm.SignalNameSpace;
string tsfName = sm.TSF.name;
string tsfUuid = sm.TSF.uuid;
_currentSignalModel = sm;
Signal modelSignal = new Signal();
modelSignal.name = tsfName;
XmlElement el = tsfDocument.CreateElement("tsf", tsfName, tsfNameSpace);
foreach (SignalAttribute attr in sm.Attributes)
el.Attributes.Append( tsfDocument.CreateAttribute( attr.Name ) );
modelSignal.Items = new[] { el };
Signal = modelSignal;
var items = new List<object>();
items.AddRange(modelSignal.Items);
signalPartsListControl.SignalItems = items;
/*
var modelSignal = sm.TSF.model.Item as Signal;
var modelStandard = sm.TSF.model.Item as TSFTypeModelStandard;
if (modelSignal != null)
{
modelSignal.type = tsfName;
var la = new List<XmlAttribute>( modelSignal.AnyAttr );
if (tsfDocument != null)
{
XmlAttribute xAttribute1 = tsfDocument.CreateAttribute("tsf-xmlns");
XmlAttribute xAttribute2 = tsfDocument.CreateAttribute("tsf-uuid");
XmlAttribute xAttribute3 = tsfDocument.CreateAttribute("tsf-name");
xAttribute1.Value = tsfNameSpace;
xAttribute2.Value = tsfUuid;
xAttribute3.Value = tsfName;
la.Add(xAttribute1);
la.Add(xAttribute2);
la.Add(xAttribute3);
}
modelSignal.AnyAttr = la.ToArray();
Signal = modelSignal;
var items = new List<object>();
items.AddRange(modelSignal.Items);
signalPartsListControl.SignalItems = items;
signalInterfaceListControl.Load( sm );
//dg.Rows.Clear();
//string uuid = sm.TSF.uuid;
//foreach (SignalAttribute attribute in sm.Attributes)
// dgInterfaceAttributes.Rows.Add(new object[] { attribute.Name, "" });
}
else if (modelStandard != null) //TODO: Figure out TSFTypeModelStandard
{
}
* */
loaded = true;
}
return loaded;
}