3 #include "AbstractParentItem.h"    11   AbstractParentItem::AbstractParentItem(AbstractTreeItem *parent) :
    12     AbstractTreeItem(parent) {
    14     m_firstVisibleChild = NULL;
    15     m_lastVisibleChild = NULL;
    20   AbstractParentItem::~AbstractParentItem() {
    22       for (
int i = 0; i < m_children->size(); i++) {
    23         delete(*m_children)[i];
    24         (*m_children)[i] = NULL;
    30     if (m_firstVisibleChild) {
    31       m_firstVisibleChild = NULL;
    34     if (m_lastVisibleChild) {
    35       m_lastVisibleChild = NULL;
    40   AbstractTreeItem *AbstractParentItem::childAt(
int row)
 const {
    42     ASSERT(row >= 0 && row < m_children->size());
    43     return m_children->value(row);
    53   AbstractTreeItem *AbstractParentItem::getFirstVisibleChild()
 const {
    54     return m_firstVisibleChild;
    58   AbstractTreeItem *AbstractParentItem::getLastVisibleChild()
 const {
    59     return m_lastVisibleChild;
    63   int AbstractParentItem::indexOf(AbstractTreeItem *child)
 const {
    66     return m_children->indexOf(child);
    70   int AbstractParentItem::childCount()
 const {
    72     return m_children->size();
    76   void AbstractParentItem::addChild(AbstractTreeItem *child) {
    79     ASSERT(!dynamic_cast< RootItem * >(child));
    93     m_children->append(child);
    94     child->setParent(
this);
   104   void AbstractParentItem::setFirstVisibleChild(AbstractTreeItem *child) {
   105     m_firstVisibleChild = child;
   109   void AbstractParentItem::setLastVisibleChild(AbstractTreeItem *child) {
   110     m_lastVisibleChild = child;
 
Namespace for ISIS/Bullet specific routines.