예제 #1
0
        public bool CanConvertUnit(BindingValueUnit from, BindingValueUnit to)
        {
            if (from.Equals(to))
            {
                return(true);
            }

            return(GetUnitConverter(from, to) != null);
        }
예제 #2
0
        public BindingValue ConvertUnit(BindingValue value, BindingValueUnit from, BindingValueUnit to)
        {
            BindingValueUnitConverter converter = GetUnitConverter(from, to);

            if (converter != null)
            {
                return(converter.Convert(value, from, to));
            }
            return(BindingValue.Empty);
        }
예제 #3
0
 public BindingValueUnitConverter GetUnitConverter(BindingValueUnit from, BindingValueUnit to)
 {
     foreach (BindingValueUnitConverter converter in _converters)
     {
         if (converter.CanConvert(from, to))
         {
             return(converter);
         }
     }
     return(null);
 }
예제 #4
0
        public HeliosValue(HeliosObject owner, BindingValue initialValue, string device, string name, string description, string valueDescription, BindingValueUnit unit)
        {
            _device = device;
            _name = name;
            _description = description;
            _valueDescription = valueDescription;
            _owner = new WeakReference(owner);
            _value = initialValue;
            _unit = unit;

            UpdateId();
        }
예제 #5
0
        public HeliosValue(HeliosObject owner, BindingValue initialValue, string device, string name, string description, string valueDescription, BindingValueUnit unit)
        {
            _device           = device;
            _name             = name;
            _description      = description;
            _valueDescription = valueDescription;
            _owner            = new WeakReference(owner);
            _value            = initialValue;
            _unit             = unit;

            UpdateId();
        }
예제 #6
0
        public HeliosTrigger(HeliosObject source, string device, string name, string verb, string description, string valueDescription, BindingValueUnit unit)
        {
            _device = device;
            _name = name;
            _verb = verb;
            _description = description;
            _source = new WeakReference(source);
            _valueDescription = valueDescription;
            _unit = unit;
            UpdateId();

            TriggerBindingDescription = "when" + (Device.Length > 0 ? " " + _device : "") + (_name.Length > 0 ? " " + _name + " on" : "") + " " + Source.Name +  " " + _verb;
        }
예제 #7
0
        public HeliosTrigger(HeliosObject source, string device, string name, string verb, string description, string valueDescription, BindingValueUnit unit)
        {
            _device           = device;
            _name             = name;
            _verb             = verb;
            _description      = description;
            _source           = new WeakReference(source);
            _valueDescription = valueDescription;
            _unit             = unit;
            UpdateId();

            TriggerBindingDescription = "when" + (Device.Length > 0 ? " " + _device : "") + (_name.Length > 0 ? " " + _name + " on" : "") + " " + Source.Name + " " + _verb;
        }
예제 #8
0
        public HeliosTrigger(HeliosObject source, string device, string name, string verb, string description,
                             string valueDescription, BindingValueUnit unit)
        {
            _device                 = device;
            _name                   = name;
            TriggerVerb             = verb;
            TriggerDescription      = description;
            _source                 = new WeakReference(source);
            TriggerValueDescription = valueDescription;
            Unit = unit;
            UpdateId();

            // NOTE: we do not subscribe to name changes on our target object, because we don't know when to unregister, as there is
            // no explicit cleanup of action objects
            RecalculateName();
        }
예제 #9
0
        public HeliosAction(HeliosObject target, string device, string name, string verb, string description, string valueDescription, BindingValueUnit unit)
        {
            _device           = device;
            _target           = new WeakReference(target);
            _name             = name;
            _verb             = verb;
            _description      = description;
            _valueDescription = valueDescription;
            _unit             = unit;

            UpdateId();

            ActionBindingDescription = _verb + (Device.Length > 0 ? " " + _device : "") + (_name.Length > 0 ? " " + _name + " on" : "") + " " + Target.Name + (ActionRequiresValue ? " to %value%" : "");
            if (ActionRequiresValue)
            {
                ActionInputBindingDescription = "to %value%";
            }
        }
예제 #10
0
        public HeliosAction(HeliosObject target, string device, string name, string verb, string description, string valueDescription, BindingValueUnit unit)
        {
            _device = device;
            _target = new WeakReference(target);
            _name = name;
            _verb = verb;
            _description = description;
            _valueDescription = valueDescription;
            _unit = unit;

            UpdateId();

            ActionBindingDescription = _verb + (Device.Length > 0 ? " " + _device : "") + (_name.Length > 0 ? " " + _name + " on" : "") + " " + Target.Name + ( ActionRequiresValue ? " to %value%" : "");
            if (ActionRequiresValue)
            {
                ActionInputBindingDescription = "to %value%";
            }
         }
예제 #11
0
        public HeliosAction(HeliosObject target, string device, string name, string verb, string description,
                            string valueDescription, BindingValueUnit unit)
        {
            _device                = device;
            _target                = new WeakReference(target);
            _name                  = name;
            ActionVerb             = verb;
            ActionDescription      = description;
            ActionValueDescription = valueDescription;
            Unit = unit;

            UpdateId();

            if (ActionRequiresValue)
            {
                ActionInputBindingDescription = "to %value%";
            }

            // NOTE: we do not subscribe to name changes on our target object, because we don't know when to unregister, as there is
            // no explicit cleanup of action objects
            RecalculateName();
        }
예제 #12
0
 public BindingValue ConvertUnit(BindingValue value, BindingValueUnit from, BindingValueUnit to)
 {
     BindingValueUnitConverter converter = GetUnitConverter(from, to);
     if (converter != null)
     {
         return converter.Convert(value, from, to);
     }
     return BindingValue.Empty;
 }
예제 #13
0
        public bool CanConvertUnit(BindingValueUnit from, BindingValueUnit to)
        {
            if (from.Equals(to)) return true;

            return (GetUnitConverter(from, to) != null);
        }
예제 #14
0
 public BindingValueUnitConverter GetUnitConverter(BindingValueUnit from, BindingValueUnit to)
 {
     foreach (BindingValueUnitConverter converter in _converters)
     {
         if (converter.CanConvert(from, to))
         {
             return converter;
         }
     }
     return null;
 }