예제 #1
0
        private void LoadFavoriteValues(TestSequence testSequence, StreamReader reader)
        {
            FavoriteValuesGenerator generator = new FavoriteValuesGenerator(testSequence);
            string line;
            bool   done = false;

            do
            {
                line = reader.ReadLine().Trim();
                try
                {
                    done = reader.Peek() == -1 || line == "END";
                    if (!done && line.Length > 0)
                    {
                        testSequence.mFavoriteValuesDefs.Add(line);
                        string[] lineComponents = line.Split(new char[] { '|' });
                        if (lineComponents.GetUpperBound(0) != 4)
                        {
                            throw new ArgumentException("Invalid property definition for Favorite Value; line='" + line + "'");
                        }
                        generator.AddValue(lineComponents[0].Trim(), lineComponents[1].Trim(), lineComponents[2].Trim(), lineComponents[3].Trim(), lineComponents[4].Trim());
                    }
                }
                catch (ArgumentException e)
                {
                    testSequence.Window().logMessage("ERROR: problem loading favorite value.");
                    testSequence.Window().logMessage("ERROR: ...file='" + mFile + "'");
                    testSequence.Window().logMessage("ERROR: ...line='" + line + "'");
                    testSequence.Window().logMessage("ERROR: ...message='" + e.Message + "'");
                }
                catch (Exception e)
                {
                    testSequence.Window().logMessage("ERROR: exception loading favorite value.");
                    testSequence.Window().logMessage("ERROR: ...file='" + mFile + "'");
                    testSequence.Window().logMessage("ERROR: ...line='" + line + "'");
                    testSequence.Window().logMessage("ERROR: ...message='" + e.Message + "'");
                }
            }while (!done);
            generator.GenerateCode();
        }
 public FavoriteValuesGenerator(TestSequence seq)
 {
     mTestSequence            = seq;
     mSequenceNamed_sanitized = seq.Name.Replace(' ', '_');
     if (Char.IsDigit(mSequenceNamed_sanitized[0]))
     {
         mSequenceNamed_sanitized = 'z' + mSequenceNamed_sanitized;
     }
     // TODO: clean this up!
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('<', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('>', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('{', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('}', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('[', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace(']', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('|', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('\\', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('.', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace(',', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace(':', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace(';', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('?', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('\"', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('\'', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('`', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('~', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('!', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('@', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('#', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('$', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('%', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('^', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('&', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('*', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('(', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace(')', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('-', '_');
     mSequenceNamed_sanitized = mSequenceNamed_sanitized.Replace('+', '_');
 }
        public FindRadialLineDefinition(TestSequence testSequence)
            : base(testSequence)
        {
            mOuterSearchBounds      = new ToolCircleDecorationDefinition(testSequence, OwnerLink.newLink(this, "OuterSearchBounds"));
            mOuterSearchBounds.Name = "Outer bound";
            mOuterSearchBounds.AddDependency(this);

            mInnerSearchBounds      = new ToolCircleDecorationDefinition(testSequence, OwnerLink.newLink(this, "InnerSearchBounds"));
            mInnerSearchBounds.Name = "Inner bound";
            mInnerSearchBounds.AddDependency(this);

            SearchBoundsColor = Color.Yellow;

            mResultantAngle      = new GeneratedValueDefinition(testSequence, OwnerLink.newLink(this, "ResultantAngle"));
            mResultantAngle.Type = DataType.IntegerNumber;
            mResultantAngle.AddDependency(this);
            mResultantAngle.Name = "ResultantAngle";

            mResultantRay = new ValueBasedLineDecorationDefinition(testSequence, OwnerLink.newLink(this, "ResultantRay"));
            mResultantRay.AddDependency(mResultantAngle);
            mResultantRay.Name = "ResultantRay";
        }
예제 #4
0
        public FindBlobOfSizeAndColorDefinition(TestSequence testSequence)
            : base(testSequence)
        {
            mLeftBound      = new GeneratedValueDefinition(testSequence, OwnerLink.newLink(this, "LeftBound"));
            mLeftBound.Type = DataType.IntegerNumber;
            mLeftBound.AddDependency(this);
            mLeftBound.Name = "LeftBound";

            mRightBound      = new GeneratedValueDefinition(testSequence, OwnerLink.newLink(this, "RightBound"));
            mRightBound.Type = DataType.IntegerNumber;
            mRightBound.AddDependency(this);
            mRightBound.Name = "RightBound";

            mTopBound      = new GeneratedValueDefinition(testSequence, OwnerLink.newLink(this, "TopBound"));
            mTopBound.Type = DataType.IntegerNumber;
            mTopBound.AddDependency(this);
            mTopBound.Name = "TopBound";

            mBottomBound      = new GeneratedValueDefinition(testSequence, OwnerLink.newLink(this, "BottomBound"));
            mBottomBound.Type = DataType.IntegerNumber;
            mBottomBound.AddDependency(this);
            mBottomBound.Name = "BottomBound";
        }
예제 #5
0
        private void LoadImageFormSettings(TestSequence testSequence, StreamReader reader)
        {
            string line;
            bool   done = false;

            do
            {
                line = reader.ReadLine().Trim();
                try
                {
                    done = reader.Peek() == -1 || line == "END";
                    if (!done && line.Length > 0)
                    {
                        string[] mainSplitComponents = line.Split(new char[] { ':' });
                        if (mainSplitComponents.GetUpperBound(0) != 2)
                        {
                            throw new ArgumentException("Invalid image for definition; line='" + line + "'");
                        }
                        testSequence.mImageForms.Add(line);
                    }
                }
                catch (ArgumentException e)
                {
                    testSequence.Window().logMessage("ERROR: problem loading image form settings.");
                    testSequence.Window().logMessage("ERROR: ...file='" + mFile + "'");
                    testSequence.Window().logMessage("ERROR: ...line='" + line + "'");
                    testSequence.Window().logMessage("ERROR: ...message='" + e.Message + "'");
                }
                catch (Exception e)
                {
                    testSequence.Window().logMessage("ERROR: exception loading image form settings.");
                    testSequence.Window().logMessage("ERROR: ...file='" + mFile + "'");
                    testSequence.Window().logMessage("ERROR: ...line='" + line + "'");
                    testSequence.Window().logMessage("ERROR: ...message='" + e.Message + "'");
                }
            }while (!done);
        }
 public RectangleROIBaseDefinition(TestSequence testSequence)
     : base(testSequence)
 {
     Name = "Untitled Rectangle ROI";
     testSequence.RectangleROIRegistry.RegisterObject(this);
 }
예제 #7
0
 public PointDecorationDefinition(TestSequence testSequence)
     : base(testSequence)
 {
 }
예제 #8
0
 protected virtual IObjectDefinition LookupObject(TestSequence theTestSequence, string theObjectName)
 {
     return(theTestSequence.ObjectRegistry.GetObject(theObjectName));
 }
예제 #9
0
 public ValueBasedLineDecorationDefinition(TestSequence testSequence, OwnerLink ownerLink)
     : base(testSequence)
 {
     SetOwnerLink(ownerLink);
 }
 public RectangleROIByEdgesDefinition(TestSequence testSequence)
     : base(testSequence)
 {
 }
 protected override MathOperationDefinition CreateMathOperation(TestSequence testSequence, string calcDef_expanded, List <DataValueDefinition> valueObjects, List <string> operatorsUsed)
 {
     return(new MultiplicationOperationDefinition(testSequence, calcDef_expanded, valueObjects, operatorsUsed));
 }
예제 #12
0
 public CommonValueDefinition(TestSequence testSequence)
     : base(testSequence)
 {
 }
예제 #13
0
 public void HandleDisposedTestSequence(TestSequence seq)
 {
     // TODO: ensure the dtor of TestSequence loops through all of it's TreeNodes and does a node.TreeView.Nodes.Remove(node)
 }
예제 #14
0
 public UserCircleDecorationDefinition(TestSequence testSequence)
     : base(testSequence)
 {
 }
예제 #15
0
 public DecorationDefinition(TestSequence testSequence)
     : base(testSequence)
 {
     testSequence.DecorationRegistry.RegisterObject(this);
 }
예제 #16
0
 public PauseDefinition(TestSequence testSequence)
     : base(testSequence)
 {
 }
예제 #17
0
 protected override IObjectDefinition LookupObject(TestSequence theTestSequence, string theObjectName)
 {
     return(theTestSequence.RectangleROIRegistry.GetObject(theObjectName));
 }
예제 #18
0
 protected override string[] Options(TestSequence theTestSequence)
 {
     return(theTestSequence.RectangleROIRegistry.Options());
 }
 public GeneratedImageDefinition(TestSequence testSequence, OwnerLink ownerLink)
     : base(testSequence)
 {
     SetOwnerLink(ownerLink);
 }
예제 #20
0
 public ImageDisplayDef(TestSequence theTestSequence)
 {
     mTestSequence = theTestSequence;
 }
예제 #21
0
        public void HandleNewTestSequence(TestSequence seq)
        {
            TreeNode newNode = seq.GetNewTreeNode();

            treeView.Nodes.Add(newNode);
        }
 public ModbusFlagTriggerDefinition(TestSequence testSeqeuence)
     : base(testSeqeuence)
 {
 }
예제 #23
0
 public DataDefinition(TestSequence testSequence) : base(testSequence)
 {
 }
 public WriteValueToMach3Definition(TestSequence testSequence)
     : base(testSequence)
 {
 }
예제 #25
0
 public VideoGeneratorDefinition(TestSequence testSequence) : base(testSequence)
 {
 }
예제 #26
0
 public MultiplicationOperationDefinition(TestSequence testSequence, string calcDef, List <DataValueDefinition> valueObjects, List <string> operatorsUsed)
     : base(testSequence, calcDef, valueObjects, operatorsUsed)
 {
 }
예제 #27
0
 public CircleROIDefinition(TestSequence testSequence)
     : base(testSequence)
 {
     Name = "Untitled Cicle ROI";
 }
예제 #28
0
 protected virtual string[] Options(TestSequence theTestSequence)
 {
     return(theTestSequence.ObjectRegistry.Options());
 }
 public MinMaxFunctionDefinition(TestSequence testSequence, string calcDef, Function theFunc, List <DataValueDefinition> valueObjects)
     : base(testSequence, calcDef, valueObjects)
 {
     mFunction = theFunc;
 }
예제 #30
0
 public NotColorMatchDefinition(TestSequence testSequence)
     : base(testSequence)
 {
 }