Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Isis 3 Programmer Reference
AbstractParentItem.cpp
1
6
7/* SPDX-License-Identifier: CC0-1.0 */
8
9#include "AbstractParentItem.h"
10
11#include <QList>
12
13#include "RootItem.h"
14
15
16namespace Isis {
17 AbstractParentItem::AbstractParentItem(AbstractTreeItem *parent) :
18 AbstractTreeItem(parent) {
19 m_children = NULL;
20 m_firstVisibleChild = NULL;
21 m_lastVisibleChild = NULL;
22 m_children = new QList< AbstractTreeItem * >;
23 }
24
25
26 AbstractParentItem::~AbstractParentItem() {
27 if (m_children) {
28 for (int i = 0; i < m_children->size(); i++) {
29 delete(*m_children)[i];
30 (*m_children)[i] = NULL;
31 }
32 delete m_children;
33 m_children = NULL;
34 }
35
36 if (m_firstVisibleChild) {
37 m_firstVisibleChild = NULL;
38 }
39
40 if (m_lastVisibleChild) {
41 m_lastVisibleChild = NULL;
42 }
43 }
44
45
46 AbstractTreeItem *AbstractParentItem::childAt(int row) const {
47 return m_children->value(row);
48 }
49
50
51 QList< AbstractTreeItem * > AbstractParentItem::getChildren() const {
52 return *m_children;
53 }
54
55
56 AbstractTreeItem *AbstractParentItem::getFirstVisibleChild() const {
57 return m_firstVisibleChild;
58 }
59
60
61 AbstractTreeItem *AbstractParentItem::getLastVisibleChild() const {
62 return m_lastVisibleChild;
63 }
64
65
66 int AbstractParentItem::indexOf(AbstractTreeItem *child) const {
67 return m_children->indexOf(child);
68 }
69
70
71 int AbstractParentItem::childCount() const {
72 return m_children->size();
73 }
74
75
76 void AbstractParentItem::addChild(AbstractTreeItem *child) {
77
78 // if (!m_firstVisibleChild && child->isVisible())
79 // {
80 // m_firstVisibleChild = child;
81 // m_lastVisibleChild = child;
82 // }
83 //
84 // AbstractTreeItem * childWithNewNext = NULL;
85 // if (m_lastVisibleChild && m_firstVisibleChild != child)
86 // {
87 // childWithNewNext = m_lastVisibleChild;
88 // }
89
90 m_children->append(child);
91 child->setParent(this);
92
93 // if (childWithNewNext && child->isVisible())
94 // {
95 // childWithNewNext->setNextVisiblePeer(child);
96 // m_lastVisibleChild = child;
97 // }
98 }
99
100
101 void AbstractParentItem::setFirstVisibleChild(AbstractTreeItem *child) {
102 m_firstVisibleChild = child;
103 }
104
105
106 void AbstractParentItem::setLastVisibleChild(AbstractTreeItem *child) {
107 m_lastVisibleChild = child;
108 }
109}
Base class for an item in the tree.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16