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); }
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); }