SourceGrid.RangeRegion.InternalRemove C# (CSharp) Method

InternalRemove() private method

Prende un range che è già stato filtrato con solo le celle presenti nell'attuale range
private InternalRemove ( RangeRegion pRange ) : bool
pRange RangeRegion
return bool
        private bool InternalRemove(RangeRegion pRange)
        {
            pRange = Intersect(pRange);
            if (pRange.IsEmpty())
                return true; //il range non è presente
            pRange.m_bValidated = true;

            RangeRegionCancelEventArgs e = new RangeRegionCancelEventArgs(pRange);
            OnRemovingRange(e); //calling this method the range can change
            if (e.Cancel)
                return false;

            if (pRange.m_bValidated == false)
            {
                pRange = Intersect(pRange);
                if (pRange.IsEmpty())
                    return true; //il range non è presente
            }

            m_RangeCollection = Exclude(pRange).m_RangeCollection;

            OnRemovedRange(e);

            m_bValidated = false;

            return true;
        }