CommandTargetStatus ExecuteNext(ICommandTargetFilter filter, Guid group, int cmdId, object args, ref object result)
        {
            int index = IndexOf(filter);

            if (index < 0)
            {
                return(CommandTargetStatus.NotHandled);
            }
            return(Execute(index + 1, group, cmdId, args, ref result));
        }
        CommandTargetStatus CanExecuteNext(ICommandTargetFilter filter, Guid group, int cmdId)
        {
            int index = IndexOf(filter);

            if (index < 0)
            {
                return(CommandTargetStatus.NotHandled);
            }
            return(CanExecute(index + 1, group, cmdId));
        }
 int IndexOf(ICommandTargetFilter filter)
 {
     for (int i = 0; i < commandTargetInfos.Count; i++)
     {
         if (commandTargetInfos[i].Filter == filter)
         {
             return(i);
         }
     }
     return(-1);
 }
        public void RemoveFilter(ICommandTargetFilter filter)
        {
            if (filter == null)
            {
                throw new ArgumentNullException(nameof(filter));
            }
            int index = IndexOf(filter);

            if (index < 0)
            {
                return;
            }
            commandTargetInfos.RemoveAt(index);
        }
        public void AddFilter(ICommandTargetFilter filter, double order)
        {
            if (filter == null)
            {
                throw new ArgumentNullException(nameof(filter));
            }
            if (IndexOf(filter) >= 0)
            {
                throw new ArgumentException("Filter has already been added to the list");
            }
            int index = GetNewFilterIndex(order);

            commandTargetInfos.Insert(index, new CommandTargetFilterInfo(filter, order));
            filter.SetNextCommandTarget(new NextCommandTarget(this, filter));
        }
Esempio n. 6
0
 public NextCommandTarget(RegisteredCommandElement owner, ICommandTargetFilter filter)
 {
     ownerWeakRef  = new WeakReference(owner);
     filterWeakRef = new WeakReference(filter);
 }
Esempio n. 7
0
 public void RemoveFilter(ICommandTargetFilter filter) =>
 registeredCommandElement.RemoveFilter(filter);
Esempio n. 8
0
 public void AddFilter(ICommandTargetFilter filter, double order) =>
 registeredCommandElement.AddFilter(filter, order);
Esempio n. 9
0
 public CommandTargetFilterInfo(ICommandTargetFilter filter, double order)
 {
     Filter = filter;
     Order  = order;
 }
Esempio n. 10
0
 public void RemoveFilter(ICommandTargetFilter filter)
 {
 }
Esempio n. 11
0
 public void AddFilter(ICommandTargetFilter filter, double order)
 {
 }
		public void RemoveFilter(ICommandTargetFilter filter) { }
		public void AddFilter(ICommandTargetFilter filter, double order) { }