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.