private void AddNewBinding(IBindingTrigger trigger, IBindingAction action)
        {
            HeliosBinding binding = new HeliosBinding(trigger, action);

            if (action.ActionRequiresValue && (ConfigManager.ModuleManager.CanConvertUnit(trigger.Unit, action.Unit)))
            {
                binding.ValueSource = BindingValueSources.TriggerValue;
            }
            else
            {
                binding.ValueSource = BindingValueSources.StaticValue;
            }

            BindingAddUndoEvent undoEvent = new BindingAddUndoEvent(binding);

            undoEvent.Do();
            ConfigManager.UndoManager.AddUndoItem(undoEvent);
        }
Example #2
0
        private void AddNewBinding(IBindingTrigger trigger, IBindingAction action)
        {
            HeliosBinding binding = new HeliosBinding(trigger, action);

            if (action.ActionRequiresValue && (ConfigManager.ModuleManager.CanConvertUnit(trigger.Unit, action.Unit)))
            {
                binding.ValueSource = BindingValueSources.TriggerValue;
            }
            else
            {
                binding.ValueSource = BindingValueSources.StaticValue;
            }

            // default cascading triggers according to settings
            binding.BypassCascadingTriggers = !GlobalOptions.HasDefaultCascadeTriggers;

            // build and install specialized undo context to remove binding on undo
            BindingAddUndoEvent undoEvent = new BindingAddUndoEvent(binding);

            undoEvent.Do();
            ConfigManager.UndoManager.AddUndoItem(undoEvent);
        }