/// <summary> /// Adds a command binding to a control for a specific user /// </summary> public virtual void AddBinding( ICommandUser user, CommandInputBinding binding ) { ICommandInputBindingMonitor monitor = binding.CreateMonitor( m_MonitorFactory, user ); GetSafeMonitorList( user ).Add( monitor ); m_AllMonitors.Add( monitor ); if ( m_Started ) { monitor.Start( ); } }
/// <summary> /// Setup constructor /// </summary> /// <param name="binding">Input binding</param> /// <param name="user">Command user</param> public CommandBinaryInputBindingMonitor( CommandInputBinding binding, ICommandUser user ) : base(binding, user) { }
/// <summary> /// Creates a monitor for an unknown binding type /// </summary> /// <exception cref="ArgumentNullException">Thrown if binding or user are null</exception> /// <exception cref="NotSupportedException">Always thrown</exception> public virtual ICommandInputBindingMonitor CreateBindingMonitor( CommandInputBinding binding, ICommandUser user ) { Arguments.CheckNotNull( binding, "binding" ); Arguments.CheckNotNull( user, "user" ); throw new NotSupportedException( "Unsupported binding type " + binding.GetType( ) ); }
/// <summary> /// Setup constructor /// </summary> /// <param name="binding">Input binding</param> /// <param name="user">Command user</param> public CommandInputBindingMonitor( CommandInputBinding binding, ICommandUser user ) { m_Binding = binding; m_User = user; }