Пример #1
0
        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;
            }
        }
Пример #2
0
 public ClearObjectCommand(Document document, IStream stream, eTypeObjectCollection typeCollection, int index)
     : base(document)
 {
     _oldObject = stream[typeCollection][index];
     _newObject = stream.GetNewObject(typeCollection, index);
     _newObject.CorrectionSequence(this);
 }
Пример #3
0
        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;
                }
            }
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
        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;
            }
        }
Пример #6
0
 public IObjectCollection this[eTypeObjectCollection typeCollection]
 {
     get
     {
         ObjectCollection collection = null;
         _collectionHash.TryGetValue(typeCollection, out collection);
         return(collection);
     }
 }
Пример #7
0
 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));
     }
 }
Пример #8
0
 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));
     }
 }
Пример #9
0
 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);
     }
 }
Пример #10
0
        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;
            }
        }
Пример #11
0
        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;
            }
        }
Пример #12
0
        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;
                }
            }
        }
Пример #13
0
 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);
         }
     }
 }
Пример #14
0
        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;
            }
        }
Пример #15
0
        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;
            }
        }
Пример #16
0
 /// <summary>
 /// Параметризованный конструктор
 /// </summary>
 public ObjectCollection(IStream stream, eTypeObjectCollection typeCollection)
     : this()
 {
     Stream         = stream;
     TypeCollection = typeCollection;
 }
Пример #17
0
 public ET_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, eTypeObjectStream type, object data = null)
     : base(element, index, typeCollection)
 {
     Type = eTypeObjectStream.Default;
 }
Пример #18
0
 /// <summary>
 /// Добавляет колекции объектов последовательности в поток
 /// </summary>
 /// <param name="type">Тип колекции объектов</param>
 private void AddCollection(eTypeObjectCollection type)
 {
     _collectionHash.Add(type, new ObjectCollection(this, type));
 }
Пример #19
0
 /// <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;
 }
Пример #20
0
        /// <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);
        }
Пример #21
0
 /// <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 }));
 }
Пример #22
0
 /// <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 }));
 }
Пример #23
0
 /// <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 }));
 }
Пример #24
0
 public ET_ObjectSequence(IStream element, int index, eTypeObjectCollection typeCollection, string text)
     : base(element, index, typeCollection)
 {
     Value = new BooleanValue(true);
 }