public static IOSpecFilter CreateEmptyIOSpecFilter(ObservableCollection<IOSpecFilter> currentIoSpecFilters,
                                                    IEnumerable<KeyValuePair<string, string>> allAvailableTypes)
 {
     var newFilter = new IOSpecFilter();
     newFilter.RefreshCurrentlyAvailableFilterTypes(currentIoSpecFilters, allAvailableTypes);
     return newFilter;
 }
Esempio n. 2
0
        public static IOSpecFilter CreateEmptyIOSpecFilter(ObservableCollection <IOSpecFilter> currentIoSpecFilters,
                                                           IEnumerable <KeyValuePair <string, string> > allAvailableTypes)
        {
            var newFilter = new IOSpecFilter();

            newFilter.RefreshCurrentlyAvailableFilterTypes(currentIoSpecFilters, allAvailableTypes);
            return(newFilter);
        }
        /// <summary>
        /// The method removes the io spec filter from the list of current filters.
        /// </summary>
        /// <param name="param">The param.</param>
        private void RemoveIoSpecFilterFunc(object param)
        {
            IOSpecFilter iospecFilter = param as IOSpecFilter;

            if (iospecFilter != null)
            {
                m_ioSpecFilters.Remove(iospecFilter);
            }
        }
        /// <summary>
        /// Refreshes the list of currently available types for all filtering combo boxes.
        /// Does not refreshes the triggering filter - the filter that raised the refresh event.
        /// (otherwise it causes incorrect behavior as it tries to bind to collection, that just refreshed.)
        /// </summary>
        /// <param name="triggerFilter">The trigger filter.</param>
        private void RefreshFilterBoxesAvailableTypes(IOSpecFilter triggerFilter)
        {
            //get list of currently selected types
            List <KeyValuePair <string, string> > selectedTypes = new List <KeyValuePair <string, string> >();

            foreach (IOSpecFilter filter in IoSpecFilters)
            {
                selectedTypes.Add(filter.FilterByDataType);
            }
            //refresh the available types for all comboboxes
            foreach (IOSpecFilter filter in IoSpecFilters)
            {
                //refresh all filters except trigger filter
                if (filter.Equals(triggerFilter) == false)
                {
                    //update current available types - don't exlude the current filter selected type
                    filter.RefreshCurrentlyAvailableFilterTypes(IoSpecFilters, AvailableFilterTypes);
                }
            }
        }
        public static IOSpecFilter CreateIOSpecFilter(IOItemDefinition item,
                                              ObservableCollection<IOSpecFilter> currentIoSpecFilters,
                                              IEnumerable<KeyValuePair<string, string>> allAvailableTypes)
        {
            bool requiresOutput = false;
            bool requiresInput = false;
            
            if (item.IOType == TraceLabSDK.IOSpecType.Input)
            {
                requiresInput = true;
            }
            else if (item.IOType == TraceLabSDK.IOSpecType.Output)
            {
                requiresOutput = true;
            }

            var newFilter = new IOSpecFilter(item.Type, item.FriendlyType, requiresInput, requiresOutput);
            newFilter.RefreshCurrentlyAvailableFilterTypes(currentIoSpecFilters, allAvailableTypes);
            return newFilter;
        }
Esempio n. 6
0
        public static IOSpecFilter CreateIOSpecFilter(IOItemDefinition item,
                                                      ObservableCollection <IOSpecFilter> currentIoSpecFilters,
                                                      IEnumerable <KeyValuePair <string, string> > allAvailableTypes)
        {
            bool requiresOutput = false;
            bool requiresInput  = false;

            if (item.IOType == TraceLabSDK.IOSpecType.Input)
            {
                requiresInput = true;
            }
            else if (item.IOType == TraceLabSDK.IOSpecType.Output)
            {
                requiresOutput = true;
            }

            var newFilter = new IOSpecFilter(item.Type, item.FriendlyType, requiresInput, requiresOutput);

            newFilter.RefreshCurrentlyAvailableFilterTypes(currentIoSpecFilters, allAvailableTypes);
            return(newFilter);
        }
 /// <summary>
 /// Refreshes the list of currently available types for all filtering combo boxes. 
 /// Does not refreshes the triggering filter - the filter that raised the refresh event. 
 /// (otherwise it causes incorrect behavior as it tries to bind to collection, that just refreshed.)
 /// </summary>
 /// <param name="triggerFilter">The trigger filter.</param>
 private void RefreshFilterBoxesAvailableTypes(IOSpecFilter triggerFilter)
 {
     //get list of currently selected types
     List<KeyValuePair<string, string>> selectedTypes = new List<KeyValuePair<string, string>>();
     foreach (IOSpecFilter filter in IoSpecFilters)
     {
         selectedTypes.Add(filter.FilterByDataType);
     }
     //refresh the available types for all comboboxes
     foreach (IOSpecFilter filter in IoSpecFilters)
     {
         //refresh all filters except trigger filter
         if (filter.Equals(triggerFilter) == false)
         {
             //update current available types - don't exlude the current filter selected type
             filter.RefreshCurrentlyAvailableFilterTypes(IoSpecFilters, AvailableFilterTypes);
         }
     }
 }
 /// <summary>
 /// The method adds the empty io spec filter with currently available types.
 /// </summary>
 /// <param name="param">The param.</param>
 private void AddIoSpecFilterFunc(object param)
 {
     m_ioSpecFilters.Add(IOSpecFilter.CreateEmptyIOSpecFilter(IoSpecFilters, AvailableFilterTypes));
 }