Esempio n. 1
0
 void Insert(nsTreeRange* aRange) {
   if (mMin >= aRange->mMax)
     aRange->Connect(mPrev, this);
   else if (mNext)
     mNext->Insert(aRange);
   else 
     aRange->Connect(this, nsnull);
 };
Esempio n. 2
0
  PRBool Contains(PRInt32 aIndex) {
    if (aIndex >= mMin && aIndex <= mMax)
      return PR_TRUE;

    if (mNext)
      return mNext->Contains(aIndex);

    return PR_FALSE;
  }
  bool Contains(PRInt32 aIndex) {
    if (aIndex >= mMin && aIndex <= mMax)
      return true;

    if (mNext)
      return mNext->Contains(aIndex);

    return false;
  }
Esempio n. 4
0
  void RemoveAllBut(PRInt32 aIndex) {
    if (aIndex >= mMin && aIndex <= mMax) {

      // Invalidate everything in this list.
      mSelection->mFirstRange->Invalidate();

      mMin = aIndex;
      mMax = aIndex;
      
      nsTreeRange* first = mSelection->mFirstRange;
      if (mPrev)
        mPrev->mNext = mNext;
      if (mNext)
        mNext->mPrev = mPrev;
      mNext = mPrev = nsnull;
      
      if (first != this) {
        delete mSelection->mFirstRange;
        mSelection->mFirstRange = this;
      }
    }
    else if (mNext)
      mNext->RemoveAllBut(aIndex);
  }
Esempio n. 5
0
 void Invalidate() {
   if (mSelection->mTree)
     mSelection->mTree->InvalidateRange(mMin, mMax);
   if (mNext)
     mNext->Invalidate();
 }
Esempio n. 6
0
 PRInt32 Count() {
   PRInt32 total = mMax - mMin + 1;
   if (mNext)
     total += mNext->Count();
   return total;
 }
Esempio n. 7
0
 int32_t Count() {
   int32_t total = mMax - mMin + 1;
   if (mNext)
     total += mNext->Count();
   return total;
 }