예제 #1
0
        void m_MyStringProperty_OnPreflightSetProperty(SetPropertyEventArgs args)
        {
            SetStringPropertyEventArgs stringArgs = args as SetStringPropertyEventArgs;
            String message = String.Format("New value #{0}#", stringArgs.NewValue);

            m_MyCmDevice.AuditMessage(AuditLevel.Warning, message); // AuditLevel.Warning so that it shows up in Ready Check Results
        }
예제 #2
0
 /// <summary>
 /// Called when the string or percentage property is set by Chromeleon.
 /// Note that one handler can handle several properties as well.
 /// </summary>
 /// <param name="args">The SetPropertyEventArgs contain both a reference to
 /// the property being set and the new value.</param>
 private void OnSetProperty(SetPropertyEventArgs args)
 {
     // Find out which property was meant.
     if (args.Property == m_AnyTextProperty)
     {
         SetStringPropertyEventArgs stringArgs = args as SetStringPropertyEventArgs;
         m_MyString = stringArgs.NewValue;
         m_AnyTextProperty.Update(m_MyString);
     }
     else if (args.Property == m_PercentageProperty)
     {
         SetDoublePropertyEventArgs doubleArgs = args as SetDoublePropertyEventArgs;
         Debug.Assert(doubleArgs.NewValue.HasValue);
         m_Percentage = doubleArgs.NewValue.Value;
         m_PercentageProperty.Update(m_Percentage);
     }
     else if (args.Property == m_FilterTimeConstantProperty)
     {
         SetDoublePropertyEventArgs doubleArgs = args as SetDoublePropertyEventArgs;
         Debug.Assert(doubleArgs.NewValue.HasValue);
         m_FilterTimeConstantProperty.Update(doubleArgs.NewValue.Value);
     }
     else if (args.Property == m_MeasurementRangeProperty)
     {
         SetDoublePropertyEventArgs doubleArgs = args as SetDoublePropertyEventArgs;
         Debug.Assert(doubleArgs.NewValue.HasValue);
         m_MeasurementRangeProperty.Update(doubleArgs.NewValue.Value);
     }
     else
     {
         // This mustn't happen.
         Debug.Fail("Unknown property.");
     }
 }
예제 #3
0
        /// OnDebugCommand will be called when the DebugCommand property is set by CM.
        private void OnDebugCommand(SetPropertyEventArgs args)
        {
            Debug.Assert(args.Property == m_DebugCommand);
            SetStringPropertyEventArgs stringPropertyArgs = args as SetStringPropertyEventArgs;

            Driver.Comm.SendLine(stringPropertyArgs.NewValue);
            m_DebugCommand.Update(stringPropertyArgs.NewValue);
        }
예제 #4
0
        void m_MyStringProperty_OnSetProperty(SetPropertyEventArgs args)
        {
            SetStringPropertyEventArgs stringArgs = args as SetStringPropertyEventArgs;
            String newValue = stringArgs.NewValue;
            String message  = String.Format("New value #{0}#", stringArgs.NewValue);

            m_MyCmDevice.AuditMessage(AuditLevel.Normal, message);
            m_MyStringProperty.Update(stringArgs.NewValue);
            m_MyStringProperty.LogValue();
            message = String.Format("Internal value #{0}#", m_MyStringProperty.Value);
            m_MyCmDevice.AuditMessage(AuditLevel.Normal, message);
        }
예제 #5
0
        public static string GetString(SetPropertyEventArgs args)
        {
            if (args == null)
            {
                throw new ArgumentNullException("args");
            }
            SetStringPropertyEventArgs stringArgs = args as SetStringPropertyEventArgs;

            if (stringArgs == null)
            {
                throw new ArgumentException("Parameter args type " + args.GetType().FullName + " is not " + typeof(SetStringPropertyEventArgs));
            }
            return(stringArgs.NewValue);
        }