Bug 410358 - use nsTArray in nsTreeBodyFrame. r+sr=neil, a=stuart

This commit is contained in:
dwitte%stanford.edu 2008-01-01 01:31:16 +00:00
Родитель aae4646d3a
Коммит 498dc4f671
2 изменённых файлов: 10 добавлений и 11 удалений

Просмотреть файл

@ -2660,7 +2660,7 @@ nsTreeBodyFrame::HandleEvent(nsPresContext* aPresContext,
PRInt32 parentIndex;
nsresult rv = mView->GetParentIndex(mSlots->mDropRow, &parentIndex);
while (NS_SUCCEEDED(rv) && parentIndex >= 0) {
mSlots->mValueArray.RemoveValue(parentIndex);
mSlots->mArray.RemoveElement(parentIndex);
rv = mView->GetParentIndex(parentIndex, &parentIndex);
}
@ -2689,7 +2689,7 @@ nsTreeBodyFrame::HandleEvent(nsPresContext* aPresContext,
mSlots->mTimer = nsnull;
}
if (mSlots->mValueArray.Count()) {
if (!mSlots->mArray.IsEmpty()) {
// Close all spring loaded folders except the drop folder.
CreateTimer(nsILookAndFeel::eMetric_TreeCloseDelay,
CloseCallback, nsITimer::TYPE_ONE_SHOT,
@ -4285,7 +4285,7 @@ nsTreeBodyFrame::OpenCallback(nsITimer *aTimer, void *aClosure)
self->mSlots->mTimer = nsnull;
if (self->mSlots->mDropRow >= 0) {
self->mSlots->mValueArray.AppendValue(self->mSlots->mDropRow);
self->mSlots->mArray.AppendElement(self->mSlots->mDropRow);
self->mView->ToggleOpenState(self->mSlots->mDropRow);
}
}
@ -4299,11 +4299,11 @@ nsTreeBodyFrame::CloseCallback(nsITimer *aTimer, void *aClosure)
aTimer->Cancel();
self->mSlots->mTimer = nsnull;
for (PRInt32 i = self->mSlots->mValueArray.Count() - 1; i >= 0; i--) {
for (PRUint32 i = self->mSlots->mArray.Length(); i--; ) {
if (self->mView)
self->mView->ToggleOpenState(self->mSlots->mValueArray[i]);
self->mSlots->mValueArray.RemoveValueAt(i);
self->mView->ToggleOpenState(self->mSlots->mArray[i]);
}
self->mSlots->mArray.Clear();
}
}

Просмотреть файл

@ -49,7 +49,7 @@
#include "nsITimer.h"
#include "nsIReflowCallback.h"
#include "nsILookAndFeel.h"
#include "nsValueArray.h"
#include "nsTArray.h"
#include "nsTreeStyleCache.h"
#include "nsTreeColumns.h"
#include "nsTreeImageListener.h"
@ -492,8 +492,7 @@ protected: // Data Members
class Slots {
public:
Slots()
: mValueArray(~PRInt32(0)) {
Slots() {
}
~Slots() {
@ -524,8 +523,8 @@ protected: // Data Members
// Timer for opening/closing spring loaded folders or scrolling the tree.
nsCOMPtr<nsITimer> mTimer;
// A value array used to keep track of all spring loaded folders.
nsValueArray mValueArray;
// An array used to keep track of all spring loaded folders.
nsTArray<PRInt32> mArray;
};
Slots* mSlots;