Isis 3 Programmer Reference
AbstractParentItem.h
1#ifndef AbstractParentItem_H
2#define AbstractParentItem_H
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include "AbstractTreeItem.h"
13
14
15template< typename T > class QList;
16class QVariant;
17
18
19namespace Isis {
20
34 class AbstractParentItem : public virtual AbstractTreeItem {
35 public:
37 virtual ~AbstractParentItem();
38
39 virtual AbstractTreeItem *childAt(int row) const;
40 virtual QList< AbstractTreeItem * > getChildren() const;
41 virtual AbstractTreeItem *getFirstVisibleChild() const;
42 virtual AbstractTreeItem *getLastVisibleChild() const;
43 virtual int indexOf(AbstractTreeItem *child) const;
44 virtual int childCount() const;
45 virtual void addChild(AbstractTreeItem *child);
46 virtual void setFirstVisibleChild(AbstractTreeItem *child);
47 virtual void setLastVisibleChild(AbstractTreeItem *child);
48
49
50 private: // disable copying of this class
52 const AbstractParentItem &operator=(const AbstractParentItem &);
53
54
55 private:
56 QList< AbstractTreeItem * > * m_children;
57 AbstractTreeItem *m_firstVisibleChild;
58 AbstractTreeItem *m_lastVisibleChild;
59 };
60}
61
62#endif
Base class for an item that is a parent in the tree.
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