Пример #1
0
		private bool IntersectWithCurrentRangesRecursive(RangeRegion rangeRegionToIntersect)
		{
			// check against each range
			foreach (Range range in m_ranges)
			{
				RangeRegion excludedResults = null;
				Range remove = Range.Empty;
				bool excluded = false;
				// loop through our new ranges
				foreach (Range rangeToIntersect in rangeRegionToIntersect)
				{
					// if we intersect with at least one range
					// get the exclusion range.
					// mark a flag, that we need to remove our 
					// range, and add an excluded range
					if (range.IntersectsWith(rangeToIntersect))
					{
						excludedResults = rangeToIntersect.Exclude(range);
						excluded = true;
						remove = rangeToIntersect;
						break;
					}
				}
				if (excluded)
				{
					rangeRegionToIntersect.Remove(remove);
					rangeRegionToIntersect.Add(excludedResults);
					return true;
				}
			}
			return false;
		}
Пример #2
0
 private bool IntersectWithCurrentRangesRecursive(RangeRegion rangeRegionToIntersect)
 {
     // check against each range
     foreach (Range range in m_ranges)
     {
         RangeRegion excludedResults = null;
         Range       remove          = Range.Empty;
         bool        excluded        = false;
         // loop through our new ranges
         foreach (Range rangeToIntersect in rangeRegionToIntersect)
         {
             // if we intersect with at least one range
             // get the exclusion range.
             // mark a flag, that we need to remove our
             // range, and add an excluded range
             if (range.IntersectsWith(rangeToIntersect))
             {
                 excludedResults = rangeToIntersect.Exclude(range);
                 excluded        = true;
                 remove          = rangeToIntersect;
                 break;
             }
         }
         if (excluded)
         {
             rangeRegionToIntersect.Remove(remove);
             rangeRegionToIntersect.Add(excludedResults);
             return(true);
         }
     }
     return(false);
 }
Пример #3
0
 public override void SelectRange(Range range, bool select)
 {
     if (select)
     {
         mRegion.Add(ValidateRange(range));
     }
     else
     {
         mRegion.Remove(range);
     }
 }
Пример #4
0
        public override void SelectRange(Range range, bool select)
        {
            Range newRange = Grid.RangeToCellRange(range);

            if (select)
            {
                mRegion.Add(ValidateRange(newRange));
            }
            else
            {
                mRegion.Remove(newRange);
            }
        }