VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
END
Attribute VB_Name = "RabbitCollection7B"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
' Guide to the Perplexed:
' Rabbit7 example
' Copyright (c) 1997 by Desaware Inc. All Rights Reserved

Option Explicit

Private m_Internal As RabbitCollection7

' All methods delegate to internal collection
Public Sub Add(Optional obj As clsRabbit7)
    m_Internal.Add obj
End Sub

Public Property Get Count() As Long
    Count = m_Internal.Count
End Property

Public Property Get Item(IndexKey As Long) As clsRabbit7
Attribute Item.VB_UserMemId = 0
    Set Item = m_Internal.Item(IndexKey)
End Property

Public Sub Remove(IndexKey As Long)
    m_Internal.Remove IndexKey
End Sub

Public Function Find(findobj As clsRabbit7)
    Find = m_Internal.Find(findobj)
End Function

Public Property Get NewEnum() As IUnknown
Attribute NewEnum.VB_UserMemId = -4
Attribute NewEnum.VB_MemberFlags = "40"
    Set NewEnum = m_Internal.NewEnum
End Property

Public Function GetWhiteRabbits() As Collection
    Set GetWhiteRabbits = m_Internal.GetWhiteRabbits
End Function

Private Sub Class_Initialize()
    Set m_Internal = New RabbitCollection7
End Sub

' On termination of this object, the contained
' object will be deleted properly
Private Sub Class_Terminate()
    Do While m_Internal.Count > 0
        m_Internal.Remove 1
    Loop
End Sub
