public sStreamData(SequenceRow sequenceRow) { Name = sequenceRow.label; Address = sequenceRow.address; BitLength = sequenceRow.bitLength; Visible = sequenceRow.visible == 1; PrivateData = sequenceRow.privateData; Group = sequenceRow.group; IconType = IntToIconType(sequenceRow.iconType); }
/// <summary> /// Параметризованный конструктор /// </summary> /// <param name="sequenceRow">Импортируемые данные</param> public StreamSequence(SequenceRow sequenceRow) : this(new sStreamData(sequenceRow)) { for (int i = 0; i < sequenceRow.sequenceEvent.Length; i++) { SequenceEvent obj = sequenceRow.sequenceEvent[i]; if (i == 0) { Name = obj.dataString; continue; } ObjectSequence @object = (ObjectSequence)GetNewObject(eTypeObjectCollection._1D, i - 1); if (obj.isTable0D) { if (i > 1 && (this[eTypeObjectCollection._1D][i - 2].Type == eTypeObjectStream.TableShape || this[eTypeObjectCollection._1D][i - 2].Type == eTypeObjectStream.Continue)) { @object.Type = eTypeObjectStream.Continue; } else { @object.Type = eTypeObjectStream.TableShape; @object.TableName = obj.tableName0D; } } else if (obj.isTable1D) { @object.Type = eTypeObjectStream.Table; @object.TableName = obj.tableName1D; } else if (obj.isTable5D) { @object.Type = eTypeObjectStream.Table1D2D; @object.TableName = obj.tableName5D; } else if (obj.isAqustion) { @object.Type = eTypeObjectStream.Acquisition; @object.Acquisition = new AcquisitionObject(obj.sequenceAcquation, i); } else if (obj.fileAsynchronus != null && obj.dataString == "@AS") { @object.Type = eTypeObjectStream.AsynchronousStart; @object.Asynchronus = new AsynchronusObject(obj.fileAsynchronus); } else if (sequenceRow.defalut != obj.dataString) { @object.LoadText(obj.dataString); } ((ObjectCollection)this[eTypeObjectCollection._1D]).Add(@object); if (_collectionHash.Count == 1) { continue; } @object = (ObjectSequence)GetNewObject(eTypeObjectCollection._2D, i - 1); if (obj.isTable2D) { @object.Type = eTypeObjectStream.Table; @object.TableName = obj.tableName2D; } ((ObjectCollection)this[eTypeObjectCollection._2D]).Add(@object); @object = (ObjectSequence)GetNewObject(eTypeObjectCollection._3D, i - 1); if (obj.isTable3D) { @object.Type = eTypeObjectStream.Table; @object.TableName = obj.tableName3D; } ((ObjectCollection)this[eTypeObjectCollection._3D]).Add(@object); @object = (ObjectSequence)GetNewObject(eTypeObjectCollection._4D, i - 1); if (obj.isTable4D) { @object.Type = eTypeObjectStream.Table; @object.TableName = obj.tableName4D; } ((ObjectCollection)this[eTypeObjectCollection._4D]).Add(@object); } }