public SH_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, string text) : base(element, index, typeCollection) { string @string = text.Trim(); if (@string.StartsWith("=")) { @string = @string.Substring(1).Trim(); if (DoubleValue.IsCheck(@string)) { Value = new DoubleValue(@string); } else if (CheckedVariableName(ref @string)) { Variable = new SequenceVariable(@string, new DoubleValue(0), new DoubleValue(-100), new DoubleValue(100), null); } else { Type = eTypeObjectStream.Default; } } else if (DoubleValue.IsCheck(@string)) { Value = new DoubleValue(@string); } else if (CheckedTableName(ref @string)) { Table = new GradientWaveformTableSequence(this, @string); } else { Type = eTypeObjectStream.Default; } }
public ClearObjectCommand(Document document, IStream stream, eTypeObjectCollection typeCollection, int index) : base(document) { _oldObject = stream[typeCollection][index]; _newObject = stream.GetNewObject(typeCollection, index); _newObject.CorrectionSequence(this); }
public GA_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, string text) : base(element, index, typeCollection) { string @string = text.Trim(); if (typeCollection == eTypeObjectCollection._1D) { if (CheckedTableName(ref @string)) { Table = new RotationAngleTableSequence(this, @string); } else { Type = eTypeObjectStream.Default; } } else { if (CheckedTableName(ref @string)) { Table = new RotationAngleTableSequence(this, @string); } else { Type = eTypeObjectStream.Default; } } }
public O1_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, eTypeObjectStream type, object data = null) : base(element, index, typeCollection) { Type = type; if (typeCollection == eTypeObjectCollection._1D) { switch (Type) { case eTypeObjectStream.Table: case eTypeObjectStream.Table1D2D: Table = new FrequencyTableSequence(this); break; default: Type = eTypeObjectStream.Default; break; } } else if (Type == eTypeObjectStream.Table) { Table = new FrequencyTableSequence(this); } else { Type = eTypeObjectStream.Default; } }
public SH_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, eTypeObjectStream type, object data = null) : base(element, index, typeCollection) { Type = type; switch (Type) { case eTypeObjectStream.TableShape: if (data != null) { Table = (GradientWaveformTableSequence)data; } else { Table = new GradientWaveformTableSequence(this); } break; case eTypeObjectStream.Continue: break; default: Type = eTypeObjectStream.Default; break; } }
public IObjectCollection this[eTypeObjectCollection typeCollection] { get { ObjectCollection collection = null; _collectionHash.TryGetValue(typeCollection, out collection); return(collection); } }
public SetObjectCommand(Document document, IStream stream, eTypeObjectCollection typeCollection, int index, string text) : base(document) { _oldObject = stream[typeCollection][index]; _newObject = stream.GetObject(typeCollection, index, text); _newObject.CorrectionSequence(this); if (_newObject.Type != eTypeObjectStream.Default && typeCollection == eTypeObjectCollection._1D && stream.EventCount == index + 1) { Add(new InsertColumnCommand(document, index + 1)); } }
public SetObjectCommand(Document document, IStream element, eTypeObjectCollection typeCollection, int index, eTypeObjectStream typeObject, object data = null) : base(document) { _oldObject = element[typeCollection][index]; _newObject = element.GetObject(typeCollection, index, typeObject, data); _newObject.CorrectionSequence(this); if (_newObject.Type != eTypeObjectStream.Default && typeCollection == eTypeObjectCollection._1D && element.EventCount == index + 1) { Add(new InsertColumnCommand(document, index + 1)); } }
public Name_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, string text) : base(element, index, typeCollection) { if (string.IsNullOrWhiteSpace(text)) { Type = eTypeObjectStream.Default; } else { Value = new StringValue(text); } }
public ACQ_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, string text) : base(element, index, typeCollection) { string @string = text.Trim(); if (CheckedTableName(ref @string)) { Table = new AcquisitionTableSequence(this, @string); } else { Type = eTypeObjectStream.Default; } }
public PH_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, eTypeObjectStream type, object data = null) : base(element, index, typeCollection) { Type = type; if (typeCollection == eTypeObjectCollection._1D) { switch (Type) { case eTypeObjectStream.Table: case eTypeObjectStream.Table1D2D: Table = new PhaseTableSequence(this); break; case eTypeObjectStream.TableShape: if (data != null) { Table = (PhaseTableSequence)data; } else { Table = new PhaseTableSequence(this); } break; case eTypeObjectStream.Continue: break; case eTypeObjectStream.AsynchronousStart: Asynchronus = new AsynchronusObject((string)data); break; case eTypeObjectStream.AsynchronousStop: case eTypeObjectStream.Asynchronous: break; default: Type = eTypeObjectStream.Default; break; } } else if (Type == eTypeObjectStream.Table) { Table = new PhaseTableSequence(this); } else { Type = eTypeObjectStream.Default; } }
public O1_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, string text) : base(element, index, typeCollection) { string @string = text.Trim(); if (typeCollection == eTypeObjectCollection._1D) { if (@string.StartsWith("=")) { @string = @string.Substring(1).Trim(); if (FrequencyValue.IsCheck(@string)) { Value = new FrequencyValue(@string); } else if (CheckedVariableName(ref @string)) { Variable = new SequenceVariable(@string, new FrequencyValue(0)); } else { Type = eTypeObjectStream.Default; } } else if (FrequencyValue.IsCheck(@string)) { Value = new FrequencyValue(@string); } else if (CheckedTableName(ref @string)) { Table = new FrequencyTableSequence(this, @string); } else { Type = eTypeObjectStream.Default; } } else { if (CheckedTableName(ref @string)) { Table = new FrequencyTableSequence(this, @string); } else { Type = eTypeObjectStream.Default; } } }
public void SetCell(Cell cell, eTypeObjectCollection typeCollection, eTypeObjectStream typeObject) { if (typeObject == eTypeObjectStream.AsynchronousStart) { OpenFileDialog openFileDialog = new OpenFileDialog( ); openFileDialog.Filter = "Amos Sequence file (*.sequence)|*.sequence|Tecmag Sequence file (*.tps)|*.tps||"; if (openFileDialog.ShowDialog( ) == DialogResult.OK) { Program.Document.Run(new SetObjectCommand(Program.Document, cell.Stream, typeCollection, cell.IndexColumn, typeObject, openFileDialog.FileName)); } } else { try { Program.Document.Run(new SetObjectCommand(Program.Document, cell.Stream, typeCollection, cell.IndexColumn, typeObject)); if (cell.ObjectCollection.TypeCollection == typeCollection) { return; } Row row = _rowsList.Single(obj => obj.Stream == cell.Stream && obj.ObjectCollection.TypeCollection == typeCollection); int index = _rowsList.IndexOf(row); for (int i = index; i >= 0; i--) { if (!_rowsList[i].IsVisible) { index--; } } if (index < ActionPanel.IndexRow) { ActionPanel.IndexRow = index - 2 >= 0 ? index - 2 : 0; } else if (index > ActionPanel.IndexRow + ActionPanel.ShowRow) { ActionPanel.IndexRow = index - ActionPanel.ShowRow + 1; } Select(ActionPanel, row[cell.IndexColumn + 1]); } catch (Exception ex) { MessageBox.Show(ex.InnerException != null ? ex.InnerException.Message : ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
public RM_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, eTypeObjectStream type, object data = null) : base(element, index, typeCollection) { Type = type; if (typeCollection == eTypeObjectCollection._1D) { switch (Type) { case eTypeObjectStream.Table: case eTypeObjectStream.Table1D2D: Table = new ModulationTableSequence(this); break; case eTypeObjectStream.TableShape: if (data != null) { Table = (ModulationTableSequence)data; } else { Table = new ModulationTableSequence(this); } break; case eTypeObjectStream.Continue: break; default: Type = eTypeObjectStream.Default; break; } } else if (Type == eTypeObjectStream.Table) { Table = new ModulationTableSequence(this); } else { Type = eTypeObjectStream.Default; } }
public ACQ_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, eTypeObjectStream type, object data = null) : base(element, index, typeCollection) { Type = type; if (typeCollection == eTypeObjectCollection._1D) { switch (Type) { case eTypeObjectStream.Acquisition: if (data != null) { Acquisition = (AcquisitionObject)data; } else { Acquisition = new AcquisitionObject(this); } break; case eTypeObjectStream.Continue: break; case eTypeObjectStream.Table: Table = new AcquisitionTableSequence(this); break; default: Type = eTypeObjectStream.Default; break; } } else if (Type == eTypeObjectStream.Table) { Table = new AcquisitionTableSequence(this); } else { Type = eTypeObjectStream.Default; } }
/// <summary> /// Параметризованный конструктор /// </summary> public ObjectCollection(IStream stream, eTypeObjectCollection typeCollection) : this() { Stream = stream; TypeCollection = typeCollection; }
public ET_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, eTypeObjectStream type, object data = null) : base(element, index, typeCollection) { Type = eTypeObjectStream.Default; }
/// <summary> /// Добавляет колекции объектов последовательности в поток /// </summary> /// <param name="type">Тип колекции объектов</param> private void AddCollection(eTypeObjectCollection type) { _collectionHash.Add(type, new ObjectCollection(this, type)); }
/// <summary> /// Перегруженый конструктор класса /// </summary> /// <param name="element">Поток последовательности</param> /// <param name="indexEvent">Индекс колонки</param> /// <param name="typeCollection">Тип колекции</param> public ObjectStream(IStream element, int indexEvent, eTypeObjectCollection typeCollection) { Parent = element; IndexEvent = indexEvent; TypeCollection = typeCollection; }
/// <summary> /// Возвращает объект контекстного меню для объекта потока в активную панель /// </summary> /// <param name="panel">Активная панель</param> /// <param name="typeCollection">Тип коллекции объектов</param> /// <param name="indexEvent">Индекс события</param> public ContextMenuStrip GetContextMenu(ISequencePanel panel, eTypeObjectCollection typeCollection, int indexEvent) { ContextMenuStrip contextMenu = new ContextMenuStrip(); contextMenu.ImageScalingSize = new Size(22, 22); IObjectStream @object = this[typeCollection][indexEvent]; if (@object.IsEdit) { contextMenu.Items.Add("Edit...", editCellImage, panel.OnEdit); } if (@object.IsClear) { contextMenu.Items.Add("Clear", clearCellImage, panel.OnClear); } if (@object.IsSignal) { contextMenu.Items.Add("Signal", signalImage, panel.OnSignal); } if (@object.IsXY) { contextMenu.Items.Add("+X", plusXImage, panel.OnPlusX); contextMenu.Items.Add("+Y", plusYImage, panel.OnPlusY); contextMenu.Items.Add("-X", minusXImage, panel.OnMinusX); contextMenu.Items.Add("-Y", minusYImage, panel.OnMinusY); } if (@object.IsAsynchronousStart) { contextMenu.Items.Add("Asynchronous Start", asynchronousStartImage, panel.OnAsynchronousStart); } if (@object.IsAsynchronousStop) { contextMenu.Items.Add("Asynchronous Stop", asynchronousStopImage, panel.OnAsynchronousStop); } if (@object.IsLoopStart) { contextMenu.Items.Add("Loop Start", loopStartImage, panel.OnLoopStart); } if (@object.IsLoopEnd) { contextMenu.Items.Add("Loop End", loopEndImage, panel.OnLoopEnd); } if (@object.IsAcquisition) { contextMenu.Items.Add("Acquisition", acquisitionImage, panel.OnAcquisition); } if (@object.IsContinue) { contextMenu.Items.Add("Continue", continueImage, panel.OnContinue); } if (@object.IsTable1D2D) { contextMenu.Items.Add("1/2D Table", table1D2DImage, panel.OnTable1D2D); } if (@object.IsTable1D) { contextMenu.Items.Add("1D Table", table1DImage, panel.OnTable1D); } if (@object.IsTable2D) { contextMenu.Items.Add("2D Table", table1DImage, panel.OnTable2D); } if (@object.IsTable3D) { contextMenu.Items.Add("3D Table", table1DImage, panel.OnTable3D); } if (@object.IsTable4D) { contextMenu.Items.Add("4D Table", table1DImage, panel.OnTable4D); } if (@object.IsTableShape) { contextMenu.Items.Add("Shape Table", tableShapeImage, panel.OnTableShape); } if (@object.IsProterty) { contextMenu.Items.Add("-"); contextMenu.Items.Add("Properties", propertyImage, panel.OnProperty); } return(contextMenu); }
/// <summary> /// Возвращает объект для потока /// </summary> /// <param name="typeCollection">Тип коллекции объектов</param> /// <param name="indexEvent">Индекс события</param> /// <param name="type">Тип объекта</param> /// <param name="data">Дополнительные данные объекта</param> public IObjectStream GetObject(eTypeObjectCollection typeCollection, int indexEvent, eTypeObjectStream type, object data = null) { return((IObjectStream)Activator.CreateInstance(TypeObject, new object[] { this, indexEvent, typeCollection, type, data })); }
/// <summary> /// Возвращает объект для потока /// </summary> /// <param name="typeCollection">Тип коллекции объектов</param> /// <param name="indexEvent">Индекс события</param> /// <param name="text">Текст объекта</param> public IObjectStream GetObject(eTypeObjectCollection typeCollection, int indexEvent, string text) { return((IObjectStream)Activator.CreateInstance(TypeObject, new object[] { this, indexEvent, typeCollection, text })); }
/// <summary> /// Возвращает новый объект потока /// </summary> /// <param name="typeCollection">Тип коллекции объектов</param> /// <param name="indexEvent">Индекс события</param> public IObjectStream GetNewObject(eTypeObjectCollection typeCollection, int indexEvent) { return((IObjectStream)Activator.CreateInstance(TypeObject, new object[] { this, indexEvent, typeCollection, eTypeObjectStream.Default, null })); }
public ET_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, string text) : base(element, index, typeCollection) { Value = new BooleanValue(true); }